From def42f488f1ac05d4ac3984d525fb6a72ccde606 Mon Sep 17 00:00:00 2001 From: Ejaz Hussain Date: Sun, 1 Sep 2024 13:30:56 +0100 Subject: [PATCH] feat: react-employees-onboarding sample added --- .../react-employees-onboarding/.eslintrc.js | 352 ++++++++++++++++++ samples/react-employees-onboarding/.gitignore | 34 ++ samples/react-employees-onboarding/.npmignore | 16 + .../react-employees-onboarding/.yo-rc.json | 21 ++ samples/react-employees-onboarding/README.md | 229 ++++++++++++ .../O365C.FuncApp.Induction.sln | 25 ++ .../O365C.FuncApp.Induction/.gitignore | 264 +++++++++++++ .../Helpers/GraphAuthenticationManager.cs | 60 +++ .../Models/AzureFunctionSettings.cs | 14 + .../O365C.FuncApp.Induction/Models/LogInfo.cs | 21 ++ .../Models/RequestDetail.cs | 16 + .../Models/UserDetail.cs | 23 ++ .../O365C.FuncApp.Induction.csproj | 35 ++ .../O365C.FuncApp.Induction/Onborading.cs | 60 +++ .../O365C.FuncApp.Induction/Program.cs | 103 +++++ .../Properties/launchSettings.json | 9 + .../Properties/serviceDependencies.json | 11 + .../Properties/serviceDependencies.local.json | 11 + .../Services/GraphService.cs | 270 ++++++++++++++ .../Services/SharePointService.cs | 111 ++++++ .../Services/TokenService.cs | 40 ++ .../O365C.FuncApp.Induction/host.json | 12 + .../local.settings.json | 17 + .../assets/demo1.png | Bin 0 -> 53482 bytes .../assets/demo2.png | Bin 0 -> 80618 bytes .../assets/demo3.png | Bin 0 -> 107771 bytes .../assets/demo4.png | Bin 0 -> 96390 bytes .../config/config.json | 19 + .../config/deploy-azure-storage.json | 7 + .../config/package-solution.json | 38 ++ .../config/sass.json | 3 + .../config/serve.json | 6 + .../config/write-manifests.json | 4 + .../react-employees-onboarding/gulpfile.js | 22 ++ .../react-employees-onboarding/package.json | 55 +++ .../react-employees-onboarding/src/index.ts | 1 + .../src/stores/AppStore.ts | 0 .../src/types/Components.Types.ts | 14 + .../induction/InductionWebPart.manifest.json | 29 ++ .../webparts/induction/InductionWebPart.ts | 143 +++++++ .../induction/assets/welcome-dark.png | Bin 0 -> 12545 bytes .../induction/assets/welcome-light.png | Bin 0 -> 12816 bytes .../induction/components/Container.tsx | 62 +++ .../components/DropzoneComponent.tsx | 32 ++ .../induction/components/EmployeeTable.tsx | 54 +++ .../induction/components/IInductionProps.ts | 13 + .../components/Induction.module.scss | 34 ++ .../induction/components/Induction.tsx | 131 +++++++ .../components/OnboardingTimeline.tsx | 25 ++ .../webPartTitle/WebPartTitle.module.scss | 36 ++ .../components/webPartTitle/WebPartTitle.tsx | 62 +++ .../components/webPartTitle/index.ts | 1 + .../src/webparts/induction/loc/en-us.js | 17 + .../src/webparts/induction/loc/mystrings.d.ts | 20 + ...8bfb-d69a-48d5-9b09-97f2847c74b7_color.png | Bin 0 -> 10248 bytes ...fb-d69a-48d5-9b09-97f2847c74b7_outline.png | Bin 0 -> 249 bytes .../react-employees-onboarding/tsconfig.json | 35 ++ 57 files changed, 2617 insertions(+) create mode 100644 samples/react-employees-onboarding/.eslintrc.js create mode 100644 samples/react-employees-onboarding/.gitignore create mode 100644 samples/react-employees-onboarding/.npmignore create mode 100644 samples/react-employees-onboarding/.yo-rc.json create mode 100644 samples/react-employees-onboarding/README.md create mode 100644 samples/react-employees-onboarding/api/O365C.FuncApp.Induction/O365C.FuncApp.Induction.sln create mode 100644 samples/react-employees-onboarding/api/O365C.FuncApp.Induction/O365C.FuncApp.Induction/.gitignore create mode 100644 samples/react-employees-onboarding/api/O365C.FuncApp.Induction/O365C.FuncApp.Induction/Helpers/GraphAuthenticationManager.cs create mode 100644 samples/react-employees-onboarding/api/O365C.FuncApp.Induction/O365C.FuncApp.Induction/Models/AzureFunctionSettings.cs create mode 100644 samples/react-employees-onboarding/api/O365C.FuncApp.Induction/O365C.FuncApp.Induction/Models/LogInfo.cs create mode 100644 samples/react-employees-onboarding/api/O365C.FuncApp.Induction/O365C.FuncApp.Induction/Models/RequestDetail.cs create mode 100644 samples/react-employees-onboarding/api/O365C.FuncApp.Induction/O365C.FuncApp.Induction/Models/UserDetail.cs create mode 100644 samples/react-employees-onboarding/api/O365C.FuncApp.Induction/O365C.FuncApp.Induction/O365C.FuncApp.Induction.csproj create mode 100644 samples/react-employees-onboarding/api/O365C.FuncApp.Induction/O365C.FuncApp.Induction/Onborading.cs create mode 100644 samples/react-employees-onboarding/api/O365C.FuncApp.Induction/O365C.FuncApp.Induction/Program.cs create mode 100644 samples/react-employees-onboarding/api/O365C.FuncApp.Induction/O365C.FuncApp.Induction/Properties/launchSettings.json create mode 100644 samples/react-employees-onboarding/api/O365C.FuncApp.Induction/O365C.FuncApp.Induction/Properties/serviceDependencies.json create mode 100644 samples/react-employees-onboarding/api/O365C.FuncApp.Induction/O365C.FuncApp.Induction/Properties/serviceDependencies.local.json create mode 100644 samples/react-employees-onboarding/api/O365C.FuncApp.Induction/O365C.FuncApp.Induction/Services/GraphService.cs create mode 100644 samples/react-employees-onboarding/api/O365C.FuncApp.Induction/O365C.FuncApp.Induction/Services/SharePointService.cs create mode 100644 samples/react-employees-onboarding/api/O365C.FuncApp.Induction/O365C.FuncApp.Induction/Services/TokenService.cs create mode 100644 samples/react-employees-onboarding/api/O365C.FuncApp.Induction/O365C.FuncApp.Induction/host.json create mode 100644 samples/react-employees-onboarding/api/O365C.FuncApp.Induction/O365C.FuncApp.Induction/local.settings.json create mode 100644 samples/react-employees-onboarding/assets/demo1.png create mode 100644 samples/react-employees-onboarding/assets/demo2.png create mode 100644 samples/react-employees-onboarding/assets/demo3.png create mode 100644 samples/react-employees-onboarding/assets/demo4.png create mode 100644 samples/react-employees-onboarding/config/config.json create mode 100644 samples/react-employees-onboarding/config/deploy-azure-storage.json create mode 100644 samples/react-employees-onboarding/config/package-solution.json create mode 100644 samples/react-employees-onboarding/config/sass.json create mode 100644 samples/react-employees-onboarding/config/serve.json create mode 100644 samples/react-employees-onboarding/config/write-manifests.json create mode 100644 samples/react-employees-onboarding/gulpfile.js create mode 100644 samples/react-employees-onboarding/package.json create mode 100644 samples/react-employees-onboarding/src/index.ts create mode 100644 samples/react-employees-onboarding/src/stores/AppStore.ts create mode 100644 samples/react-employees-onboarding/src/types/Components.Types.ts create mode 100644 samples/react-employees-onboarding/src/webparts/induction/InductionWebPart.manifest.json create mode 100644 samples/react-employees-onboarding/src/webparts/induction/InductionWebPart.ts create mode 100644 samples/react-employees-onboarding/src/webparts/induction/assets/welcome-dark.png create mode 100644 samples/react-employees-onboarding/src/webparts/induction/assets/welcome-light.png create mode 100644 samples/react-employees-onboarding/src/webparts/induction/components/Container.tsx create mode 100644 samples/react-employees-onboarding/src/webparts/induction/components/DropzoneComponent.tsx create mode 100644 samples/react-employees-onboarding/src/webparts/induction/components/EmployeeTable.tsx create mode 100644 samples/react-employees-onboarding/src/webparts/induction/components/IInductionProps.ts create mode 100644 samples/react-employees-onboarding/src/webparts/induction/components/Induction.module.scss create mode 100644 samples/react-employees-onboarding/src/webparts/induction/components/Induction.tsx create mode 100644 samples/react-employees-onboarding/src/webparts/induction/components/OnboardingTimeline.tsx create mode 100644 samples/react-employees-onboarding/src/webparts/induction/components/webPartTitle/WebPartTitle.module.scss create mode 100644 samples/react-employees-onboarding/src/webparts/induction/components/webPartTitle/WebPartTitle.tsx create mode 100644 samples/react-employees-onboarding/src/webparts/induction/components/webPartTitle/index.ts create mode 100644 samples/react-employees-onboarding/src/webparts/induction/loc/en-us.js create mode 100644 samples/react-employees-onboarding/src/webparts/induction/loc/mystrings.d.ts create mode 100644 samples/react-employees-onboarding/teams/672a8bfb-d69a-48d5-9b09-97f2847c74b7_color.png create mode 100644 samples/react-employees-onboarding/teams/672a8bfb-d69a-48d5-9b09-97f2847c74b7_outline.png create mode 100644 samples/react-employees-onboarding/tsconfig.json diff --git a/samples/react-employees-onboarding/.eslintrc.js b/samples/react-employees-onboarding/.eslintrc.js new file mode 100644 index 000000000..473df80cd --- /dev/null +++ b/samples/react-employees-onboarding/.eslintrc.js @@ -0,0 +1,352 @@ +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/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 newline at end of file diff --git a/samples/react-employees-onboarding/.gitignore b/samples/react-employees-onboarding/.gitignore new file mode 100644 index 000000000..51ca7b9e7 --- /dev/null +++ b/samples/react-employees-onboarding/.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-employees-onboarding/.npmignore b/samples/react-employees-onboarding/.npmignore new file mode 100644 index 000000000..ae0b487c0 --- /dev/null +++ b/samples/react-employees-onboarding/.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-employees-onboarding/.yo-rc.json b/samples/react-employees-onboarding/.yo-rc.json new file mode 100644 index 000000000..aa6df29c5 --- /dev/null +++ b/samples/react-employees-onboarding/.yo-rc.json @@ -0,0 +1,21 @@ +{ + "@microsoft/generator-sharepoint": { + "plusBeta": false, + "isCreatingSolution": true, + "nodeVersion": "18.17.1", + "sdksVersions": { + "@microsoft/microsoft-graph-client": "3.0.2", + "@microsoft/teams-js": "2.12.0" + }, + "version": "1.19.0", + "libraryName": "on-boarding", + "libraryId": "2f1e9f0d-4c50-49fa-90c3-ed2a73555b89", + "environment": "spo", + "packageManager": "npm", + "solutionName": "OnBoarding", + "solutionShortDescription": "OnBoarding description", + "skipFeatureDeployment": true, + "isDomainIsolated": false, + "componentType": "webpart" + } +} diff --git a/samples/react-employees-onboarding/README.md b/samples/react-employees-onboarding/README.md new file mode 100644 index 000000000..8b61b7054 --- /dev/null +++ b/samples/react-employees-onboarding/README.md @@ -0,0 +1,229 @@ +# Employee Onboarding + +## Summary + +This project is an SPFx (SharePoint Framework) application designed for employee onboarding. It automates various tasks for each employee, such as updating their department, joining the team, and sending notification emails. The application utilizes the Microsoft Graph SDK's batch requests approach to efficiently manage these operations within a .NET-based Azure function. Additionally, the system logs information into a SharePoint list for auditing purposes. + +For more information on batch requests with Microsoft Graph SDK, refer to the [official documentation](https://learn.microsoft.com/en-us/graph/sdks/batch-requests?tabs=csharp). + + +## Demo + +* Users can import a CSV file containing user information. +![](./assets/demo1.png) + + +* List of users to be processed +![](./assets/demo2.png) + +* Completion of onboarding tasks +![](./assets/demo3.png) + +* Summary +![](./assets/demo4.png) + + +## Compatibility + +| :warning: Important | +|:---------------------------| +| Every SPFx version is optimally compatible with specific versions of Node.js. In order to be able to build this sample, you need to ensure that the version of Node on your workstation matches one of the versions listed in this section. This sample will not work on a different version of Node.| +|Refer to for more information on SPFx compatibility. | + +This sample is optimally compatible with the following environment configuration: + +![SPFx 1.19.0](https://img.shields.io/badge/SPFx-1.19.0-green.svg) +![Node.js v18](https://img.shields.io/badge/Node.js-v18-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) + +> Get your own free development tenant by subscribing to [Microsoft 365 developer program](http://aka.ms/o365devprogram) +> + ## Contributors + +- [Ejaz Hussain](https://github.com/ejazhussain) + +## Version history + +| Version | Date | Comments | +| ------- | --------------- | --------------- | +| 1.0 | September 01, 2024 | Initial release | + +## Prerequisites + +### NodeJS - v18.17.1 + +### Setting up backend + +### 1. Create and configure the Azure AD application + + +- Run the following command to Create an Azure AD app + +```PowerShell +$app = Register-PnPAzureADApp -ApplicationName "sp-graph-auth" -Tenant contoso.onmicrosoft.com -OutPath c:\temp -CertificatePassword (ConvertTo-SecureString -String "password" -AsPlainText -Force) -Store CurrentUser -Interactive +``` +- Keep note of the EncodedBased64String and thumbprint value of the certificate + +- Upload the generate certificate to Azure AD app + +- Generate a client secret and keep note of this value + +- Configured permissions as below + + +| API / Permissions name | Type | Description | +|-----------------------------------|--------------|----------------------------------------------------------| +| **Microsoft Graph (4)** | | | +| Mail.Send | Application | Send mail as any user | +| Sites.FullControl.All | Application | Have full control of all site collections | +| TeamMember.ReadWrite.All | Application | Add and remove members from all teams | +| User.ReadWrite.All | Application | Read and write all users' full profiles | +| **SharePoint (3)** | | | +| Sites.FullControl.All | Application | Have full control of all site collections | +| Sites.ReadWrite.All | Application | Read and write items in all site collections | + + +### 2. Deploy Azure function app + +1. Create an Azure function app. [Creating Azure Function App](https://learn.microsoft.com/en-us/azure/azure-functions/functions-create-function-app-portal?pivots=programming-language-csharp) +2. Navigate to `/api/O365C.FuncApp.Induction` folder +3. Run the following commands to publish the azure function app to azure + + +```ps +#publish the code + +dotnet publish -c Release +$publishFolder = "O365C.FuncApp.Induction/bin/Release/net8.0/publish" +``` + +```ps +# create the zip + +$publishZip = "publish.zip" +if(Test-path $publishZip) {Remove-item $publishZip} +Add-Type -assembly "system.io.compression.filesystem" +[io.compression.zipfile]::CreateFromDirectory($publishFolder, $publishZip) +``` + +```ps +# deploy the zipped package + +az functionapp deployment source config-zip ` + -g $resourceGroup -n $functionAppName --src $publishZip +``` +### 3. Configure an Azure function app + +1. **Open Function App:** Locate and select your Function App from the "Function Apps" section. +2. **Access Configuration:** Navigate to the "Configuration" section under "Settings". +3. **Add Application Settings:** Use the "+ New application setting" button to add new environment variables. + + +```JSON +[ + + { + "name": "Base64EncodedCert", + "value": "Certificate base64 encoded value", + }, + { + "name": "CertificateThumbprint", + "value": "Certificate thumbprint", + }, + { + "name": "ClientId", + "value": "xxxxxx-xxxxx-4b47-b143-db04e3b5586f", + }, + { + "name": "ClientSecret", + "value": "xxxxxx-xxxxx-4b47-b143-db04e3b5586f", + }, + { + "name": "TenantId", + "value": "xxxx-xxxxx-xxx-8304-0f0f2f840b5d", + }, + { + "name": "SiteUrl", + "value": "https://mytenant.sharepoint.com/sites/dev" + } + +] +``` + +5. **Save Changes:** After adding your variables, save the changes. +6. **Restart Function App:** Optionally, restart your Function App to ensure the new settings are applied. + +### 4. Get function app endpoint + +Retrieve the function URL for the `Onboarding` function from the previously deployed function app and save it for later use in the web part properties. + +### 5. Creating SharePoint list (Onboarding) + +Create the SharePoint list called `Onboarding` with the following columns + +| Column | Type | +|------------------------|--------------------| +| Title | Single line of text | +| Email | Single line of text | +| Department | Yes/No | +| Team Membership | Yes/No | +| Notification | Yes/No | +| Completed On | Date and Time | +| Processed On | Date and Time | + + +## 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** + - **npm run serve** + +- Add the web part to the page and configure the following properties + - Title + - Description + - ListUrl + - Azure Function Url + +## Features + + +1. **CSV Import**: + - Users can import a CSV file containing user information for onboarding. + - The application parses the CSV file and displays the list of users to be processed. + +2. **Automated Onboarding Tasks**: + - Updates the department information for each employee. + - Adds employees to the appropriate teams. + - Sends notification emails to the employees. + +3. **Batch Processing with Microsoft Graph SDK**: + - Utilizes the Microsoft Graph SDK's batch requests approach to efficiently manage multiple operations. + - Ensures efficient and scalable processing of onboarding tasks. + +4. **Azure Function Integration**: + - Offloads processing to a .NET-based Azure function for better performance and scalability. + - Logs information into a SharePoint list for auditing purposes. + +5. **Progress Tracking**: + - Displays the progress of onboarding tasks. + - Provides a summary of completed tasks. + diff --git a/samples/react-employees-onboarding/api/O365C.FuncApp.Induction/O365C.FuncApp.Induction.sln b/samples/react-employees-onboarding/api/O365C.FuncApp.Induction/O365C.FuncApp.Induction.sln new file mode 100644 index 000000000..4926ba80a --- /dev/null +++ b/samples/react-employees-onboarding/api/O365C.FuncApp.Induction/O365C.FuncApp.Induction.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.11.35222.181 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "O365C.FuncApp.Induction", "O365C.FuncApp.Induction\O365C.FuncApp.Induction.csproj", "{67E5EDBB-0B30-40AD-8F02-BFEF23604835}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {67E5EDBB-0B30-40AD-8F02-BFEF23604835}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {67E5EDBB-0B30-40AD-8F02-BFEF23604835}.Debug|Any CPU.Build.0 = Debug|Any CPU + {67E5EDBB-0B30-40AD-8F02-BFEF23604835}.Release|Any CPU.ActiveCfg = Release|Any CPU + {67E5EDBB-0B30-40AD-8F02-BFEF23604835}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {3EBE7D36-76DF-4F13-8EE9-595DBB9DF115} + EndGlobalSection +EndGlobal diff --git a/samples/react-employees-onboarding/api/O365C.FuncApp.Induction/O365C.FuncApp.Induction/.gitignore b/samples/react-employees-onboarding/api/O365C.FuncApp.Induction/O365C.FuncApp.Induction/.gitignore new file mode 100644 index 000000000..fea9bfe33 --- /dev/null +++ b/samples/react-employees-onboarding/api/O365C.FuncApp.Induction/O365C.FuncApp.Induction/.gitignore @@ -0,0 +1,264 @@ +## Ignore Visual Studio temporary files, build results, and +## files generated by popular Visual Studio add-ons. + +# Azure Functions localsettings file +#local.settings.json + +# User-specific files +*.suo +*.user +*.userosscache +*.sln.docstates + +# User-specific files (MonoDevelop/Xamarin Studio) +*.userprefs + +# Build results +[Dd]ebug/ +[Dd]ebugPublic/ +[Rr]elease/ +[Rr]eleases/ +x64/ +x86/ +bld/ +[Bb]in/ +[Oo]bj/ +[Ll]og/ + +# Visual Studio 2015 cache/options directory +.vs/ +# Uncomment if you have tasks that create the project's static files in wwwroot +#wwwroot/ + +# MSTest test Results +[Tt]est[Rr]esult*/ +[Bb]uild[Ll]og.* + +# NUNIT +*.VisualState.xml +TestResult.xml + +# Build Results of an ATL Project +[Dd]ebugPS/ +[Rr]eleasePS/ +dlldata.c + +# DNX +project.lock.json +project.fragment.lock.json +artifacts/ + +*_i.c +*_p.c +*_i.h +*.ilk +*.meta +*.obj +*.pch +*.pdb +*.pgc +*.pgd +*.rsp +*.sbr +*.tlb +*.tli +*.tlh +*.tmp +*.tmp_proj +*.log +*.vspscc +*.vssscc +.builds +*.pidb +*.svclog +*.scc + +# Chutzpah Test files +_Chutzpah* + +# Visual C++ cache files +ipch/ +*.aps +*.ncb +*.opendb +*.opensdf +*.sdf +*.cachefile +*.VC.db +*.VC.VC.opendb + +# Visual Studio profiler +*.psess +*.vsp +*.vspx +*.sap + +# TFS 2012 Local Workspace +$tf/ + +# Guidance Automation Toolkit +*.gpState + +# ReSharper is a .NET coding add-in +_ReSharper*/ +*.[Rr]e[Ss]harper +*.DotSettings.user + +# JustCode is a .NET coding add-in +.JustCode + +# TeamCity is a build add-in +_TeamCity* + +# DotCover is a Code Coverage Tool +*.dotCover + +# NCrunch +_NCrunch_* +.*crunch*.local.xml +nCrunchTemp_* + +# MightyMoose +*.mm.* +AutoTest.Net/ + +# Web workbench (sass) +.sass-cache/ + +# Installshield output folder +[Ee]xpress/ + +# DocProject is a documentation generator add-in +DocProject/buildhelp/ +DocProject/Help/*.HxT +DocProject/Help/*.HxC +DocProject/Help/*.hhc +DocProject/Help/*.hhk +DocProject/Help/*.hhp +DocProject/Help/Html2 +DocProject/Help/html + +# Click-Once directory +publish/ + +# Publish Web Output +*.[Pp]ublish.xml +*.azurePubxml +# TODO: Comment the next line if you want to checkin your web deploy settings +# but database connection strings (with potential passwords) will be unencrypted +#*.pubxml +*.publishproj + +# Microsoft Azure Web App publish settings. Comment the next line if you want to +# checkin your Azure Web App publish settings, but sensitive information contained +# in these scripts will be unencrypted +PublishScripts/ + +# NuGet Packages +*.nupkg +# The packages folder can be ignored because of Package Restore +**/packages/* +# except build/, which is used as an MSBuild target. +!**/packages/build/ +# Uncomment if necessary however generally it will be regenerated when needed +#!**/packages/repositories.config +# NuGet v3's project.json files produces more ignoreable files +*.nuget.props +*.nuget.targets + +# Microsoft Azure Build Output +csx/ +*.build.csdef + +# Microsoft Azure Emulator +ecf/ +rcf/ + +# Windows Store app package directories and files +AppPackages/ +BundleArtifacts/ +Package.StoreAssociation.xml +_pkginfo.txt + +# Visual Studio cache files +# files ending in .cache can be ignored +*.[Cc]ache +# but keep track of directories ending in .cache +!*.[Cc]ache/ + +# Others +ClientBin/ +~$* +*~ +*.dbmdl +*.dbproj.schemaview +*.jfm +*.pfx +*.publishsettings +node_modules/ +orleans.codegen.cs + +# Since there are multiple workflows, uncomment next line to ignore bower_components +# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) +#bower_components/ + +# RIA/Silverlight projects +Generated_Code/ + +# Backup & report files from converting an old project file +# to a newer Visual Studio version. Backup files are not needed, +# because we have git ;-) +_UpgradeReport_Files/ +Backup*/ +UpgradeLog*.XML +UpgradeLog*.htm + +# SQL Server files +*.mdf +*.ldf + +# Business Intelligence projects +*.rdl.data +*.bim.layout +*.bim_*.settings + +# Microsoft Fakes +FakesAssemblies/ + +# GhostDoc plugin setting file +*.GhostDoc.xml + +# Node.js Tools for Visual Studio +.ntvs_analysis.dat + +# Visual Studio 6 build log +*.plg + +# Visual Studio 6 workspace options file +*.opt + +# Visual Studio LightSwitch build output +**/*.HTMLClient/GeneratedArtifacts +**/*.DesktopClient/GeneratedArtifacts +**/*.DesktopClient/ModelManifest.xml +**/*.Server/GeneratedArtifacts +**/*.Server/ModelManifest.xml +_Pvt_Extensions + +# Paket dependency manager +.paket/paket.exe +paket-files/ + +# FAKE - F# Make +.fake/ + +# JetBrains Rider +.idea/ +*.sln.iml + +# CodeRush +.cr/ + +# Python Tools for Visual Studio (PTVS) +__pycache__/ +*.pyc \ No newline at end of file diff --git a/samples/react-employees-onboarding/api/O365C.FuncApp.Induction/O365C.FuncApp.Induction/Helpers/GraphAuthenticationManager.cs b/samples/react-employees-onboarding/api/O365C.FuncApp.Induction/O365C.FuncApp.Induction/Helpers/GraphAuthenticationManager.cs new file mode 100644 index 000000000..bd0d8831d --- /dev/null +++ b/samples/react-employees-onboarding/api/O365C.FuncApp.Induction/O365C.FuncApp.Induction/Helpers/GraphAuthenticationManager.cs @@ -0,0 +1,60 @@ +using Azure.Identity; +using Microsoft.Graph; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace O365C.FuncApp.Induction.Helpers +{ + public class GraphAuthenticationManager + { + private static GraphServiceClient? _appGraphClient; + + public static GraphServiceClient GetAuthenticatedGraphClient(AzureFunctionSettings config) + { + + try + { + if (_appGraphClient == null) + { + // The client credentials flow requires that you request the + // /.default scope, and pre-configure your permissions on the + // app registration in Azure. An administrator must grant consent + // to those permissions beforehand. + var scopes = new[] { "https://graph.microsoft.com/.default" }; + + // Values from app registration + var clientId = config.ClientId; + var tenantId = config.TenantId; + var clientSecret = config.ClientSecret; + + // using Azure.Identity; + var options = new ClientSecretCredentialOptions + { + AuthorityHost = AzureAuthorityHosts.AzurePublicCloud, + }; + + // https://learn.microsoft.com/dotnet/api/azure.identity.clientsecretcredential + var clientSecretCredential = new ClientSecretCredential( + tenantId, clientId, clientSecret, options); + + _appGraphClient = new GraphServiceClient(clientSecretCredential); + return _appGraphClient; + } + else + { + return _appGraphClient; + } + + } + catch (Exception) + { + + throw; + } + + } + } +} diff --git a/samples/react-employees-onboarding/api/O365C.FuncApp.Induction/O365C.FuncApp.Induction/Models/AzureFunctionSettings.cs b/samples/react-employees-onboarding/api/O365C.FuncApp.Induction/O365C.FuncApp.Induction/Models/AzureFunctionSettings.cs new file mode 100644 index 000000000..a58afbb01 --- /dev/null +++ b/samples/react-employees-onboarding/api/O365C.FuncApp.Induction/O365C.FuncApp.Induction/Models/AzureFunctionSettings.cs @@ -0,0 +1,14 @@ +using System.Security.Cryptography.X509Certificates; + +namespace O365C.FuncApp.Induction +{ + public class AzureFunctionSettings + { + public string TenantId { get; set; } + public string ClientId { get; set; } + public string ClientSecret { get; set; } + public string SiteUrl { get; set; } + public string Base64EncodedCert { get; set; } + public string CertificateThumbprint { get; set; } + } +} diff --git a/samples/react-employees-onboarding/api/O365C.FuncApp.Induction/O365C.FuncApp.Induction/Models/LogInfo.cs b/samples/react-employees-onboarding/api/O365C.FuncApp.Induction/O365C.FuncApp.Induction/Models/LogInfo.cs new file mode 100644 index 000000000..63fa3c693 --- /dev/null +++ b/samples/react-employees-onboarding/api/O365C.FuncApp.Induction/O365C.FuncApp.Induction/Models/LogInfo.cs @@ -0,0 +1,21 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace O365C.FuncApp.Induction.Models +{ + public class LogInfo + { + public string Name { get; set; } = string.Empty; + public string Email { get; set; } + public bool Department { get; set; } + public bool TeamMembership { get; set; } + public bool Notification { get; set; } + public DateTime ProcessedOn { get; set; } + public DateTime CompletedOn { get; set; } + + + } +} diff --git a/samples/react-employees-onboarding/api/O365C.FuncApp.Induction/O365C.FuncApp.Induction/Models/RequestDetail.cs b/samples/react-employees-onboarding/api/O365C.FuncApp.Induction/O365C.FuncApp.Induction/Models/RequestDetail.cs new file mode 100644 index 000000000..35fabff85 --- /dev/null +++ b/samples/react-employees-onboarding/api/O365C.FuncApp.Induction/O365C.FuncApp.Induction/Models/RequestDetail.cs @@ -0,0 +1,16 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace O365C.FuncApp.Induction.Models +{ + public class RequestDetail + { + public string Name { get; set; } + public string Email { get; set; } + public string Department { get; set; } + } + +} diff --git a/samples/react-employees-onboarding/api/O365C.FuncApp.Induction/O365C.FuncApp.Induction/Models/UserDetail.cs b/samples/react-employees-onboarding/api/O365C.FuncApp.Induction/O365C.FuncApp.Induction/Models/UserDetail.cs new file mode 100644 index 000000000..094c80917 --- /dev/null +++ b/samples/react-employees-onboarding/api/O365C.FuncApp.Induction/O365C.FuncApp.Induction/Models/UserDetail.cs @@ -0,0 +1,23 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace O365C.FuncApp.OnBoarding.Models +{ + public class UserDetail + { + public string Id { get; set; } + public string DisplayName { get; set; } + public string GivenName { get; set; } + public string Surname { get; set; } + public string UserPrincipalName { get; set; } + public string JobTitle { get; set; } + public string Department { get; set; } + public string MobilePhone { get; set; } + public string OfficeLocation { get; set; } + public string Mail { get; set; } + + } +} diff --git a/samples/react-employees-onboarding/api/O365C.FuncApp.Induction/O365C.FuncApp.Induction/O365C.FuncApp.Induction.csproj b/samples/react-employees-onboarding/api/O365C.FuncApp.Induction/O365C.FuncApp.Induction/O365C.FuncApp.Induction.csproj new file mode 100644 index 000000000..e6024472a --- /dev/null +++ b/samples/react-employees-onboarding/api/O365C.FuncApp.Induction/O365C.FuncApp.Induction/O365C.FuncApp.Induction.csproj @@ -0,0 +1,35 @@ + + + net8.0 + v4 + Exe + enable + enable + + + + + + + + + + + + + + + + + + PreserveNewest + + + Always + Never + + + + + + \ No newline at end of file diff --git a/samples/react-employees-onboarding/api/O365C.FuncApp.Induction/O365C.FuncApp.Induction/Onborading.cs b/samples/react-employees-onboarding/api/O365C.FuncApp.Induction/O365C.FuncApp.Induction/Onborading.cs new file mode 100644 index 000000000..f262726a6 --- /dev/null +++ b/samples/react-employees-onboarding/api/O365C.FuncApp.Induction/O365C.FuncApp.Induction/Onborading.cs @@ -0,0 +1,60 @@ +using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Mvc; +using Microsoft.Azure.Functions.Worker; +using Microsoft.Extensions.Logging; +using Newtonsoft.Json; +using O365C.FuncApp.Induction.Models; +using O365C.FuncApp.Induction.Services; +using O365C.FuncApp.OnBoarding.Models; + +namespace O365C.FuncApp.Induction +{ + public class Onborading + { + private readonly ILogger _logger; + private readonly AzureFunctionSettings _azureFunctionSettings; + private readonly ISharePointService _sharePointService; + private readonly IGraphService _graphService; + + public Onborading(ILogger logger, AzureFunctionSettings azureFunctionSettings, ISharePointService sharePointService, IGraphService graphService) + { + _logger = logger; + _azureFunctionSettings = azureFunctionSettings; + _sharePointService = sharePointService; + _graphService = graphService; + } + + [Function("Onborading")] + public async Task RunAsync([HttpTrigger(AuthorizationLevel.Anonymous, "get", "post")] HttpRequest req) + { + _logger.LogInformation("C# HTTP trigger function processed a request."); + + string requestBody = await new StreamReader(req.Body).ReadToEndAsync(); + if (string.IsNullOrEmpty(requestBody)) + { + return new BadRequestObjectResult("Please pass a valid request body"); + } + try + { + List requestDetail = JsonConvert.DeserializeObject>(requestBody); + if(requestDetail == null) + { + return new BadRequestObjectResult("Invalid JSON in request body"); + } + var result = await _graphService.UserOnboarding(requestDetail); + return new OkObjectResult(result); + } + catch (JsonReaderException) + { + return new BadRequestObjectResult("Invalid JSON in request body"); + } + catch (Exception ex) + { + // Log the exception here + return new StatusCodeResult(StatusCodes.Status500InternalServerError); + } + + //return new OkObjectResult("Welcome to Azure Functions!"); + } + } +} diff --git a/samples/react-employees-onboarding/api/O365C.FuncApp.Induction/O365C.FuncApp.Induction/Program.cs b/samples/react-employees-onboarding/api/O365C.FuncApp.Induction/O365C.FuncApp.Induction/Program.cs new file mode 100644 index 000000000..44a3ff296 --- /dev/null +++ b/samples/react-employees-onboarding/api/O365C.FuncApp.Induction/O365C.FuncApp.Induction/Program.cs @@ -0,0 +1,103 @@ +using Microsoft.Azure.Functions.Worker; +using Microsoft.Extensions.Configuration; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Hosting; +using O365C.FuncApp.Induction; +using O365C.FuncApp.Induction.Services; +using PnP.Core.Auth.Services.Builder.Configuration; +using PnP.Core.Services.Builder.Configuration; +using System.Security.Cryptography.X509Certificates; + + +AzureFunctionSettings azureFunctionSettings = null; + +var host = new HostBuilder() + .ConfigureFunctionsWebApplication() + .ConfigureServices((context, services) => + { + services.AddApplicationInsightsTelemetryWorkerService(); + services.ConfigureFunctionsApplicationInsights(); + + // Add our global configuration instance + services.AddSingleton(options => + { + var configuration = context.Configuration; + azureFunctionSettings = new AzureFunctionSettings(); + configuration.Bind(azureFunctionSettings); + return configuration; + }); + + // Add our configuration class + services.AddSingleton(options => { return azureFunctionSettings; }); + + + // Add and configure PnP Core SDK + services.AddPnPCore(options => + { + // Add the base site url + options.Sites.Add("Default", new PnPCoreSiteOptions + { + SiteUrl = azureFunctionSettings.SiteUrl + }); + }); + services.AddPnPCoreAuthentication(options => + { + // Load the certificate to use + X509Certificate2 cert = LoadCertificate(azureFunctionSettings); + + // Configure certificate based auth + options.Credentials.Configurations.Add("CertAuth", new PnPCoreAuthenticationCredentialConfigurationOptions + { + ClientId = azureFunctionSettings.ClientId, + TenantId = azureFunctionSettings.TenantId, + X509Certificate = new PnPCoreAuthenticationX509CertificateOptions + { + Certificate = cert, + } + }); + + // Connect this auth method to the configured site + options.Sites.Add("Default", new PnPCoreAuthenticationSiteOptions + { + AuthenticationProviderName = "CertAuth", + }); + + options.Credentials.DefaultConfiguration = "CertAuth"; + }); + + // Add services + services.AddSingleton(); + services.AddSingleton(); + services.AddSingleton(); + + }) + .Build(); + +host.Run(); + +X509Certificate2 LoadCertificate(AzureFunctionSettings? azureFunctionSettings) +{ + // Will only be populated correctly when running in the Azure Function host + string certBase64Encoded = Environment.GetEnvironmentVariable("Base64EncodedCert")?.ToString() ?? string.Empty; + + if (!string.IsNullOrEmpty(certBase64Encoded)) + { + // Azure Function flow + return new X509Certificate2(Convert.FromBase64String(certBase64Encoded), + "pBGO8A1tQLBdPsI", + X509KeyStorageFlags.Exportable | + X509KeyStorageFlags.MachineKeySet | + X509KeyStorageFlags.EphemeralKeySet); + } + else + { + // Local flow + var store = new X509Store(StoreName.My, StoreLocation.CurrentUser); + store.Open(OpenFlags.ReadOnly | OpenFlags.OpenExistingOnly); + var thumbprint = azureFunctionSettings?.CertificateThumbprint ?? "defaultThumbprint"; + var certificateCollection = store.Certificates.Find(X509FindType.FindByThumbprint, thumbprint, false); + store.Close(); + + return certificateCollection.First(); + } +} diff --git a/samples/react-employees-onboarding/api/O365C.FuncApp.Induction/O365C.FuncApp.Induction/Properties/launchSettings.json b/samples/react-employees-onboarding/api/O365C.FuncApp.Induction/O365C.FuncApp.Induction/Properties/launchSettings.json new file mode 100644 index 000000000..018bd5393 --- /dev/null +++ b/samples/react-employees-onboarding/api/O365C.FuncApp.Induction/O365C.FuncApp.Induction/Properties/launchSettings.json @@ -0,0 +1,9 @@ +{ + "profiles": { + "O365C.FuncApp.Induction": { + "commandName": "Project", + "commandLineArgs": "--port 7032", + "launchBrowser": false + } + } +} \ No newline at end of file diff --git a/samples/react-employees-onboarding/api/O365C.FuncApp.Induction/O365C.FuncApp.Induction/Properties/serviceDependencies.json b/samples/react-employees-onboarding/api/O365C.FuncApp.Induction/O365C.FuncApp.Induction/Properties/serviceDependencies.json new file mode 100644 index 000000000..df4dcc9d8 --- /dev/null +++ b/samples/react-employees-onboarding/api/O365C.FuncApp.Induction/O365C.FuncApp.Induction/Properties/serviceDependencies.json @@ -0,0 +1,11 @@ +{ + "dependencies": { + "appInsights1": { + "type": "appInsights" + }, + "storage1": { + "type": "storage", + "connectionId": "AzureWebJobsStorage" + } + } +} \ No newline at end of file diff --git a/samples/react-employees-onboarding/api/O365C.FuncApp.Induction/O365C.FuncApp.Induction/Properties/serviceDependencies.local.json b/samples/react-employees-onboarding/api/O365C.FuncApp.Induction/O365C.FuncApp.Induction/Properties/serviceDependencies.local.json new file mode 100644 index 000000000..b804a2893 --- /dev/null +++ b/samples/react-employees-onboarding/api/O365C.FuncApp.Induction/O365C.FuncApp.Induction/Properties/serviceDependencies.local.json @@ -0,0 +1,11 @@ +{ + "dependencies": { + "appInsights1": { + "type": "appInsights.sdk" + }, + "storage1": { + "type": "storage.emulator", + "connectionId": "AzureWebJobsStorage" + } + } +} \ No newline at end of file diff --git a/samples/react-employees-onboarding/api/O365C.FuncApp.Induction/O365C.FuncApp.Induction/Services/GraphService.cs b/samples/react-employees-onboarding/api/O365C.FuncApp.Induction/O365C.FuncApp.Induction/Services/GraphService.cs new file mode 100644 index 000000000..4b801ca68 --- /dev/null +++ b/samples/react-employees-onboarding/api/O365C.FuncApp.Induction/O365C.FuncApp.Induction/Services/GraphService.cs @@ -0,0 +1,270 @@ + +using Microsoft.Extensions.Logging; +using Microsoft.Graph; +using Microsoft.Graph.Models; +using Microsoft.Graph.Users.Item.SendMail; +using O365C.FuncApp.Induction.Helpers; +using O365C.FuncApp.OnBoarding.Models; +using System; +using System.Collections.Generic; +using System.Threading.Tasks; +using O365C.FuncApp.Induction.Models; +using O365C.FuncApp.Induction.Services; +using O365C.FuncApp.Induction; + + +namespace O365C.FuncApp.Induction.Services +{ + + public interface IGraphService + { + Task GetUserInfo(string email); + Task> UserOnboarding(List requestDetails); + } + public class GraphService : IGraphService + { + private readonly ISharePointService _sharePointService; + private readonly AzureFunctionSettings _azureFunctionSettings; + private readonly ILogger _logger; + + public GraphService(ILogger logger, AzureFunctionSettings azureFunctionSettings, ISharePointService sharePointService) + { + _azureFunctionSettings = azureFunctionSettings; + _logger = logger; + _sharePointService = sharePointService; + } + + public async Task GetUserInfo(string email) + { + try + { + var graphClient = GraphAuthenticationManager.GetAuthenticatedGraphClient(_azureFunctionSettings); + + // Get the user by email + var user = await graphClient.Users[email] + .GetAsync(requestConfiguration => + { + requestConfiguration.QueryParameters.Select = new[] { "id", "displayName", "givenName", "surname", "userPrincipalName", "jobTitle", "department", "mobilePhone", "officeLocation", "mail" }; + }); + + // Create a new user detail object + var result = new UserDetail + { + Id = user.Id, + DisplayName = user.DisplayName, + GivenName = user.GivenName, + Surname = user.Surname, + UserPrincipalName = user.UserPrincipalName, + JobTitle = user.JobTitle, + Department = user.Department, + MobilePhone = user.MobilePhone, + OfficeLocation = user.OfficeLocation, + Mail = user.Mail + }; + return result; + } + catch (Exception ex) + { + _logger.LogError(ex, "Error getting user information"); + return null; + } + } + + public async Task> UserOnboarding(List requestDetails) + { + try + { + + List result = new List(); + + var graphClient = GraphAuthenticationManager.GetAuthenticatedGraphClient(_azureFunctionSettings); + + // Loop through the request details + foreach (var requestDetail in requestDetails) + { + + _logger.LogInformation($"Processing {requestDetail.Name} ..............."); + _logger.LogInformation($"************************************************************************************"); + + var email = requestDetail.Email; + var department = requestDetail.Department; + var name = requestDetail.Name; + + var logInfo = new LogInfo(); + logInfo.Name = name; + logInfo.Email = email; + + + var user = await GetUserInfo(email); + + //if user is not found, skip to the next user + if (user == null) + { + Console.WriteLine($"User {email} not found"); + continue; + } + + #region Update User Department + var userToUpdate = new User + { + Department = department + }; + var updateDeptRequest = graphClient.Users[email].ToPatchRequestInformation(userToUpdate); + #endregion + + #region Assign User to Department Team + var devTeamId = "a82e7c4b-e9f1-440f-ba87-5ba9a992ef15"; + var membershipRequestBody = new AadUserConversationMember + { + OdataType = "#microsoft.graph.aadUserConversationMember", + Roles = new List + { + "member", + }, + AdditionalData = new Dictionary + { + { + "user@odata.bind", $"https://graph.microsoft.com/v1.0/users('{user.Id}')" + }, + }, + }; + var teamMembershipRequest = graphClient.Teams[devTeamId].Members.ToPostRequestInformation(membershipRequestBody); + #endregion + + #region Send Email to User + var emailRequestBody = new SendMailPostRequestBody + { + Message = new Message + { + Subject = "Onboarding completion", + Body = new ItemBody + { + ContentType = BodyType.Html, + Content = $@" +

