From 2a36c181814a3c1dbc98bfd60a7c09ee4c0157d2 Mon Sep 17 00:00:00 2001 From: VALERN05 Date: Thu, 12 Sep 2024 19:14:19 +0300 Subject: [PATCH] init --- .../.devcontainer/devcontainer.json | 31 ++ .../.devcontainer/spfx-startup.sh | 33 ++ samples/react-training-checklist/.eslintrc.js | 352 ++++++++++++++++++ samples/react-training-checklist/.gitignore | 34 ++ samples/react-training-checklist/.npmignore | 16 + samples/react-training-checklist/.yo-rc.json | 21 ++ samples/react-training-checklist/README.md | 115 ++++++ .../assets/sample.json | 47 +++ .../assets/trainingchecklist.png | Bin 0 -> 202845 bytes .../config/config.json | 18 + .../config/deploy-azure-storage.json | 7 + .../config/package-solution.json | 40 ++ .../react-training-checklist/config/sass.json | 3 + .../config/serve.json | 6 + .../config/write-manifests.json | 4 + samples/react-training-checklist/gulpfile.js | 16 + samples/react-training-checklist/package.json | 46 +++ samples/react-training-checklist/src/index.ts | 1 + .../TrainningChecklistWebPart.manifest.json | 28 ++ .../TrainningChecklistWebPart.ts | 100 +++++ .../assets/welcome-dark.png | Bin 0 -> 12545 bytes .../assets/welcome-light.png | Bin 0 -> 12816 bytes .../components/Checklist.tsx | 125 +++++++ .../components/IChecklistItem.ts | 11 + .../components/IChecklistProps.ts | 8 + .../webparts/trainningChecklist/loc/en-us.js | 16 + .../trainningChecklist/loc/mystrings.d.ts | 19 + .../trainningChecklist/pnpjsConfig.ts | 20 + ...d000-ed70-42d7-8d76-6e413489cca3_color.png | Bin 0 -> 10248 bytes ...00-ed70-42d7-8d76-6e413489cca3_outline.png | Bin 0 -> 249 bytes .../react-training-checklist/tsconfig.json | 35 ++ 31 files changed, 1152 insertions(+) create mode 100644 samples/react-training-checklist/.devcontainer/devcontainer.json create mode 100644 samples/react-training-checklist/.devcontainer/spfx-startup.sh create mode 100644 samples/react-training-checklist/.eslintrc.js create mode 100644 samples/react-training-checklist/.gitignore create mode 100644 samples/react-training-checklist/.npmignore create mode 100644 samples/react-training-checklist/.yo-rc.json create mode 100644 samples/react-training-checklist/README.md create mode 100644 samples/react-training-checklist/assets/sample.json create mode 100644 samples/react-training-checklist/assets/trainingchecklist.png create mode 100644 samples/react-training-checklist/config/config.json create mode 100644 samples/react-training-checklist/config/deploy-azure-storage.json create mode 100644 samples/react-training-checklist/config/package-solution.json create mode 100644 samples/react-training-checklist/config/sass.json create mode 100644 samples/react-training-checklist/config/serve.json create mode 100644 samples/react-training-checklist/config/write-manifests.json create mode 100644 samples/react-training-checklist/gulpfile.js create mode 100644 samples/react-training-checklist/package.json create mode 100644 samples/react-training-checklist/src/index.ts create mode 100644 samples/react-training-checklist/src/webparts/trainningChecklist/TrainningChecklistWebPart.manifest.json create mode 100644 samples/react-training-checklist/src/webparts/trainningChecklist/TrainningChecklistWebPart.ts create mode 100644 samples/react-training-checklist/src/webparts/trainningChecklist/assets/welcome-dark.png create mode 100644 samples/react-training-checklist/src/webparts/trainningChecklist/assets/welcome-light.png create mode 100644 samples/react-training-checklist/src/webparts/trainningChecklist/components/Checklist.tsx create mode 100644 samples/react-training-checklist/src/webparts/trainningChecklist/components/IChecklistItem.ts create mode 100644 samples/react-training-checklist/src/webparts/trainningChecklist/components/IChecklistProps.ts create mode 100644 samples/react-training-checklist/src/webparts/trainningChecklist/loc/en-us.js create mode 100644 samples/react-training-checklist/src/webparts/trainningChecklist/loc/mystrings.d.ts create mode 100644 samples/react-training-checklist/src/webparts/trainningChecklist/pnpjsConfig.ts create mode 100644 samples/react-training-checklist/teams/1e61d000-ed70-42d7-8d76-6e413489cca3_color.png create mode 100644 samples/react-training-checklist/teams/1e61d000-ed70-42d7-8d76-6e413489cca3_outline.png create mode 100644 samples/react-training-checklist/tsconfig.json diff --git a/samples/react-training-checklist/.devcontainer/devcontainer.json b/samples/react-training-checklist/.devcontainer/devcontainer.json new file mode 100644 index 000000000..4c098b161 --- /dev/null +++ b/samples/react-training-checklist/.devcontainer/devcontainer.json @@ -0,0 +1,31 @@ +{ + "name": "SPFx 1.17.3", + "image": "docker.io/m365pnp/spfx:1.17.3", + "settings": { + + }, + "extensions": [ + "editorconfig.editorconfig", + "dbaeumer.vscode-eslint" + ], + "forwardPorts": [ + 4321, + 35729 + ], + "portsAttributes": { + "4321": { + "protocol": "https", + "label": "Manifest", + "onAutoForward": "silent", + "requireLocalPort": true + }, + "35729": { + "protocol": "https", + "label": "LiveReload", + "onAutoForward": "silent", + "requireLocalPort": true + } + }, + "postCreateCommand": "bash .devcontainer/spfx-startup.sh", + "remoteUser": "node" +} diff --git a/samples/react-training-checklist/.devcontainer/spfx-startup.sh b/samples/react-training-checklist/.devcontainer/spfx-startup.sh new file mode 100644 index 000000000..456d6aea8 --- /dev/null +++ b/samples/react-training-checklist/.devcontainer/spfx-startup.sh @@ -0,0 +1,33 @@ +echo +echo -e "\e[1;94mInstalling Node dependencies\e[0m" +npm install + +## commands to create dev certificate and copy it to the root folder of the project +echo +echo -e "\e[1;94mGenerating dev certificate\e[0m" +gulp trust-dev-cert + +# Convert the generated PEM certificate to a CER certificate +openssl x509 -inform PEM -in ~/.rushstack/rushstack-serve.pem -outform DER -out ./spfx-dev-cert.cer + +# Copy the PEM ecrtificate for non-Windows hosts +cp ~/.rushstack/rushstack-serve.pem ./spfx-dev-cert.pem + +## add *.cer to .gitignore to prevent certificates from being saved in repo +if ! grep -Fxq '*.cer' ./.gitignore + then + echo "# .CER Certificates" >> .gitignore + echo "*.cer" >> .gitignore +fi + +## add *.pem to .gitignore to prevent certificates from being saved in repo +if ! grep -Fxq '*.pem' ./.gitignore + then + echo "# .PEM Certificates" >> .gitignore + echo "*.pem" >> .gitignore +fi + +echo +echo -e "\e[1;92mReady!\e[0m" + +echo -e "\n\e[1;94m**********\nOptional: if you plan on using gulp serve, don't forget to add the container certificate to your local machine. Please visit https://aka.ms/spfx-devcontainer for more information\n**********" \ No newline at end of file diff --git a/samples/react-training-checklist/.eslintrc.js b/samples/react-training-checklist/.eslintrc.js new file mode 100644 index 000000000..473df80cd --- /dev/null +++ b/samples/react-training-checklist/.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-training-checklist/.gitignore b/samples/react-training-checklist/.gitignore new file mode 100644 index 000000000..51ca7b9e7 --- /dev/null +++ b/samples/react-training-checklist/.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-training-checklist/.npmignore b/samples/react-training-checklist/.npmignore new file mode 100644 index 000000000..ae0b487c0 --- /dev/null +++ b/samples/react-training-checklist/.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-training-checklist/.yo-rc.json b/samples/react-training-checklist/.yo-rc.json new file mode 100644 index 000000000..49c8015dd --- /dev/null +++ b/samples/react-training-checklist/.yo-rc.json @@ -0,0 +1,21 @@ +{ + "@microsoft/generator-sharepoint": { + "plusBeta": true, + "isCreatingSolution": true, + "nodeVersion": "18.17.1", + "sdksVersions": { + "@microsoft/microsoft-graph-client": "3.0.2", + "@microsoft/teams-js": "2.24.0" + }, + "version": "1.20.0-beta.0", + "libraryName": "trainning-checklist-web-part", + "libraryId": "f9745724-d01a-4022-bbf5-cc4b89981c67", + "environment": "spo", + "packageManager": "npm", + "solutionName": "trainning-checklist-web-part", + "solutionShortDescription": "trainning-checklist-web-part description", + "skipFeatureDeployment": true, + "isDomainIsolated": false, + "componentType": "webpart" + } +} diff --git a/samples/react-training-checklist/README.md b/samples/react-training-checklist/README.md new file mode 100644 index 000000000..0ff6bd82a --- /dev/null +++ b/samples/react-training-checklist/README.md @@ -0,0 +1,115 @@ +# Training Checklist + +Sample web part to display a training checklist in a SharePoint page. +PnPjs is used to interact with SharePoint lists. + +![sample](./assets/trainingchecklist.png) + +## Compatibility + +| :warning: Important | +|:---------------------------| +| Every SPFx version is only compatible with specific version(s) of Node.js. In order to be able to build this sample, please 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. | + +![SPFx 1.20.0-beta.0](https://img.shields.io/badge/SPFx-1.20.0-green.svg) +![Node.js >=18.17.1 <19.0.0](https://img.shields.io/badge/Node.js-v18%20%7C%20v19-green.svg) +![Compatible with SharePoint Online](https://img.shields.io/badge/SharePoint%20Online-Compatible-green.svg) +![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://learn.microsoft.com/sharepoint/dev/spfx/sharepoint-framework-overview) +* [Office 365 developer tenant](https://learn.microsoft.com/sharepoint/dev/spfx/set-up-your-developer-tenant) + +## Contributors + +* [Valeras Narbutas](https://github.com/ValerasNarbutas) + +## Version history + +Version|Date|Comments +-------|----|-------- +1.0|September 12, 2024|Initial release + +## Minimal Path to Awesome + +* Clone this repo +* From your command line, change your current directory to the directory containing this sample (`react-training-checklist`, located under `samples`) +* in the command line run: + * `npm install` + * `gulp bundle --ship` + * `gulp package-solution --ship` +* from the _sharepoint/solution_ folder, deploy the `.sppkg` file to the App catalog in your tenant +* in the site where you want to test this solution + * add the app named _training_checklist_ + * edit a page + * add _Training Checklist_ web part + + ## Prerequisites + + > Any special pre-requisites? + + Powershell script to create the SharePoint list with the required columns: + + ```powershell + # Connect to SharePoint Online + Connect-PnPOnline -Url "https://macaw.sharepoint.com/sites/valerasn_dev" -Interactive + + # Create the SharePoint list named "TrainingChecklist" + $list = New-PnPList -Title "TrainingChecklist" -Template GenericList -Url "Lists/TrainingChecklist" -OnQuickLaunch + + # Add columns to the list + + # Title column is automatically created, so no need to add it again. + + # Description (Multiple lines of text) + Add-PnPField -List $list -DisplayName "Description" -InternalName "Description" -Type Note + + # AssignedTo (Person or Group) + Add-PnPField -List $list -DisplayName "AssignedTo" -InternalName "AssignedTo" -Type User + + # DueDate (Date and Time) + Add-PnPField -List $list -DisplayName "DueDate" -InternalName "DueDate" -Type DateTime + + # Status (Choice field: Not Started, In Progress, Completed) + Add-PnPField -List $list -DisplayName "Status" -InternalName "Status" -Type Choice -Choices "Not Started", "In Progress", "Completed" #-DefaultValue "Not Started" + + # CompletionDate (Date and Time) + Add-PnPField -List $list -DisplayName "CompletionDate" -InternalName "CompletionDate" -Type DateTime + + # Progress (Number field, 0-100) + Add-PnPField -List $list -DisplayName "Progress" -InternalName "Progress" -Type Number #-Min 0 -Max 100 #-DefaultValue 0 + + # $view = Get-PnPView -List $list -Identity "All Items" + # Add the newly created fields to the default view + Set-PnPView -List $list -Identity "All Items" -Fields "Title", "Description", "AssignedTo", "DueDate", "Status", "CompletionDate", "Progress" + + Write-Host "TrainingChecklist list created successfully with all specified columns." + ``` + +## Help + + +We do not support samples, but this community is always willing to help, and we want to improve these samples. We use GitHub to track issues, which makes it easy for community members to volunteer their time and help resolve issues. + +If you're having issues building the solution, please run [spfx doctor](https://pnp.github.io/cli-microsoft365/cmd/spfx/spfx-doctor/) from within the solution folder to diagnose incompatibility issues with your environment. + +You can try looking at [issues related to this sample](https://github.com/pnp/sp-dev-fx-webparts/issues?q=label%3A%22sample%3A%20training%20checklist%22) to see if anybody else is having the same issues. + +You can also try looking at [discussions related to this sample](https://github.com/pnp/sp-dev-fx-webparts/discussions?discussions_q=react-training-checklist) and see what the community is saying. + + +If you encounter any issues using this sample, [create a new issue](https://github.com/pnp/sp-dev-fx-webparts/issues/new?assignees=&labels=Needs%3A+Triage+%3Amag%3A%2Ctype%3Abug-suspected%2Csample%3A%20react-training-checklist&template=bug-report.yml&sample=react-training-checklist&authors=@YOURGITHUBUSERNAME&title=react-training-checklist%20-%20). + +For questions regarding this sample, [create a new question](https://github.com/pnp/sp-dev-fx-webparts/issues/new?assignees=&labels=Needs%3A+Triage+%3Amag%3A%2Ctype%3Aquestion%2Csample%3A%20react-training-checklist&template=question.yml&sample=react-training-checklist&authors=@YOURGITHUBUSERNAME&title=react-training-checklist%20-%20). + +Finally, if you have an idea for improvement, [make a suggestion](https://github.com/pnp/sp-dev-fx-webparts/issues/new?assignees=&labels=Needs%3A+Triage+%3Amag%3A%2Ctype%3Aenhancement%2Csample%3A%20react-training-checklist&template=suggestion.yml&sample=react-training-checklist&authors=@YOURGITHUBUSERNAME&title=react-training-checklist%20-%20). + +## Disclaimer + +**THIS CODE IS PROVIDED _AS IS_ WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.** + + diff --git a/samples/react-training-checklist/assets/sample.json b/samples/react-training-checklist/assets/sample.json new file mode 100644 index 000000000..8a26b2bdf --- /dev/null +++ b/samples/react-training-checklist/assets/sample.json @@ -0,0 +1,47 @@ +[ + { + "name": "pnp-sp-dev-spfx-web-parts-react-training-checklist", + "source": "pnp", + "title": "Training checklist Web Part", + "shortDescription": "This project shows how to create an training checklist using SPFx and React.", + "url": "https://github.com/pnp/sp-dev-fx-webparts/tree/main/samples/react-training-checklist", + "longDescription": [ + "This project shows how to create an Training checklist using SPFx and React." + ], + "creationDateTime": "2024-09-12", + "updateDateTime": "2024-09-12", + "products": [ + "SharePoint" + ], + "metadata": [ + { + "key": "SPFX-VERSION", + "value": "1.20.0-beta.0" + } + ], + "thumbnails": [ + { + "type": "image", + "order": 100, + "url": "https://github.com/pnp/sp-dev-fx-webparts/raw/main/samples/react-training-checklist/assets/trainingchecklist.png", + "alt": "Training checklist Web Part" + } + ], + "authors": [ + { + "gitHubAccount": "ValerasNarbutas", + "pictureUrl": "https://github.com/valerasnarbutas.png", + "name": "Valeras Narbutas", + "twitter": "ValerasNarbutas" + } + ], + "references": [ + { + "name": "Build your first SharePoint client-side web part", + "description": "Client-side web parts are client-side components that run in the context of a SharePoint page. Client-side web parts can be deployed to SharePoint environments that support the SharePoint Framework. You can also use modern JavaScript web frameworks, tools, and libraries to build them.", + "url": "https://learn.microsoft.com/sharepoint/dev/spfx/web-parts/get-started/build-a-hello-world-web-part" + } + ] + } + ] + \ No newline at end of file diff --git a/samples/react-training-checklist/assets/trainingchecklist.png b/samples/react-training-checklist/assets/trainingchecklist.png new file mode 100644 index 0000000000000000000000000000000000000000..cc10aff5b3fb0d6da76937b0024c2883ab6ed7c3 GIT binary patch literal 202845 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 r+Q;aIS)46wb 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
?+Ig)_a4613_}A`HWA%T44S%*T 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", + "container": "trainning-checklist-web-part", + "accessKey": "" +} \ No newline at end of file diff --git a/samples/react-training-checklist/config/package-solution.json b/samples/react-training-checklist/config/package-solution.json new file mode 100644 index 000000000..3ed06f087 --- /dev/null +++ b/samples/react-training-checklist/config/package-solution.json @@ -0,0 +1,40 @@ +{ + "$schema": "https://developer.microsoft.com/json-schemas/spfx-build/package-solution.schema.json", + "solution": { + "name": "trainning-checklist-web-part-client-side-solution", + "id": "f9745724-d01a-4022-bbf5-cc4b89981c67", + "version": "1.0.0.0", + "includeClientSideAssets": true, + "skipFeatureDeployment": true, + "isDomainIsolated": false, + "developer": { + "name": "", + "websiteUrl": "", + "privacyUrl": "", + "termsOfUseUrl": "", + "mpnId": "Undefined-1.20.0-beta.0" + }, + "metadata": { + "shortDescription": { + "default": "Trainning checklist web part" + }, + "longDescription": { + "default": "Trainning checklist web part to display a list of trainning items" + }, + "screenshotPaths": [], + "videoUrl": "", + "categories": [] + }, + "features": [ + { + "title": "trainning-checklist-web-part Feature", + "description": "The feature that activates elements of the trainning-checklist-web-part solution.", + "id": "531af3dd-6259-43e7-b5ce-6d77d1995ead", + "version": "1.0.0.0" + } + ] + }, + "paths": { + "zippedPackage": "solution/trainning-checklist-web-part.sppkg" + } +} diff --git a/samples/react-training-checklist/config/sass.json b/samples/react-training-checklist/config/sass.json new file mode 100644 index 000000000..5e78c982d --- /dev/null +++ b/samples/react-training-checklist/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-training-checklist/config/serve.json b/samples/react-training-checklist/config/serve.json new file mode 100644 index 000000000..a13d66eba --- /dev/null +++ b/samples/react-training-checklist/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://macaw.sharepoint.com/sites/valerasn_dev/_layouts/workbench.aspx" +} diff --git a/samples/react-training-checklist/config/write-manifests.json b/samples/react-training-checklist/config/write-manifests.json new file mode 100644 index 000000000..bad352605 --- /dev/null +++ b/samples/react-training-checklist/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-training-checklist/gulpfile.js b/samples/react-training-checklist/gulpfile.js new file mode 100644 index 000000000..be2918708 --- /dev/null +++ b/samples/react-training-checklist/gulpfile.js @@ -0,0 +1,16 @@ +'use strict'; + +const build = require('@microsoft/sp-build-web'); + +build.addSuppression(`Warning - [sass] The local CSS class 'ms-Grid' is not camelCase and will not be type-safe.`); + +var getTasks = build.rig.getTasks; +build.rig.getTasks = function () { + var result = getTasks.call(build.rig); + + result.set('serve', result.get('serve-deprecated')); + + return result; +}; + +build.initialize(require('gulp')); diff --git a/samples/react-training-checklist/package.json b/samples/react-training-checklist/package.json new file mode 100644 index 000000000..abd0db200 --- /dev/null +++ b/samples/react-training-checklist/package.json @@ -0,0 +1,46 @@ +{ + "name": "trainning-checklist-web-part", + "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" + }, + "dependencies": { + "@fluentui/react": "^8.106.4", + "@microsoft/sp-component-base": "1.20.0-beta.0", + "@microsoft/sp-core-library": "1.20.0-beta.0", + "@microsoft/sp-lodash-subset": "1.20.0-beta.0", + "@microsoft/sp-office-ui-fabric-core": "1.20.0-beta.0", + "@microsoft/sp-property-pane": "1.20.0-beta.0", + "@microsoft/sp-webpart-base": "1.20.0-beta.0", + "@pnp/graph": "^4.4.0", + "@pnp/logging": "^4.4.0", + "@pnp/queryable": "^4.4.0", + "@pnp/sp": "^4.4.0", + "react": "17.0.1", + "react-dom": "17.0.1", + "tslib": "2.3.1" + }, + "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.57.0", + "eslint-plugin-react-hooks": "4.3.0", + "gulp": "4.0.2", + "typescript": "4.7.4" + } +} diff --git a/samples/react-training-checklist/src/index.ts b/samples/react-training-checklist/src/index.ts new file mode 100644 index 000000000..fb81db1e2 --- /dev/null +++ b/samples/react-training-checklist/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-training-checklist/src/webparts/trainningChecklist/TrainningChecklistWebPart.manifest.json b/samples/react-training-checklist/src/webparts/trainningChecklist/TrainningChecklistWebPart.manifest.json new file mode 100644 index 000000000..0ded0120b --- /dev/null +++ b/samples/react-training-checklist/src/webparts/trainningChecklist/TrainningChecklistWebPart.manifest.json @@ -0,0 +1,28 @@ +{ + "$schema": "https://developer.microsoft.com/json-schemas/spfx/client-side-web-part-manifest.schema.json", + "id": "1e61d000-ed70-42d7-8d76-6e413489cca3", + "alias": "TrainningChecklistWebPart", + "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": "Trainning Check list" }, + "description": { "default": "Trainning Check list description" }, + "officeFabricIconFontName": "ToDoLogoOutline", + "properties": { + "description": "TrainningChecklist description" + } + }] +} diff --git a/samples/react-training-checklist/src/webparts/trainningChecklist/TrainningChecklistWebPart.ts b/samples/react-training-checklist/src/webparts/trainningChecklist/TrainningChecklistWebPart.ts new file mode 100644 index 000000000..55adf40e1 --- /dev/null +++ b/samples/react-training-checklist/src/webparts/trainningChecklist/TrainningChecklistWebPart.ts @@ -0,0 +1,100 @@ +import * as React from 'react'; +import * as ReactDom from 'react-dom'; +import { Version } from '@microsoft/sp-core-library'; +import { + type IPropertyPaneConfiguration, + PropertyPaneTextField, + PropertyPaneDropdown, + IPropertyPaneDropdownOption +} from '@microsoft/sp-property-pane'; +import { BaseClientSideWebPart } from '@microsoft/sp-webpart-base'; +import * as strings from 'TrainningChecklistWebPartStrings'; + +import { SPFI } from '@pnp/sp'; +import { getSP } from './pnpjsConfig'; +import { IChecklistProps } from './components/IChecklistProps'; +import Checklist from './components/Checklist'; + +export interface ITrainningChecklistWebPartProps { + description: string; + selectedList: string; +} + +export default class TrainningChecklistWebPart extends BaseClientSideWebPart { + + private sp: SPFI; + private listsDropdownOptions: IPropertyPaneDropdownOption[] = []; + + public render(): void { + const element: React.ReactElement = React.createElement( + Checklist, + { + userId: this.context.pageContext.legacyPageContext.userId, + sp: this.sp, + selectedList: this.properties.selectedList, + } + ); + + ReactDom.render(element, this.domElement); + } + + protected async onInit(): Promise { + await super.onInit(); + this.sp = getSP(this.context); + await this.loadLists(); + } + + private async loadLists(): Promise { + try { + const lists = await this.sp.web.lists.select("Title", "Id")(); + + this.listsDropdownOptions = lists.map(list => { + return { + key: list.Id, + text: list.Title + }; + }); + + this.context.propertyPane.refresh(); + } catch (error) { + console.error("Error loading lists:", error); + } + } + + protected onDispose(): void { + ReactDom.unmountComponentAtNode(this.domElement); + } + + protected get dataVersion(): Version { + return Version.parse('1.0'); + } + + protected getPropertyPaneConfiguration(): IPropertyPaneConfiguration { + return { + pages: [ + { + header: { + description: strings.PropertyPaneDescription + }, + groups: [ + { + groupName: strings.BasicGroupName, + groupFields: [ + PropertyPaneTextField('description', { + label: strings.DescriptionFieldLabel + }), + PropertyPaneDropdown('selectedList', { + label: "Select a list", + options: this.listsDropdownOptions, + disabled: this.listsDropdownOptions.length === 0 + }) + ] + } + ] + } + ] + }; + } + + +} diff --git a/samples/react-training-checklist/src/webparts/trainningChecklist/assets/welcome-dark.png b/samples/react-training-checklist/src/webparts/trainningChecklist/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-training-checklist/src/webparts/trainningChecklist/assets/welcome-light.png b/samples/react-training-checklist/src/webparts/trainningChecklist/assets/welcome-light.png new file mode 100644 index 0000000000000000000000000000000000000000..69eb3b48cd83031f106df4b4df127c749657e319 GIT binary patch literal 12816 zcmaKTWmsF!(>7Av-Jwt@?(Pl&in|1Ncb6i;i%W|Z_uy{DDef)>iUlq1y!rjF>-qYA z$Vtv-&(6-wJ+rejXJgb<J4-29?4Y^8uyxXi5w@!^8PoT|u2h@%3S) zq5DXkThXAAqF}2vX~~!2*=0;MhHy@ux;CjXc(f)VMF3#d_kO8H724(sZ9_t9gtnos zJ`A78oBUL^>?3AofKr#RU3)d<{5!>2*8M{|roO*F)Y7e{MxIp7*J+C+Ribm}2VT zpgqhEio2hF$*x5#b6lq3KS2UoHkgla)69#~%-KaF!>GMI!r?6*rxC67_b{VIa(Yyw z(xx{XZ?_oJ2bO9K*B1zYSq6!ecKA}K(mk35qV}y9>aBO-oEfccQVn%Kt&49Bd(p?r zE>=67mdvUr4O@8?8PP0~D@GsxoyFI)>`63mN&6=;QD^bFtS@~(oo7s2h{ODRZG_^d zr)W{zSYDhG`F^yBHOEU?UJUs5~Er(ZA)u_2c?&FNvNU9Qd&Bp z;IaSfw7Bw*Z1~JVerse9zQ!g{*Kna#nD#X^BWr(rzIJ6bY!C`Csj;5#CN`;K05&H4*SzyubP#y<5^ww4P_6ujx4)IG@sSiII(5nz_)?p> z6aiWYbJa}A#=L>v60hKf5k)f|keY{f$6LfeY4iN_W<_u?2Om5pE!sTqKpZ|w*`9u} zeJMN)9VB%#V+5TqRFyuE<2OVZqG3{YKe4!W5}82-E?(ZC_SGEW?yDV#_lnswv<)1pTH9z}Uw^bGIAMsTNS`+fGK z<$C1Or-N0M`K$^JrPwqK25cY&1%{TknwO+@WC?SD7II^I;jG!bDpXfu<9&nXC3D&n z2a+eVpNx4OTTmHsHF&nVy-woK)<%p&&h&X@G8R-;8@s6xveO!HxUUu8AMPgCTLb9D zCCq4ZydibhAK_KreXYdU6L`t+9cf&c3(^#3NZU$>7Mnr!AcApZq?Dm52y~>GE<)=~ z(Gc)nMY7CJGdS|J-g8KFVVgQ1GXgFqJC$|p5&#(E6^dGH6Gc2)90+D2Kuyi%4=tu{ zAN9#8%<^W}azJJKd93%&@|5k~XICoO*5Ya$1MWYPY)R2bRXudK`UgYPkhXkZZG|sP zlez*)T8b*m3!5IklJae$@P$^DAjD;pUVSCq^`~U96U)9;O)4n`U8U^ek;|bV`}R}# zA+;Twne9l7!Gr661+S&yvoK2Gsp>s`Sk21=2W2TcVEW|LA0wZ-9T{*(&Gq*|iB0U# z!=6hi>M+$n1ZAW>MK^PiOo_jl{#GwguDJl}*0M}kCn7{1CS8q^)ztD{i@E$pQ>^El z0}5An59->c&taQOJ&5FPeF+5OWY8Chpfqo~4wjR~Y#(M^@tfc4lVlRrqTxNI0iV ztP7K^5*$QaZR(l{%v)W8xU9J*$!GoTPd_y^Obl?{B|i4~isY_Gy}?e#`m00OMG z8s`OjEWc3UkTmi-1IB}pN@iNBuq3u7&G>fIvc_c_52!s+mPmf5x|pk!?+8PN4gZh| zrlG=5QxhbqAyMA_>+#`Eom=VjI|))AZ8#Q!ghiP|{(~reS9;pKmww)tuS>F%I<2U# z+%cKBBGv^USY9vHDBnA-b{Htu>q=1~Dgh7=t;s$U$g$JfUu4**nu8JSSm)P0v_ShP z(qpf=xtYE@Zj^fxOcMBCvRfS;lBDHS$qs(wY-dS(mxm$V7zzB`E0I?b}tl@!{JghGw<(t&75QPVN(qAOk zR}|0xS{}VVD}~U2f8~U{o;R7zACN42pq8ubkbmwr5P;cN`%cjyDL{dZi4@;gP?6Y9 z)OY8Xr-+lp8dsV5ckzcFOGGQCfdrrP20&W_O;2Z)muKpxO{X0>5;e|KcsKUELmFY` zCyCtD)B4ZMOtYghR^kBu9-6}YvZ+o`kFSmt&;LA>A^JWQChaiSOwieyN`cw^muVEr zV8%0!2KFlHS<&p$jf=KEZn~uCf`cm0tw~r<{6Jm#kpf6Z2Vq@Tp9dh`N&;C#c-nd?5ZkE%k)wk_E?U+XL97P{B&JV#E@qsBEC34(gz zGoG7M7e-_VdJlgHEFT4B$2h%+<%k|>N=*XIpmM9c%X-E#wPEbyi^k(#SMSjmPcj#& z9Cm>uVx{oUH=BUe(#V5`-#S19K2b==-lv&scqCj4#zHT7xCU4j7u$}WL^AT~MEIC` z{K=McTP|vh6*zc6dKzv8E*G*{e7N!sW_){_VuJuw%o?;2-XRUsi&_F{=(*t*)d9nY zLGOY5l+VYE*Gc)NrsQw4W)G2jJ{Av8NV?L~KVndO=lUA!zFn)Rr`l!Reb7}{8isO< z3SCu6HSDZiAB41rxcE-46FhHrk(knikdQbxwxdGxDC5zGb+v1aQAFuUz_XZ*2Ig-6 zH-nGprwaRzS;=c1A3HR@|6YJsK&6l_ z6N~LkgrjY#al<`ManSAM%&i=P}Qh#Q1I^=qOaygAiZ+b5Wsplrtiq8akXNjV1f;Hz%1;N>JS?1GHV+cF?Xc^?^ zEscbjv>D66*99h(Q53z{QeUdm_l04Mn`mdCQhj5rLn&{Z41TaF=q_gqtO@qvu0S9nO7&q_`i zV=YKH3GL}M|IcF)et9qUZC7iqm+Qy+E?%}<>reP{$R@N1c$;!^RWy)LNqg3#YN}GvUTK72LXDC@!2eYr4heT$32R%o*KmKjQVsh@Iu0=I z(u+0+yCN%Xv@TaLqb!&g?714KpsipX1teT)6-8bK`k1oKz^(6&1jDm7ZLXw&Mj7EM5<@=P_Ob-zkzHT^uV{7 zKT2mdaN^I&R(ZnRAH&@--{r!GL>2JCP{)<|p^3ID&cR+cd{P*kq_?%|r`k>bG2EFX zmq5e9OA2oX8aWH^tYas?Axf5L+?bhRp3P28L*hu_6-0$g1ZgW1tkFJ6Eh<+TN9YV* z^j}5|Nd}e#Tiu-WiU;ACoMDNIQ^>O$??P?oYZTF_0W_GX?~;ZG7Ccga3S^Z%A`Lr8 z4wD=pPe_sP7r1QFN`G1mI z2KNymH8l;4zW8;d2;T)#Uq2dc*xA4uK}X-aDwwt@GGpbmdt(s#Tm~m!)c(n1g3X9m z_AsHmm)br5GmpzfXs&bH02N?Ql0V{H4rXg?q<0?_8mSfHBs`z4|1p^==b}Hz%Q@%t zNB3OTPhuVY3vKfrm#PmJU>U z%;~gM@K^|7_HFwo%vBrle%tAg?X-UvqexKK&zy}R$ zQ(1a(%7|JY20Ejrz6-Ip>evjmfEK4ht;fH>#fQ5p3Tt9J`=`+z1`VRl885QJT(r~( zgZ^;j55qX(9q8ko3KzqT}F21|8HN=6u%Hh{)cxrKzrE^tWX_bsZ%;EEX<~t=IwC32B?$ z7t(ss(i{_orSfCu{QM>RmAkp%Gnvf6DD|WTC^&jXw!#D#QfjDuqGt7HVL4aJ%#%s- zW4n?x8Q575{5Bbg-NQZCCh1|ZP{@Y+{+H+(X~O>a#}dEbck}XIvi}oQ>~vu2Qq*7# zP5}jBEO}qhKEZw?i(`5!Sa#!flo%4?*;V@(HDWanjtt0q(-|k*TG6eN>{g}s*Cow* zHowN{@;v`UD;+tES5Q$ofgbP55HrVhd&D54@7FI;crH|#@)^(h>GU*0#{jjUQgqUB z4f)kVfwld;_*0)ufucjYPFkiJwPpw@f$4Pu)KMEhPDZsX5UqyOFVJ7|n91Z%Ao6;R z7+F5xJ_^|y%ZDij5uf3BcR#A%ZYBF1pPsHrpZ!YRex*umHG5v}N%tg{4Pmk`ozb=` zaTQ^W>}{q#kZ_SoH1gAo z+6sV(X8avzR7Bp!Z$!(>B;(d`aw-d>dS68YEB2$?pQXkak`~kqlB5PoD~SnIxHiTp z){LYg!xRzX`NR_TW!VDFG)2X(>v^#u4j=kq2{*H_3YOWH)Mj(L=)fU73Zi6?#($gKOzb!GB!W{CVL`-XBAcm3v<9@q^u$nvcpuo6C* zTx)R{Ok*-$?ev>r;G%3N|NVg3*J4j6=jd3LO@@?WBBVh<+J#GGBU5R*EBMP~YEbl{ z_-hqf&raw*rY>M&?X+)rG-viNM=Z7in~|~#Lz;hw5cT>S1={NIl=G?9wKbZ#u>$JW z$P^sZ=&XJ$;`}|I(Ty3fb&e3abw2Hifb@Z01!bju7eMkmTB8xz?Tnz+cxYFzAB*bI zqx!@{A>ybdpoES~%7-WZNvCAgbQ#+|-fRP zd)q!Gxxj5gNhPgDbOCJ`IY8%^)AmFP5B0gK_mZuha*3Z^uP+8g?rL6k#`WCFrRD{~ z%ircA?D50Wr}2f%ER&%p2vc=!g%ov?e^S&b%U5PvYrz0g(ha8gl(itg+gO9P9L(#h zfKE!OT+~v>LNnp0Ea|L7KU(G@xu__#a=NZkYeAQT|1szu$$6k~*X~nog4eBFa3kL- z4nk_#aNe3K#qEWL?;zY7O~~{e8=+w70fS&XOBj5NeuDFSN@W7mxRTb#O^*FHq}DBP z*m3H^M8c$N)uAPu7F~UXZSGv2w785IH@Y9?1g5LwoY0W5o&c$ zD0QIc4k_6CcK3AEyNv@e`!fg6=ULIL^;_lox0`P5%Y-)9HsR(XUraA8vw^4q-*agP za(NXb{JDPwA+GYGSIKE|Xy56eLFq~TYFBgxz?M7zH=2c=9(azYMJs%Z> z1JbB`8g_b^E_42xKJ$;@q^hdk3dAeLMW=C@lq(CRIqvp2bC@Wcp0oQIAHY@y#Q5#> z3s)D0Xew_gvS!^hPO$$)F+e!s_3y|^(`)F_s|MYYVeJb!zjGISoR%r*91XOrF>SBa z>xV8IXMYL#jb>f8r3E*jLbNg=_P&?DlRkYe1)7fuH1~KENMeyfvLKv4xP5XqY;><3 z3%xW-L7pVqY(acC8zHPNuiyx`8R%aBdHgQ~G|t4VuA!6QQKn-4do0}=w6JqqSlqSo zvKGkib$D4$6%<~?z|1PQm?G2_@}hhiXo=*%c)7KxP_s9XVBXbgN$2it3R5T&qOw%_ zN$4f?Bc)!h|02K1g6rnakT&xh>;!IGMW}uXejy0V7#-}g4F9kvz7eD9)QjiL%YGBQ zj?%amv$!Z6T}nkh6g};tBNkfE=^=1YbD(>~*xb$RcIp#;E6R%XaL=Tb3s7+cu>LwJYuBnfI41FjBp>tkVYk z9+P9N;%?`mv4}e^dyhA&OWs|UiRP~v*Nu+O^GN4LYV7adQz2SAvYFgez?dz055=Bj zGwyhrn!oswy`3j}ZAR+EapE5PKb9;;iMSZB!t@cLkq7N^Td?cvB=a*9b7_kc((p*> z2LCBpTxSAuWVo%TEB4;bEf;UP6@#~+I#8eRKF{BG%1%MKL{L{2%_&Yx;Y%`-u?7yF1cZyqKVj15d za1wv-UAhdEmH%lN)K@KItM^?W3CabFkF0wCP8!5&+->Kz(e1vb(~Pm_?#8(B=^qA` zg%;43EhdW+>Ydn(I(>0^X4QFR@Obh=mOB>px;^XtvbU!q4Hq}mKOkUuZRd)<5&C!1tB92_ofL7G&3Zj@Id8Oaz6HJPJ&Xk`|JzJZue*7f z|JTZDNH^;W)OKQ>rqZ8ql%M3t@WL1Jo-EJII>(V5fCn1VMU+S3JKqL4Y_v!YuW&?) z3!n?~aqS0*2?ZG-e4%Hma+u(imwpYh&$FE{B36RMmqast{WLJ+F zC5JOyULGD@UmQp1@}sP%z1Y#?YY4b9A1ClCRJhJsR{4gr(j74%V3N9nt5ujSI@$y@ zJ^JTkj;yRJA<=*}S`9+x{1>#K+x(tHFtvDa;CL?akHeul5H`S5WQaLGh+L;=HGVNY z-OHFmX-C3be{pek_G82bqv!hh??si*Y<}ziHu6JA*gAh5`dn~y{z<{n3bi7ZYz$XP z)R)O-NJ^j-j|-1dEqomISE?3eijbgz?u!OB3{hvzS1PkQ5IM$o1Zgt}a_y(eI#28y zt>?2qVDaQh4w~`Bx-~qL7fs{<&fwC>1#7MYGTHn6xE&qm>{Y9>6K)s9Ibn|Y%x&Lk zE;B6v%gV;g2WtiB_9R|Sw)l7r_Ll#5IQh?=&cnCU@fF{BT#+`b*QV){ldf25ULP5t zcS(AjTD?G1+u}yF_Mk2RUv8RQD3Yj3XZo1~SS?kNWb4w|8XVF}ch^>A9Vx5bT-C=C z10Pc|lta}J0}odSd;LfL{qFrIhVieArwK7bp{Un~tCO>bAI{yPd#H3tquar|dn?W7 zgcJO{MyzdNN4rFyNNe zwb}(e#J7XWNzPj}b23Y0-N@^6(?3Wc60WvESeI)?tQxLQiiE3_mDTH~ z^Q!ww%OdBI_N&Dg!+(7{vh=vF3QN==Q)c9g3~?XK@W_ap*=QmKyZq5g}bwlbA`H8w&t;-n^TwpnA zVba{hj!*|C!d&d`3>(&hm5m+3f|dMBrTu2TH-^2UViNNXkc0)e*@yxKmz|(zjo`X4 zn`Jn9f^@v+ujOqtizckl0&olx$eJxM*C}+9NGH?mhtfzv0%h0M$UDj3F*{zz)}B(* zcJq&;W@+*dy)qftP6%mLn?xy+)WsM*NUxA-Gb%we6IYyJN3!{VT37J_8%XTG=S3%C z%=kZ1n{*Gu%|ilnCWw4KDn6AalMG#a zdDtmb7z^lqp)sO=Mh@?yM#f1=tnnb-JHCnQ(7Vw!x_1g^hy z&mMjwSj>Vw(9HZP+Bk3O!cNks)S5q(kjf9OP*rRn4#Zxawk~UW(UJ#}I*RQ{nB$>q zQ^aiKu6|b_rsLA-8tj_+nj|Lnq4Qnn1#+Sld5|KBfrYPVsIn3J2IJzL!X!jy$2LPK z`QLPSp?O-oh!$8uDG#|-^rGM8xP`F{>t^_p1vfQ@)1mtC+VX+8j&D#R>Xm$z@(C;J z?|xJL47x4a=vm(|9p6wkS1>c~p>az^YwL1uRnUoJrt#OBdm@Gp)Z0xoLO3By zm!5xWK(k#5^UsDb#uL;)ZMnxSZGJL)XFX)?xeS8wqpUCf zy(=GYXQ_oR)4>!n8n5b0*Bpb6g*@~9OO zy~Nk+gYu)UK^n!0bOZhb&}9HDcujz7xn4q&=OV-CNZIfzcyVNQpd-E6Mu*CUNG;=X zQWL%!A0y1?S2Mj3UV0uT&($PEU%-GTkqt-YdUG3yCaFTxHn!$aChbY(+-4@wq9*W9PdgXU05Nx?GBSj34A#M1 zI&ZTmwsvBYhStN6(r~&{{)pCLZqdMZdfvt!YCg!MgQV!!>aJwL%g`BHCjjO$4}=@sZEt~@xVYCA#IH@Y46B?H@gtJ z=RU#@P+sYg_ploPN)~506u4yh+FVxFY>|DtgI6Wov1|0!5=#WCS^wLGOM)F-*c7CE{tSgRN#SF$oZMkmA)4#JGR`wPN%p>4ql;d=Ul}NrgT-1Fb93iiZEa}lA|xgkrVRBqjRr=*bp{Zig1~6p_r0USLx79^ z8o*_c4(gH9A!UNnJ8z*qNM0HelOH=I)LwS}+kL!Z33Vro+S6gob1CIDCbYi*oygJ16_ZIN`bmj7Qv%}|uIQt9{lwsUI zliK=oO`3WuUmlIU==G0Y2&{oILq4Q!hv2N$MK+C%3Kq$A6nT+z!I64StUe15#M$6_vY{ z(aO+DYDt7tMd!0YHd9T$wrm9btOu6?cHB_~_Kx%ejfddx>7A9>F*T#J(AxW0eQF$3 zdXo#QYbhp(PT>T}wgiK}YF}wg47D)HdG)A<(oi>nw7|B$Zz#`6Qf^vQrG3Wf2a86i zI2o%dD@9k<*JrKc9lk-X{qO&daD$TyJLzOd>!gn@<1r+&oA&q-CIL3Wa7E#6_p@;o zxTx`%<*^kuV|ANH`zAjbR)qEg);)3F!!2jeN>qJ+?pv8^8PI31-Eyqr*^j|3o6}5DTxA}H$1@w(c3iA`*?4KA>e8zv8PO|%Y z?uTXS20nNzFZ$}n=gKe9wr~~-P{Y;N_Fpz>Aqau&Bl3>5h@P2d;fp2nN)GclZR0Cy zpHRsxb|A3;SqXNb61}R++FXD8azciZ`QbxQxJbxg%CHB(Q3d~XZJZTSX?BB@Z_DxF z&K4z$s#N;XVl?J6Kcq#;nnL4vE_*WW;>ijf=!f+QxMjEe(axKmB5{09Mv@lfSPial zD5xdN3o3;*c=-;2Toty!2Z(1j4^ZmwKv!-LCh{+=MeIR^v&e<&^RD8hc0`HDXYtsA zQ4F{9N#&ghY!OSeBzpyFh1i9+fCWNlBk`DeeuG~c%NyrG4;6_aBH*jX-(`HhKaW%M zA%ZZ&DI=kS?uE7^~-$EruBJ))e~{Xf0nSi@;r`EGW>dC|Cc0zo+2B$_m5L)sl%zWwqfB80&+jRn7Ck zbmd4eh93lwFDnc)kgmo=jeqa1yn!{`@NpVRQm-IIBS-`lM?d4Ip9tmarqA|k;rRX& z)o7TS=0J!%TTQ@qOB$bUdM29`i%Dqv&&sLm$_Bx5F<8uuCr77wjFCy}o6Ss-j?G!I z%{|E=N3U53g)v9Q2XNANf|#=W;I$X4<5_vCA)lUW3g2#H5_H7p&LS^>{W5mR1`|!GMTl1&Omg@e~C?%BNiI7bCQL{MLIsGwTQR3;A;_z zzdywEBYWHYh2N$hH&|o8VNk&yvywG859&yWStdp-ncn3SU-|KRwg$|F|2SLeBZR&q zU~Og1Kp`HS92&hRz@Ech*?cp5TLqo?>9tH*Mv7PFqn8=0t2&irDJHeiySddeF9OC(WMiN zxfA87jxQpt<17D?#pH<;e7pVPSK}G6#78nU!;63ojNjEhu$a>!e>^+BMkwquq@}&>F;Nz*$_|nyn2tBvJw`v9v4eUnl{SKww}h{eWMzk#7rOwUNo!`^ znB65W)+Se7l}GCC0)AZU(Q=q<nX$>tieb}TUunIE_&U}7Pf{?m zLH8!wum;pcvd}mDs6?f$V50qYkYu~!?CE(EsK2_=tg`Jn{#3i|e^Mi-to*H@$HmeG znS{G+$UJ)S025u=Gkax=ddsvCh# z%x#y2rKMQtg9vu#<>lpoNPeW=MB6f}21LQi^AopN2=n3>we+W8yCEvMU9@sXN{=&gEd_V~;^rZBsEBw7E z`+i_9CO3(UV_eJc-Yav1jfPAhrlw7Blywkm%UrnPLgc}TEp9UyGpLvFUveFFdQ--E zevMYr>Ca7bM*>DwTjuOc-oOq=IPC@}KZvvt9%B}2V1e#?Vd$!)vc2qBtI*R5abz8u z%WFl6VwLlWK(?fCENBRz(IZWg7PX00bh=ZU6uP literal 0 HcmV?d00001 diff --git a/samples/react-training-checklist/src/webparts/trainningChecklist/components/Checklist.tsx b/samples/react-training-checklist/src/webparts/trainningChecklist/components/Checklist.tsx new file mode 100644 index 000000000..c92c8f1a1 --- /dev/null +++ b/samples/react-training-checklist/src/webparts/trainningChecklist/components/Checklist.tsx @@ -0,0 +1,125 @@ +import * as React from 'react'; +import { useEffect, useState } from 'react'; +import { IChecklistProps } from './IChecklistProps'; +import { IChecklistItem } from './IChecklistItem'; +import { Checkbox, ProgressIndicator, Text, Stack, Persona, PersonaSize, Icon, Slider } from '@fluentui/react'; + +const Checklist: React.FC = ({ userId, sp, selectedList }) => { + + const [items, setItems] = useState([]); + + useEffect(() => { + if (!selectedList) { + return; + } + const fetchItems = async () => { + try { + const items = await sp.web.lists.getById(selectedList).items + .filter(`AssignedToId eq ${userId}`) + .select("Id", "Title", "Description", "Status", "Progress", "DueDate", "CompletionDate", "AssignedTo/Title", "AssignedTo/EMail", "AssignedTo/Id") + .expand("AssignedTo")(); + + setItems(items); + } catch (error) { + console.error("Error fetching checklist items:", error); + } + }; + + fetchItems(); + }, [userId, sp, selectedList]); + + const handleCheckboxChange = async (itemId: number, isChecked: boolean) => { + const updatedStatus = isChecked ? "Completed" : "In Progress"; + const updatedCompletionDate = isChecked ? new Date() : null; + + try { + + await sp.web.lists.getById(selectedList).items.getById(itemId).update({ + Status: updatedStatus, + CompletionDate: updatedCompletionDate + }); + + setItems(prevItems => + prevItems.map(item => { + if (item.Id === itemId) { + const updatedItem: IChecklistItem = { + ...item, + Status: updatedStatus, + CompletionDate: updatedCompletionDate + }; + return updatedItem; + } + return item; + }) + ); + } catch (error) { + console.error("Error updating checklist item status:", error); + } + }; + + const handleProgressChange = async (itemId: number, newValue: number) => { + try { + + await sp.web.lists.getById(selectedList).items.getById(itemId).update({ + Progress: newValue + }, "*"); + setItems(prevItems => + prevItems.map(item => + item.Id === itemId ? { ...item, Progress: newValue } : item + ) + ); + } catch (error) { + if (error.message && error.message.includes('Save Conflict')) { + console.error("Save Conflict: Please try again."); + } else { + console.error("Error updating checklist item progress:", error); + } + } + }; + + return ( +

+ {!selectedList ? (Please select a list from the web part properties. + ):( + <> + Training Checklist + item.Status === "Completed").length / items.length} /> + + {items.map(item => ( + + + {item.Title} + + + {item.Description} + handleCheckboxChange(item.Id, isChecked || false)} + /> + handleProgressChange(item.Id, newValue)} + /> + + + {new Date(item.DueDate) < new Date() ? ( + + ) : ( + + )} + {new Date(item.DueDate).toLocaleDateString()} + + + ))} + + )} +
+ ); +}; + +export default Checklist; diff --git a/samples/react-training-checklist/src/webparts/trainningChecklist/components/IChecklistItem.ts b/samples/react-training-checklist/src/webparts/trainningChecklist/components/IChecklistItem.ts new file mode 100644 index 000000000..dd6362b9f --- /dev/null +++ b/samples/react-training-checklist/src/webparts/trainningChecklist/components/IChecklistItem.ts @@ -0,0 +1,11 @@ +export interface IChecklistItem { + Id: number; + Title: string; + Description: string; + Status: string; + Progress: number; + DueDate: string; // Optional, depending on if you need this field in your component + AssignedTo: {Title: string }; + CompletionDate: Date | null; // Optional, depending on if you need this field in your component + } + \ No newline at end of file diff --git a/samples/react-training-checklist/src/webparts/trainningChecklist/components/IChecklistProps.ts b/samples/react-training-checklist/src/webparts/trainningChecklist/components/IChecklistProps.ts new file mode 100644 index 000000000..2b47f06af --- /dev/null +++ b/samples/react-training-checklist/src/webparts/trainningChecklist/components/IChecklistProps.ts @@ -0,0 +1,8 @@ +import { spfi } from "@pnp/sp"; + +export interface IChecklistProps { + userId: number; + sp: ReturnType; + selectedList: string; + } + \ No newline at end of file diff --git a/samples/react-training-checklist/src/webparts/trainningChecklist/loc/en-us.js b/samples/react-training-checklist/src/webparts/trainningChecklist/loc/en-us.js new file mode 100644 index 000000000..3b25e74a7 --- /dev/null +++ b/samples/react-training-checklist/src/webparts/trainningChecklist/loc/en-us.js @@ -0,0 +1,16 @@ +define([], function() { + return { + "PropertyPaneDescription": "Description", + "BasicGroupName": "Group Name", + "DescriptionFieldLabel": "Description Field", + "AppLocalEnvironmentSharePoint": "The app is running on your local environment as SharePoint web part", + "AppLocalEnvironmentTeams": "The app is running on your local environment as Microsoft Teams app", + "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-training-checklist/src/webparts/trainningChecklist/loc/mystrings.d.ts b/samples/react-training-checklist/src/webparts/trainningChecklist/loc/mystrings.d.ts new file mode 100644 index 000000000..49d6d1ffd --- /dev/null +++ b/samples/react-training-checklist/src/webparts/trainningChecklist/loc/mystrings.d.ts @@ -0,0 +1,19 @@ +declare interface ITrainningChecklistWebPartStrings { + PropertyPaneDescription: string; + BasicGroupName: string; + DescriptionFieldLabel: string; + AppLocalEnvironmentSharePoint: string; + AppLocalEnvironmentTeams: string; + AppLocalEnvironmentOffice: string; + AppLocalEnvironmentOutlook: string; + AppSharePointEnvironment: string; + AppTeamsTabEnvironment: string; + AppOfficeEnvironment: string; + AppOutlookEnvironment: string; + UnknownEnvironment: string; +} + +declare module 'TrainningChecklistWebPartStrings' { + const strings: ITrainningChecklistWebPartStrings; + export = strings; +} diff --git a/samples/react-training-checklist/src/webparts/trainningChecklist/pnpjsConfig.ts b/samples/react-training-checklist/src/webparts/trainningChecklist/pnpjsConfig.ts new file mode 100644 index 000000000..7d5727a61 --- /dev/null +++ b/samples/react-training-checklist/src/webparts/trainningChecklist/pnpjsConfig.ts @@ -0,0 +1,20 @@ +import { WebPartContext } from "@microsoft/sp-webpart-base"; + +// import pnp and pnp logging system +import { spfi, SPFI, SPFx } from "@pnp/sp"; +import { LogLevel, PnPLogging } from "@pnp/logging"; +import "@pnp/sp/webs"; +import "@pnp/sp/lists"; +import "@pnp/sp/items"; +import "@pnp/sp/batching"; + +let _sp: SPFI | undefined; + +export const getSP = (context?: WebPartContext): SPFI => { + if (!_sp && context != null) { + //You must add the @pnp/logging package to include the PnPLogging behavior it is no longer a peer dependency + // The LogLevel set's at what level a message will be written to the console + _sp = spfi().using(SPFx(context)).using(PnPLogging(LogLevel.Warning)); + } + return _sp!; +}; \ No newline at end of file diff --git a/samples/react-training-checklist/teams/1e61d000-ed70-42d7-8d76-6e413489cca3_color.png b/samples/react-training-checklist/teams/1e61d000-ed70-42d7-8d76-6e413489cca3_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-training-checklist/teams/1e61d000-ed70-42d7-8d76-6e413489cca3_outline.png b/samples/react-training-checklist/teams/1e61d000-ed70-42d7-8d76-6e413489cca3_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-training-checklist/tsconfig.json b/samples/react-training-checklist/tsconfig.json new file mode 100644 index 000000000..c4cd392ad --- /dev/null +++ b/samples/react-training-checklist/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" + ] +}