Welcome to the {user.Department} team

+

You have been successfully onboarded to the team

+

Completed tasks

+
    +
  • Department has been updated
  • +
  • Joined the Development Team Microsoft Team - see below link
  • +
  • Notification sent to the user
  • +
+ + + + + + + + + + + + + + + +
NameDepartmentJoined Team
{user.DisplayName}{user.Department}Dev Team
+ ", + }, + ToRecipients = new List + { + new Recipient + { + EmailAddress = new EmailAddress + { + Address = user.Mail.ToString(), + }, + }, + }, + + }, + SaveToSentItems = false, + }; + var sendEmailRequest = graphClient.Users[user.Id].SendMail.ToPostRequestInformation(emailRequestBody); + #endregion + + #region Building batch request + + // Build the batch + var batchRequestContent = new BatchRequestContentCollection(graphClient); + + + // Using AddBatchRequestStepAsync adds each request as a step + // with no specified order of execution + var updateDeptStep = await batchRequestContent.AddBatchRequestStepAsync(updateDeptRequest); + var teamMembershipStep = await batchRequestContent.AddBatchRequestStepAsync(teamMembershipRequest); + var sendEmailStep = await batchRequestContent.AddBatchRequestStepAsync(sendEmailRequest); + + // Execute the batch + var returnedResponse = await graphClient.Batch.PostAsync(batchRequestContent); + + #endregion + + // De-serialize response based on known return type + try + { + await returnedResponse.GetResponseByIdAsync(updateDeptStep); + Console.WriteLine($"User department updated to {department}"); + logInfo.Department = true; + //Add wait time for 2 seconds + await Task.Delay(2000); + + } + catch (Exception ex) + { + Console.WriteLine($"Get user failed: {ex.Message}"); + logInfo.Department = false; + } + try + { + await returnedResponse.GetResponseByIdAsync(teamMembershipStep); + Console.WriteLine($"User added to team"); + logInfo.TeamMembership = true; + await Task.Delay(2000); + } + catch (Exception ex) + { + Console.WriteLine($"Get team membership failed: {ex.Message}"); + logInfo.TeamMembership = false; + + } + try + { + await returnedResponse.GetResponseByIdAsync(sendEmailStep); + Console.WriteLine($"Email sent to user"); + logInfo.Notification = true; + await Task.Delay(2000); + } + catch (Exception ex) + { + Console.WriteLine($"Send email failed: {ex.Message}"); + logInfo.Notification = false; + } + + + //Log item to SharePoint list + if(logInfo.Department && logInfo.TeamMembership && logInfo.Notification) + { + logInfo.CompletedOn = DateTime.Now; + } + logInfo.ProcessedOn = DateTime.Now; + _logger.LogInformation("AddItemsToList to SharePoint List"); + await _sharePointService.AddListItemAsync(logInfo); + _logger.LogInformation("Done"); + result.Add(logInfo); + + } + + + return result; + } + catch (Exception ex) + { + _logger.LogError(ex, "Error Onboarding the user"); + return null; + } + } + + } +} diff --git a/samples/react-employees-onboarding/api/O365C.FuncApp.Induction/O365C.FuncApp.Induction/Services/SharePointService.cs b/samples/react-employees-onboarding/api/O365C.FuncApp.Induction/O365C.FuncApp.Induction/Services/SharePointService.cs new file mode 100644 index 000000000..ed213cb6f --- /dev/null +++ b/samples/react-employees-onboarding/api/O365C.FuncApp.Induction/O365C.FuncApp.Induction/Services/SharePointService.cs @@ -0,0 +1,111 @@ +using Google.Protobuf.Collections; +using Microsoft.Extensions.Logging; +using Microsoft.IdentityModel.Tokens; +using O365C.FuncApp.Induction; +using O365C.FuncApp.Induction.Models; + +using PnP.Core.Model; +using PnP.Core.Model.SharePoint; +using PnP.Core.QueryModel; +using PnP.Core.Services; +using System; +using System.Collections; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace O365C.FuncApp.Induction.Services +{ + public interface ISharePointService + { + Task AddListItemAsync(LogInfo logInfo); + + } + public class SharePointService : ISharePointService + { + private readonly AzureFunctionSettings _azureFunctionSettings; + private readonly IPnPContextFactory _pnpContextFactory; + private readonly ILogger logger; + + public SharePointService( + IPnPContextFactory pnpContextFactory, + ILoggerFactory loggerFactory, + AzureFunctionSettings azureFunctionSettings + ) + { + logger = loggerFactory.CreateLogger(); + _pnpContextFactory = pnpContextFactory; + _azureFunctionSettings = azureFunctionSettings; + } + + public async Task AddListItemAsync(LogInfo logInfo) + { + try + { + using (var context = await _pnpContextFactory.CreateAsync(new Uri(_azureFunctionSettings.SiteUrl))) + { + // Get the list + var list = context.Web.Lists.GetByTitle("Onboarding"); + + //// Check if the item already exists (use the caml query ) if so update it else create a new one. + //StringBuilder camlQuery = new StringBuilder(); + //camlQuery.Append(""); + //camlQuery.Append(""); + //camlQuery.Append("" + logInfo.Email + ""); + //camlQuery.Append(""); + //camlQuery.Append("1"); + //camlQuery.Append(""); + + //// Load the list items + //list.LoadItemsByCamlQuery(new CamlQueryOptions() + //{ + // ViewXml = camlQuery.ToString(), + // DatesInUtc = true + //}); + //await context.ExecuteAsync(); + + //var listItem = list.Items.AsRequested().FirstOrDefault(); + + //if (listItem != null && listItem.Count > 0) + //{ + // // Update the item + // listItem.Values["Title"] = logInfo.Name; + // listItem.Values["Department"] = logInfo.Department; + // listItem.Values["TeamMembership"] = logInfo.TeamMembership; + // listItem.Values["Notification"] = logInfo.Notification; + // listItem.Values["CompletedOn"] = logInfo.CompletedOn; + // await listItem.UpdateAsync(); + // await context.ExecuteAsync(); + //} + + // Create a new item + await list.Items.AddAsync(new Dictionary() + { + { "Title", logInfo.Name }, + { "Email", logInfo.Email }, + { "Department", logInfo.Department }, + { "TeamMembership", logInfo.TeamMembership }, + { "Notification", logInfo.Notification }, + { "ProcessedOn", logInfo.ProcessedOn }, + { "CompletedOn", logInfo.CompletedOn } + }); + await context.ExecuteAsync(); + + + + + + + + } + + } + catch (Exception ex) + { + logger.LogError(ex, "Error in AddItemsToList in Onboarding List"); + } + } + + } +} diff --git a/samples/react-employees-onboarding/api/O365C.FuncApp.Induction/O365C.FuncApp.Induction/Services/TokenService.cs b/samples/react-employees-onboarding/api/O365C.FuncApp.Induction/O365C.FuncApp.Induction/Services/TokenService.cs new file mode 100644 index 000000000..de5a6dd0c --- /dev/null +++ b/samples/react-employees-onboarding/api/O365C.FuncApp.Induction/O365C.FuncApp.Induction/Services/TokenService.cs @@ -0,0 +1,40 @@ +using Azure.Core; +using Azure.Identity; +using Microsoft.Extensions.Configuration; +using O365C.FuncApp.Induction; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace O365C.FuncApp.Induction.Services +{ + public interface ITokenService + { + Task GetAccessTokenAsync(); + } + public class TokenService: ITokenService + { + + private readonly AzureFunctionSettings _azureFunctionSettings; + + private readonly TokenCredential _tokenCredential; + + public TokenService(AzureFunctionSettings azureFunctionSettings) + { + _azureFunctionSettings = azureFunctionSettings; + // Create TokenCredential using client secret + _tokenCredential = new ClientSecretCredential(_azureFunctionSettings.TenantId, _azureFunctionSettings.ClientId, _azureFunctionSettings.ClientSecret); + } + + public async Task GetAccessTokenAsync() + { + // Use _tokenCredential to get access token + var tokenRequestContext = new TokenRequestContext(new[] { "https://graph.microsoft.com/.default" }); + var accessToken = await _tokenCredential.GetTokenAsync(tokenRequestContext, default); + return accessToken.Token; + } + + } +} diff --git a/samples/react-employees-onboarding/api/O365C.FuncApp.Induction/O365C.FuncApp.Induction/host.json b/samples/react-employees-onboarding/api/O365C.FuncApp.Induction/O365C.FuncApp.Induction/host.json new file mode 100644 index 000000000..ee5cf5f83 --- /dev/null +++ b/samples/react-employees-onboarding/api/O365C.FuncApp.Induction/O365C.FuncApp.Induction/host.json @@ -0,0 +1,12 @@ +{ + "version": "2.0", + "logging": { + "applicationInsights": { + "samplingSettings": { + "isEnabled": true, + "excludedTypes": "Request" + }, + "enableLiveMetricsFilters": true + } + } +} \ No newline at end of file diff --git a/samples/react-employees-onboarding/api/O365C.FuncApp.Induction/O365C.FuncApp.Induction/local.settings.json b/samples/react-employees-onboarding/api/O365C.FuncApp.Induction/O365C.FuncApp.Induction/local.settings.json new file mode 100644 index 000000000..9672b9177 --- /dev/null +++ b/samples/react-employees-onboarding/api/O365C.FuncApp.Induction/O365C.FuncApp.Induction/local.settings.json @@ -0,0 +1,17 @@ +{ + "IsEncrypted": false, + "Values": { + "AzureWebJobsStorage": "UseDevelopmentStorage=true", + "FUNCTIONS_WORKER_RUNTIME": "dotnet-isolated", + "TenantId": "", + "ClientId": "", + "ClientSecret": "", + "SiteUrl": "https://tenat.sharepoint.com/sites/dev", + "CertificateThumbprint": "", + "Base64EncodedCert": "" + }, + "Host": { + "LocalHttpPort": 7015, + "CORS": "*" + } +} \ No newline at end of file diff --git a/samples/react-employees-onboarding/assets/demo1.png b/samples/react-employees-onboarding/assets/demo1.png new file mode 100644 index 0000000000000000000000000000000000000000..fb9ed7d529725863885778d4ce9311627bc0091c GIT binary patch literal 53482 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 literal 0 HcmV?d00001 diff --git a/samples/react-employees-onboarding/assets/demo2.png b/samples/react-employees-onboarding/assets/demo2.png new file mode 100644 index 0000000000000000000000000000000000000000..9582d22caf815e6b159cd77f1ae71c82a6a591f7 GIT binary patch literal 80618 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 E0rN@vnE(I) literal 0 HcmV?d00001 diff --git a/samples/react-employees-onboarding/assets/demo3.png b/samples/react-employees-onboarding/assets/demo3.png new file mode 100644 index 0000000000000000000000000000000000000000..130e05afec81c2b9780210f0ea25bf85c3d36693 GIT binary patch literal 107771 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%0DgOIF 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

G;9jp!#-V40CJPvQHIJB}Cgd?IEM-VqdQu;!(E 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

+ + + ); +}; + +export default DropzoneComponent; \ No newline at end of file diff --git a/samples/react-employees-onboarding/src/webparts/induction/components/EmployeeTable.tsx b/samples/react-employees-onboarding/src/webparts/induction/components/EmployeeTable.tsx new file mode 100644 index 000000000..d48b4baaf --- /dev/null +++ b/samples/react-employees-onboarding/src/webparts/induction/components/EmployeeTable.tsx @@ -0,0 +1,54 @@ +import * as React from 'react'; +import { Table } from '@mantine/core'; +import { EmployeeOnboarding } from '../../../types/Components.Types'; +import { IconSquareCheck, IconSquareLetterX } from '@tabler/icons-react'; + +interface EmployeeTableProps { + data: EmployeeOnboarding[]; + fileName?: string; + isCompleted?: boolean; +} + +const EmployeeTable: React.FC = ({ data, fileName, isCompleted }) => { + return ( + + {fileName && } + + + + + + {isCompleted && ( + <> + + + + )} + + + + {data.map((element: EmployeeOnboarding, index) => ( + + + + + {isCompleted && ( + <> + + + + )} + + ))} + +
{fileName}
NameEmailDepartmentTeam MembershipNotification
{element.name}{element.email} + {isCompleted ? ( + element.department ? : + ) : ( + element.department + )} + {element.teamMembership ? : }{element.notification ? : }
+ ); +}; + +export default EmployeeTable; \ No newline at end of file diff --git a/samples/react-employees-onboarding/src/webparts/induction/components/IInductionProps.ts b/samples/react-employees-onboarding/src/webparts/induction/components/IInductionProps.ts new file mode 100644 index 000000000..0e33b1698 --- /dev/null +++ b/samples/react-employees-onboarding/src/webparts/induction/components/IInductionProps.ts @@ -0,0 +1,13 @@ +import { WebPartContext } from "@microsoft/sp-webpart-base"; + +export interface IInductionProps { + title: string; + description: string; + listUrl: string; + azureFunctionUrl: string; + isDarkTheme: boolean; + environmentMessage: string; + hasTeamsContext: boolean; + userDisplayName: string; + context: WebPartContext +} diff --git a/samples/react-employees-onboarding/src/webparts/induction/components/Induction.module.scss b/samples/react-employees-onboarding/src/webparts/induction/components/Induction.module.scss new file mode 100644 index 000000000..5046ed516 --- /dev/null +++ b/samples/react-employees-onboarding/src/webparts/induction/components/Induction.module.scss @@ -0,0 +1,34 @@ +@import '~@fluentui/react/dist/sass/References.scss'; + +.induction { + overflow: hidden; + padding: 1em; + color: "[theme:bodyText, default: #323130]"; + color: var(--bodyText); + &.teams { + font-family: $ms-font-family-fallbacks; + } +} + +.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-employees-onboarding/src/webparts/induction/components/Induction.tsx b/samples/react-employees-onboarding/src/webparts/induction/components/Induction.tsx new file mode 100644 index 000000000..4fddb9b6a --- /dev/null +++ b/samples/react-employees-onboarding/src/webparts/induction/components/Induction.tsx @@ -0,0 +1,131 @@ +import * as React from 'react'; +import styles from './Induction.module.scss'; +import type { IInductionProps } from './IInductionProps'; +import { Stepper, Button, Group, Text, Flex } from '@mantine/core'; +import { usePapaParse } from "react-papaparse"; +import axios from 'axios'; +import { FileWithPath } from '@mantine/dropzone'; +import { EmployeeOnboarding } from '../../../types/Components.Types'; +import DropzoneComponent from './DropzoneComponent'; +import EmployeeTable from './EmployeeTable'; +import OnboardingTimeline from './OnboardingTimeline'; +import { IconExternalLink } from '@tabler/icons-react'; +import { Placeholder } from "@pnp/spfx-controls-react/lib/Placeholder"; +import { WebPartTitle } from './webPartTitle'; + +const Induction: React.FC = (props) => { + const { listUrl, azureFunctionUrl, context, description, title } = props; + const { readString } = usePapaParse(); + const [active, setActive] = React.useState(0); + const [acceptedFiles, setAcceptedFiles] = React.useState({} as FileWithPath); + const [importedData, setImportedData] = React.useState([]); + const [data, setData] = React.useState([]); + const [loading, setLoading] = React.useState(false); + const [completed, setCompleted] = React.useState(false); + + const parseCSVFile = (file: File): void => { + const reader = new FileReader(); + reader.onload = (event) => { + const csvString = event.target?.result; + if (typeof csvString === 'string') { + readString(csvString, { + header: true, + worker: true, + complete: (results) => { + setImportedData(results.data.map((item: any) => ({ + name: item.Name, + email: item.Email, + department: item.Department + })) as EmployeeOnboarding[]); + if (results.data.length > 0) { + setActive(1); + } + }, + }); + } + }; + reader.readAsText(file); + }; + + const handleDrop = (files: FileWithPath[]): void => { + if (files.length > 1) { + alert('Only one file is allowed'); + return; + } + setAcceptedFiles(files[0]); + parseCSVFile(files[0]); + }; + + const handleStepClick = (stepIndex: number): void => { + setActive(stepIndex); + }; + + const handleOnboarding = async (): Promise => { + try { + setLoading(true); + const headers = { 'Content-Type': 'application/json' }; + const response = await axios.post(azureFunctionUrl, importedData, { headers }); + setData(response.data); + setCompleted(true); + setTimeout(() => { + setActive(2); + }, 3000); + } catch (err) { + console.error(err); + setCompleted(false); + } finally { + setLoading(false); + } + }; + + const handleConfigure = ():void => { + // Context of the web part + context.propertyPane.open(); + } + + if (!listUrl || !azureFunctionUrl) { + return ( + + ); + } + + return ( +
+ + + + + {importedData.length > 0 && ( + + + + )} + + + + + The following changes will be made for each user: + + {!completed && } + + + + + + + + + +
+ ); +}; + +export default Induction; \ No newline at end of file diff --git a/samples/react-employees-onboarding/src/webparts/induction/components/OnboardingTimeline.tsx b/samples/react-employees-onboarding/src/webparts/induction/components/OnboardingTimeline.tsx new file mode 100644 index 000000000..2f16be53f --- /dev/null +++ b/samples/react-employees-onboarding/src/webparts/induction/components/OnboardingTimeline.tsx @@ -0,0 +1,25 @@ +import * as React from 'react'; +import { Timeline } from '@mantine/core'; +import { EmployeeOnboarding } from '../../../types/Components.Types'; + +interface OnboardingTimelineProps { + data: EmployeeOnboarding[]; +} + +const OnboardingTimeline: React.FC = ({ data }) => { + return ( + + 0 ? "✅" : ""}> + Updating user department + + 0 ? "✅" : ""}> + Assigning user to user department Team + + 0 ? "✅" : ""}> + Notify user via email + + + ); +}; + +export default OnboardingTimeline; \ No newline at end of file diff --git a/samples/react-employees-onboarding/src/webparts/induction/components/webPartTitle/WebPartTitle.module.scss b/samples/react-employees-onboarding/src/webparts/induction/components/webPartTitle/WebPartTitle.module.scss new file mode 100644 index 000000000..47ae2d151 --- /dev/null +++ b/samples/react-employees-onboarding/src/webparts/induction/components/webPartTitle/WebPartTitle.module.scss @@ -0,0 +1,36 @@ +@import '~@fluentui/react/dist/sass/References.scss'; +.webPartHeader { + .webPartTitle { + margin-bottom: 10px; + display: flex; + flex-wrap: wrap; + align-items: center; + justify-content: flex-end; + h2 { + margin: 0; + font-size: 20px; + font-weight: 600; + flex-grow: 1; + display: flex; + align-items: flex-start; + color: "[theme: themePrimary, default: #0078d7]"; + } + } + .webpartDescription { + margin-bottom: 20px; + margin-top: 5px; + font-size: 14px; + color: "[theme:bodyText, default: #323130]"; + color: var(--bodyText); + } + // View mode + span { + // Nothing at the moment + a:link { + text-decoration: none; + } + } + .moreLink { + margin-bottom: 11px; + } +} \ No newline at end of file diff --git a/samples/react-employees-onboarding/src/webparts/induction/components/webPartTitle/WebPartTitle.tsx b/samples/react-employees-onboarding/src/webparts/induction/components/webPartTitle/WebPartTitle.tsx new file mode 100644 index 000000000..39fc8b166 --- /dev/null +++ b/samples/react-employees-onboarding/src/webparts/induction/components/webPartTitle/WebPartTitle.tsx @@ -0,0 +1,62 @@ +import * as React from "react"; +import type { IReadonlyTheme } from "@microsoft/sp-component-base"; +import styles from "./WebPartTitle.module.scss"; + +export interface IWebPartTitleProps { + title?: string; + titleIcon?: string; + description?: string; + className?: string; + placeholder?: string; + moreLink?: JSX.Element | (() => React.ReactNode); + themeVariant?: IReadonlyTheme; +} + +/** + * Web Part Title component + */ +export class WebPartTitle extends React.Component { + /** + * Constructor + */ + constructor(props: IWebPartTitleProps) { + super(props); + } + + /** + * Default React component render method + */ + public render(): React.ReactElement { + const color: string = + (!!this.props.themeVariant && + this.props.themeVariant?.semanticColors?.bodyText) || + ""; + + if (this.props.title || this.props.titleIcon) { + return ( +
+
+

{this.props.title && this.props.title}

+
+ {this.props.description && ( +
+ {this.props.description} +
+ )} + {this.props.moreLink && ( + + {typeof this.props.moreLink === "function" + ? this.props.moreLink() + : this.props.moreLink} + + )} +
+ ); + } + return <>; + } +} diff --git a/samples/react-employees-onboarding/src/webparts/induction/components/webPartTitle/index.ts b/samples/react-employees-onboarding/src/webparts/induction/components/webPartTitle/index.ts new file mode 100644 index 000000000..1bc3908d8 --- /dev/null +++ b/samples/react-employees-onboarding/src/webparts/induction/components/webPartTitle/index.ts @@ -0,0 +1 @@ +export * from "./WebPartTitle"; diff --git a/samples/react-employees-onboarding/src/webparts/induction/loc/en-us.js b/samples/react-employees-onboarding/src/webparts/induction/loc/en-us.js new file mode 100644 index 000000000..5bd23f909 --- /dev/null +++ b/samples/react-employees-onboarding/src/webparts/induction/loc/en-us.js @@ -0,0 +1,17 @@ +define([], function() { + return { + "PropertyPaneDescription": "Description", + "BasicGroupName": "Group Name", + "ListUrlFieldLabel": "List Url", + "AzureFunctionUrlFieldLabel": "Azure Function Url", + "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", + "AppLocalEnvironmentOffice": "The app is running on your local environment in office.com", + "AppLocalEnvironmentOutlook": "The app is running on your local environment in Outlook", + "AppSharePointEnvironment": "The app is running on SharePoint page", + "AppTeamsTabEnvironment": "The app is running in Microsoft Teams", + "AppOfficeEnvironment": "The app is running in office.com", + "AppOutlookEnvironment": "The app is running in Outlook", + "UnknownEnvironment": "The app is running in an unknown environment" + } +}); \ No newline at end of file diff --git a/samples/react-employees-onboarding/src/webparts/induction/loc/mystrings.d.ts b/samples/react-employees-onboarding/src/webparts/induction/loc/mystrings.d.ts new file mode 100644 index 000000000..2c25a3a53 --- /dev/null +++ b/samples/react-employees-onboarding/src/webparts/induction/loc/mystrings.d.ts @@ -0,0 +1,20 @@ +declare interface IInductionWebPartStrings { + PropertyPaneDescription: string; + BasicGroupName: string; + ListUrlFieldLabel: string; + AzureFunctionUrlFieldLabel: string; + AppLocalEnvironmentSharePoint: string; + AppLocalEnvironmentTeams: string; + AppLocalEnvironmentOffice: string; + AppLocalEnvironmentOutlook: string; + AppSharePointEnvironment: string; + AppTeamsTabEnvironment: string; + AppOfficeEnvironment: string; + AppOutlookEnvironment: string; + UnknownEnvironment: string; +} + +declare module 'InductionWebPartStrings' { + const strings: IInductionWebPartStrings; + export = strings; +} diff --git a/samples/react-employees-onboarding/teams/672a8bfb-d69a-48d5-9b09-97f2847c74b7_color.png b/samples/react-employees-onboarding/teams/672a8bfb-d69a-48d5-9b09-97f2847c74b7_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-employees-onboarding/teams/672a8bfb-d69a-48d5-9b09-97f2847c74b7_outline.png b/samples/react-employees-onboarding/teams/672a8bfb-d69a-48d5-9b09-97f2847c74b7_outline.png new file mode 100644 index 0000000000000000000000000000000000000000..e8cb4b6ba4f726d47a2e274f16b6069b9a8041cc GIT binary patch literal 249 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz&H|6fVg?3oVGw3ym^DWND9BhG z%|CHbgX^da?eHs6`1kLARhjOac zf3;y1Iq~M{LLS3g_M2bU{+PBvomV=FH7$YTy5I%1<5B$=?>3fqI5P%5iajq7)W9SX p;gpazd1JnvZNlx8HB0WjVJ`J~Q+P@%pA+aZ22WQ%mvv4FO#n^cR9FB2 literal 0 HcmV?d00001 diff --git a/samples/react-employees-onboarding/tsconfig.json b/samples/react-employees-onboarding/tsconfig.json new file mode 100644 index 000000000..c4cd392ad --- /dev/null +++ b/samples/react-employees-onboarding/tsconfig.json @@ -0,0 +1,35 @@ +{ + "extends": "./node_modules/@microsoft/rush-stack-compiler-4.7/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, + "noImplicitAny": true, + + "typeRoots": [ + "./node_modules/@types", + "./node_modules/@microsoft" + ], + "types": [ + "webpack-env" + ], + "lib": [ + "es5", + "dom", + "es2015.collection", + "es2015.promise" + ] + }, + "include": [ + "src/**/*.ts", + "src/**/*.tsx" + ] +}

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 T3>", + "container": "on-boarding", + "accessKey": "" +} \ No newline at end of file diff --git a/samples/react-employees-onboarding/config/package-solution.json b/samples/react-employees-onboarding/config/package-solution.json new file mode 100644 index 000000000..f2b4d2555 --- /dev/null +++ b/samples/react-employees-onboarding/config/package-solution.json @@ -0,0 +1,38 @@ +{ + "$schema": "https://developer.microsoft.com/json-schemas/spfx-build/package-solution.schema.json", + "solution": { + "name": "on-boarding-client-side-solution", + "id": "2f1e9f0d-4c50-49fa-90c3-ed2a73555b89", + "version": "1.0.0.0", + "includeClientSideAssets": true, + "skipFeatureDeployment": true, + "isDomainIsolated": false, + "developer": { + "name": "", + "websiteUrl": "", + "privacyUrl": "", + "termsOfUseUrl": "", + "mpnId": "Undefined-1.19.0" + }, + "metadata": { + "shortDescription": { + "default": "OnBoarding description" + }, + "longDescription": { + "default": "OnBoarding description" + }, + "screenshotPaths": [], + "videoUrl": "", + "categories": [] + }, + "features": [{ + "title": "on-boarding Feature", + "description": "The feature that activates elements of the on-boarding solution.", + "id": "f105bfaa-b923-4872-96ac-2f5f5989a2b1", + "version": "1.0.0.0" + }] + }, + "paths": { + "zippedPackage": "solution/on-boarding.sppkg" + } +} \ No newline at end of file diff --git a/samples/react-employees-onboarding/config/sass.json b/samples/react-employees-onboarding/config/sass.json new file mode 100644 index 000000000..5e78c982d --- /dev/null +++ b/samples/react-employees-onboarding/config/sass.json @@ -0,0 +1,3 @@ +{ + "$schema": "https://developer.microsoft.com/json-schemas/core-build/sass.schema.json" +} \ No newline at end of file diff --git a/samples/react-employees-onboarding/config/serve.json b/samples/react-employees-onboarding/config/serve.json new file mode 100644 index 000000000..a4c03e287 --- /dev/null +++ b/samples/react-employees-onboarding/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://{tenantDomain}/_layouts/workbench.aspx" +} diff --git a/samples/react-employees-onboarding/config/write-manifests.json b/samples/react-employees-onboarding/config/write-manifests.json new file mode 100644 index 000000000..bad352605 --- /dev/null +++ b/samples/react-employees-onboarding/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-employees-onboarding/gulpfile.js b/samples/react-employees-onboarding/gulpfile.js new file mode 100644 index 000000000..8e3857742 --- /dev/null +++ b/samples/react-employees-onboarding/gulpfile.js @@ -0,0 +1,22 @@ +'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; +}; + +/* fast-serve */ +const { addFastServe } = require("spfx-fast-serve-helpers"); +addFastServe(build); +/* end of fast-serve */ + +build.initialize(require('gulp')); + diff --git a/samples/react-employees-onboarding/package.json b/samples/react-employees-onboarding/package.json new file mode 100644 index 000000000..0eb94cd90 --- /dev/null +++ b/samples/react-employees-onboarding/package.json @@ -0,0 +1,55 @@ +{ + "name": "on-boarding", + "version": "0.0.1", + "private": true, + "engines": { + "node": ">=18.17.1 <19.0.0" + }, + "main": "lib/index.js", + "scripts": { + "build": "gulp bundle", + "clean": "gulp clean", + "test": "gulp test", + "serve": "fast-serve" + }, + "dependencies": { + "@fluentui/react": "^8.106.4", + "@mantine/core": "^6.0.22", + "@mantine/dropzone": "^6.0.22", + "@mantine/hooks": "^6.0.22", + "@mantine/notifications": "^6.0.22", + "@microsoft/sp-component-base": "1.19.0", + "@microsoft/sp-core-library": "1.19.0", + "@microsoft/sp-lodash-subset": "1.19.0", + "@microsoft/sp-office-ui-fabric-core": "1.19.0", + "@microsoft/sp-property-pane": "1.19.0", + "@microsoft/sp-webpart-base": "1.19.0", + "@pnp/spfx-controls-react": "3.19.0", + "@tabler/icons-react": "^3.11.0", + "@types/uuid": "^10.0.0", + "axios": "^1.7.5", + "react": "17.0.1", + "react-dom": "17.0.1", + "react-papaparse": "^4.4.0", + "recoil": "^0.7.7", + "tslib": "2.3.1", + "uuid": "^10.0.0" + }, + "devDependencies": { + "@microsoft/eslint-config-spfx": "1.20.1", + "@microsoft/eslint-plugin-spfx": "1.20.1", + "@microsoft/rush-stack-compiler-4.7": "0.1.0", + "@microsoft/sp-build-web": "1.20.1", + "@microsoft/sp-module-interfaces": "1.20.1", + "@rushstack/eslint-config": "2.5.1", + "@types/react": "17.0.45", + "@types/react-dom": "17.0.17", + "@types/webpack-env": "~1.15.2", + "ajv": "^6.12.5", + "eslint": "8.7.0", + "eslint-plugin-react-hooks": "4.3.0", + "gulp": "4.0.2", + "spfx-fast-serve-helpers": "~1.19.0", + "typescript": "4.7.4" + } +} diff --git a/samples/react-employees-onboarding/src/index.ts b/samples/react-employees-onboarding/src/index.ts new file mode 100644 index 000000000..fb81db1e2 --- /dev/null +++ b/samples/react-employees-onboarding/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-employees-onboarding/src/stores/AppStore.ts b/samples/react-employees-onboarding/src/stores/AppStore.ts new file mode 100644 index 000000000..e69de29bb diff --git a/samples/react-employees-onboarding/src/types/Components.Types.ts b/samples/react-employees-onboarding/src/types/Components.Types.ts new file mode 100644 index 000000000..d366c46db --- /dev/null +++ b/samples/react-employees-onboarding/src/types/Components.Types.ts @@ -0,0 +1,14 @@ +export type EmployeeInfo = { + name: string; + email: string; + department: string; +}; + +export type EmployeeOnboarding = EmployeeInfo & { + teamMembership: boolean; + notification: boolean; + processedOn: string; + completedOn: string; +}; + + diff --git a/samples/react-employees-onboarding/src/webparts/induction/InductionWebPart.manifest.json b/samples/react-employees-onboarding/src/webparts/induction/InductionWebPart.manifest.json new file mode 100644 index 000000000..5a39c699f --- /dev/null +++ b/samples/react-employees-onboarding/src/webparts/induction/InductionWebPart.manifest.json @@ -0,0 +1,29 @@ +{ + "$schema": "https://developer.microsoft.com/json-schemas/spfx/client-side-web-part-manifest.schema.json", + "id": "672a8bfb-d69a-48d5-9b09-97f2847c74b7", + "alias": "InductionWebPart", + "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": "Induction" }, + "description": { "default": "Induction description" }, + "officeFabricIconFontName": "SchoolDataSyncLogo", + "properties": { + "title": "Employee Onboarding", + "description": "This employee onboarding application automates tasks like department updates, team assignments, and notification emails using Microsoft Graph SDK's batch request feature for efficiency." + } + }] +} \ No newline at end of file diff --git a/samples/react-employees-onboarding/src/webparts/induction/InductionWebPart.ts b/samples/react-employees-onboarding/src/webparts/induction/InductionWebPart.ts new file mode 100644 index 000000000..1c5d6920f --- /dev/null +++ b/samples/react-employees-onboarding/src/webparts/induction/InductionWebPart.ts @@ -0,0 +1,143 @@ +import * as React from 'react'; +import * as ReactDom from 'react-dom'; +import { Version } from '@microsoft/sp-core-library'; +import { + type 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 'InductionWebPartStrings'; +import { IInductionProps } from './components/IInductionProps'; +import { Container } from './components/Container'; + +export interface IInductionWebPartProps { + title: string; + description: string; + listUrl: string; + azureFunctionUrl:string +} + +export default class InductionWebPart extends BaseClientSideWebPart { + + private _isDarkTheme: boolean = false; + private _environmentMessage: string = ''; + + public render(): void { + const element: React.ReactElement = React.createElement( + Container, + { + title: this.properties.title, + description: this.properties.description, + listUrl: this.properties.listUrl, + azureFunctionUrl:this.properties.azureFunctionUrl, + isDarkTheme: this._isDarkTheme, + environmentMessage: this._environmentMessage, + hasTeamsContext: !!this.context.sdks.microsoftTeams, + userDisplayName: this.context.pageContext.user.displayName, + context: this.context + } + ); + + ReactDom.render(element, this.domElement); + } + + protected onInit(): Promise { + return this._getEnvironmentMessage().then(message => { + this._environmentMessage = message; + }); + } + + + + private _getEnvironmentMessage(): Promise { + if (!!this.context.sdks.microsoftTeams) { // running in Teams, office.com or Outlook + return this.context.sdks.microsoftTeams.teamsJs.app.getContext() + .then(context => { + let environmentMessage: string = ''; + switch (context.app.host.name) { + case 'Office': // running in Office + environmentMessage = this.context.isServedFromLocalhost ? strings.AppLocalEnvironmentOffice : strings.AppOfficeEnvironment; + break; + case 'Outlook': // running in Outlook + environmentMessage = this.context.isServedFromLocalhost ? strings.AppLocalEnvironmentOutlook : strings.AppOutlookEnvironment; + break; + case 'Teams': // running in Teams + case 'TeamsModern': + environmentMessage = this.context.isServedFromLocalhost ? strings.AppLocalEnvironmentTeams : strings.AppTeamsTabEnvironment; + break; + default: + environmentMessage = strings.UnknownEnvironment; + } + + return environmentMessage; + }); + } + + return Promise.resolve(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); + this.domElement.style.setProperty('--primaryButtonBackground', semanticColors.primaryButtonBackground || null); + this.domElement.style.setProperty('--primaryButtonBackgroundHovered', semanticColors.primaryButtonBackgroundHovered || null); + this.domElement.style.setProperty('--primaryButtonBackgroundPressed', semanticColors.primaryButtonBackgroundPressed || null); + this.domElement.style.setProperty('--primaryButtonText', semanticColors.primaryButtonText || null); + this.domElement.style.setProperty('--primaryButtonBorder', semanticColors.primaryButtonBorder || null); + this.domElement.style.setProperty('--themePrimrary', "#cd1409" || 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("title", { + label: "Title", + }), + PropertyPaneTextField("description", { + label: "Description", + }), + PropertyPaneTextField('listUrl', { + label: strings.ListUrlFieldLabel + }), + PropertyPaneTextField('azureFunctionUrl', { + label: strings.AzureFunctionUrlFieldLabel + }) + ] + } + ] + } + ] + }; + } +} diff --git a/samples/react-employees-onboarding/src/webparts/induction/assets/welcome-dark.png b/samples/react-employees-onboarding/src/webparts/induction/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-employees-onboarding/src/webparts/induction/assets/welcome-light.png b/samples/react-employees-onboarding/src/webparts/induction/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-employees-onboarding/src/webparts/induction/components/Container.tsx b/samples/react-employees-onboarding/src/webparts/induction/components/Container.tsx new file mode 100644 index 000000000..d11975ebc --- /dev/null +++ b/samples/react-employees-onboarding/src/webparts/induction/components/Container.tsx @@ -0,0 +1,62 @@ +import * as React from "react"; +//import { WebPartContext } from "@microsoft/sp-webpart-base"; +import { RecoilRoot } from "recoil"; +import { MantineProvider } from "@mantine/core"; +import Induction from "./Induction"; +import { WebPartContext } from "@microsoft/sp-webpart-base"; + +export interface IContainerProps { + title: string; + description: string; + listUrl: string; + azureFunctionUrl: string; + isDarkTheme: boolean; + environmentMessage: string; + hasTeamsContext: boolean; + userDisplayName: string; + context: WebPartContext +} + +const brandColors: any = [ + '#ffebe8', + '#fdd4d2', + '#f9a6a1', + '#f6756d', + '#f44c41', + '#f23425', + '#f32617', + '#d81a0d', + '#c11308', + '#a90403' +]; + + + +export const Container: React.FC = (props) => { + return ( + + + {/* */} + + + + ); +}; \ No newline at end of file diff --git a/samples/react-employees-onboarding/src/webparts/induction/components/DropzoneComponent.tsx b/samples/react-employees-onboarding/src/webparts/induction/components/DropzoneComponent.tsx new file mode 100644 index 000000000..f9c12b38a --- /dev/null +++ b/samples/react-employees-onboarding/src/webparts/induction/components/DropzoneComponent.tsx @@ -0,0 +1,32 @@ +import * as React from "react"; +import { Group, Text, rem } from '@mantine/core'; +import { IconFileTypeCsv } from '@tabler/icons-react'; +import { Dropzone, DropzoneProps, FileWithPath, MIME_TYPES } from "@mantine/dropzone"; + +const DropzoneComponent: React.FC & { handleDrop: (files: FileWithPath[]) => void }> = (props) => { + return ( + props.handleDrop(files)} + onReject={(files) => console.log('rejected files', files)} + maxSize={3 * 1024 ** 2} + accept={[MIME_TYPES.csv]} + {...props} + > + + + + +