diff --git a/Environment Integration/SharePoint/pdfviewer-spfx-react/.gitignore b/Environment Integration/SharePoint/pdfviewer-spfx-react/.gitignore new file mode 100644 index 0000000..5de8473 --- /dev/null +++ b/Environment Integration/SharePoint/pdfviewer-spfx-react/.gitignore @@ -0,0 +1,38 @@ +# Logs +logs +*.log +npm-debug.log* + +# Dependency directories +node_modules + +# Build generated files +dist +lib +lib-dts +lib-commonjs +lib-esm +jest-output +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/Environment Integration/SharePoint/pdfviewer-spfx-react/.npmignore b/Environment Integration/SharePoint/pdfviewer-spfx-react/.npmignore new file mode 100644 index 0000000..b2625b8 --- /dev/null +++ b/Environment Integration/SharePoint/pdfviewer-spfx-react/.npmignore @@ -0,0 +1,22 @@ +# Ignore everything by default +** + +# Use negative patterns to bring back the specific things we want to publish +!/bin/** +!/dist/** +!/EULA/** +!/lib/** +!ThirdPartyNotice.txt + +# Ignore certain files in the above folders +/dist/*.stats.* +/dist/**/*.js.map +/lib/**/*.js.map +/lib/**/test/** + +# NOTE: These don't need to be specified, because NPM includes them automatically. +# +# package.json +# README (and its variants) +# CHANGELOG (and its variants) +# LICENSE / LICENCE diff --git a/Environment Integration/SharePoint/pdfviewer-spfx-react/.yo-rc.json b/Environment Integration/SharePoint/pdfviewer-spfx-react/.yo-rc.json new file mode 100644 index 0000000..86daff5 --- /dev/null +++ b/Environment Integration/SharePoint/pdfviewer-spfx-react/.yo-rc.json @@ -0,0 +1,19 @@ +{ + "@microsoft/generator-sharepoint": { + "useGulp": false, + "plusBeta": false, + "isCreatingSolution": true, + "nodeVersion": "22.22.3", + "sdksVersions": {}, + "version": "1.23.2", + "libraryName": "pdfviewer-spfx-react", + "libraryId": "640c4139-f44f-45fd-80ce-81dc45b85085", + "environment": "spo", + "packageManager": "npm", + "solutionName": "pdfviewer-spfx-react", + "solutionShortDescription": "pdfviewer-spfx-react description", + "skipFeatureDeployment": true, + "isDomainIsolated": false, + "componentType": "webpart" + } +} diff --git a/Environment Integration/SharePoint/pdfviewer-spfx-react/README.md b/Environment Integration/SharePoint/pdfviewer-spfx-react/README.md new file mode 100644 index 0000000..49251a4 --- /dev/null +++ b/Environment Integration/SharePoint/pdfviewer-spfx-react/README.md @@ -0,0 +1,77 @@ +# pdfviewer-spfx-react + +## Summary + +Short summary on functionality and used technologies. + +[picture of the solution in action, if possible] + +## Used SharePoint Framework Version + +![version](https://img.shields.io/badge/version-1.23.2-green.svg) + +## Applies to + +- [SharePoint Framework](https://aka.ms/spfx) +- [Microsoft 365 tenant](https://docs.microsoft.com/sharepoint/dev/spfx/set-up-your-developer-tenant) + +> Get your own free development tenant by subscribing to [Microsoft 365 developer program](http://aka.ms/o365devprogram) + +## Prerequisites + +> Any special pre-requisites? + +## Solution + +| Solution | Author(s) | +| ----------- | ------------------------------------------------------- | +| folder name | Author details (name, company, twitter alias with link) | + +## Version history + +| Version | Date | Comments | +| ------- | ---------------- | --------------- | +| 1.1 | March 10, 2021 | Update comment | +| 1.0 | January 29, 2021 | Initial release | + +## Disclaimer + +**THIS CODE IS PROVIDED _AS IS_ WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.** + +--- + +## Minimal Path to Awesome + +- Clone this repository +- Ensure that you are at the solution folder +- in the command-line run: + - `npm install -g @rushstack/heft` + - `npm install` + - `heft start` + +> Include any additional steps as needed. + +Other build commands can be listed using `heft --help`. + +## Features + +Description of the extension that expands upon high-level summary above. + +This extension illustrates the following concepts: + +- topic 1 +- topic 2 +- topic 3 + +> Notice that better pictures and documentation will increase the sample usage and the value you are providing for others. Thanks for your submissions advance. + +> Share your web part with others through Microsoft 365 Patterns and Practices program to get visibility and exposure. More details on the community, open-source projects and other activities from http://aka.ms/m365pnp. + +## References + +- [Getting started with SharePoint Framework](https://docs.microsoft.com/sharepoint/dev/spfx/set-up-your-developer-tenant) +- [Building for Microsoft teams](https://docs.microsoft.com/sharepoint/dev/spfx/build-for-teams-overview) +- [Use Microsoft Graph in your solution](https://docs.microsoft.com/sharepoint/dev/spfx/web-parts/get-started/using-microsoft-graph-apis) +- [Publish SharePoint Framework applications to the Marketplace](https://docs.microsoft.com/sharepoint/dev/spfx/publish-to-marketplace-overview) +- [Microsoft 365 Patterns and Practices](https://aka.ms/m365pnp) - Guidance, tooling, samples and open-source controls for your Microsoft 365 development +- [Heft Documentation](https://heft.rushstack.io/) \ No newline at end of file diff --git a/Environment Integration/SharePoint/pdfviewer-spfx-react/config/config.json b/Environment Integration/SharePoint/pdfviewer-spfx-react/config/config.json new file mode 100644 index 0000000..c238cb0 --- /dev/null +++ b/Environment Integration/SharePoint/pdfviewer-spfx-react/config/config.json @@ -0,0 +1,18 @@ +{ + "$schema": "https://developer.microsoft.com/json-schemas/spfx-build/config.2.0.schema.json", + "version": "2.0", + "bundles": { + "pdf-viewer-web-part": { + "components": [ + { + "entrypoint": "./lib/webparts/pdfViewer/PdfViewerWebPart.js", + "manifest": "./src/webparts/pdfViewer/PdfViewerWebPart.manifest.json" + } + ] + } + }, + "externals": {}, + "localizedResources": { + "PdfViewerWebPartStrings": "lib/webparts/pdfViewer/loc/{locale}.js" + } +} diff --git a/Environment Integration/SharePoint/pdfviewer-spfx-react/config/deploy-azure-storage.json b/Environment Integration/SharePoint/pdfviewer-spfx-react/config/deploy-azure-storage.json new file mode 100644 index 0000000..e5504b9 --- /dev/null +++ b/Environment Integration/SharePoint/pdfviewer-spfx-react/config/deploy-azure-storage.json @@ -0,0 +1,7 @@ +{ + "$schema": "https://developer.microsoft.com/json-schemas/spfx-build/deploy-azure-storage.schema.json", + "workingDir": "./release/assets/", + "account": "", + "container": "pdfviewer-spfx-react", + "accessKey": "" +} diff --git a/Environment Integration/SharePoint/pdfviewer-spfx-react/config/package-solution.json b/Environment Integration/SharePoint/pdfviewer-spfx-react/config/package-solution.json new file mode 100644 index 0000000..1ddef2b --- /dev/null +++ b/Environment Integration/SharePoint/pdfviewer-spfx-react/config/package-solution.json @@ -0,0 +1,40 @@ +{ + "$schema": "https://developer.microsoft.com/json-schemas/spfx-build/package-solution.schema.json", + "solution": { + "name": "pdfviewer-spfx-react-client-side-solution", + "id": "640c4139-f44f-45fd-80ce-81dc45b85085", + "version": "1.0.0.0", + "includeClientSideAssets": true, + "skipFeatureDeployment": true, + "isDomainIsolated": false, + "developer": { + "name": "", + "websiteUrl": "", + "privacyUrl": "", + "termsOfUseUrl": "", + "mpnId": "Undefined-1.23.2" + }, + "metadata": { + "shortDescription": { + "default": "pdfviewer-spfx-react description" + }, + "longDescription": { + "default": "pdfviewer-spfx-react description" + }, + "screenshotPaths": [], + "videoUrl": "", + "categories": [] + }, + "features": [ + { + "title": "pdfviewer-spfx-react Feature", + "description": "The feature that activates elements of the pdfviewer-spfx-react solution.", + "id": "66b3b5eb-8779-42f8-aa7f-9b77c18d1442", + "version": "1.0.0.0" + } + ] + }, + "paths": { + "zippedPackage": "solution/pdfviewer-spfx-react.sppkg" + } +} diff --git a/Environment Integration/SharePoint/pdfviewer-spfx-react/config/rig.json b/Environment Integration/SharePoint/pdfviewer-spfx-react/config/rig.json new file mode 100644 index 0000000..99e3431 --- /dev/null +++ b/Environment Integration/SharePoint/pdfviewer-spfx-react/config/rig.json @@ -0,0 +1,7 @@ +{ + // The "rig.json" file directs tools to look for their config files in an external package. + // Documentation for this system: https://www.npmjs.com/package/@rushstack/rig-package + "$schema": "https://developer.microsoft.com/json-schemas/rig-package/rig.schema.json", + + "rigPackageName": "@microsoft/spfx-web-build-rig" +} diff --git a/Environment Integration/SharePoint/pdfviewer-spfx-react/config/sass.json b/Environment Integration/SharePoint/pdfviewer-spfx-react/config/sass.json new file mode 100644 index 0000000..1cfc17b --- /dev/null +++ b/Environment Integration/SharePoint/pdfviewer-spfx-react/config/sass.json @@ -0,0 +1,5 @@ +{ + "$schema": "https://developer.microsoft.com/json-schemas/heft/v0/heft-sass-plugin.schema.json", + + "extends": "@microsoft/spfx-web-build-rig/profiles/default/config/sass.json" +} \ No newline at end of file diff --git a/Environment Integration/SharePoint/pdfviewer-spfx-react/config/serve.json b/Environment Integration/SharePoint/pdfviewer-spfx-react/config/serve.json new file mode 100644 index 0000000..e608ddf --- /dev/null +++ b/Environment Integration/SharePoint/pdfviewer-spfx-react/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://syncfusion.sharepoint.com/sites/syncfusionPdfviewer/_layouts/workbench.aspx" +} diff --git a/Environment Integration/SharePoint/pdfviewer-spfx-react/config/typescript.json b/Environment Integration/SharePoint/pdfviewer-spfx-react/config/typescript.json new file mode 100644 index 0000000..ce4cc73 --- /dev/null +++ b/Environment Integration/SharePoint/pdfviewer-spfx-react/config/typescript.json @@ -0,0 +1,9 @@ +{ + "extends": "@microsoft/spfx-web-build-rig/profiles/default/config/typescript.json", + + "staticAssetsToCopy": { + "fileExtensions": [".resx", ".jpg", ".png", ".woff", ".eot", ".ttf", ".svg", ".gif"], + + "includeGlobs": ["webparts/*/loc/*.js"] + } +} diff --git a/Environment Integration/SharePoint/pdfviewer-spfx-react/config/write-manifests.json b/Environment Integration/SharePoint/pdfviewer-spfx-react/config/write-manifests.json new file mode 100644 index 0000000..bad3526 --- /dev/null +++ b/Environment Integration/SharePoint/pdfviewer-spfx-react/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/Environment Integration/SharePoint/pdfviewer-spfx-react/eslint.config.js b/Environment Integration/SharePoint/pdfviewer-spfx-react/eslint.config.js new file mode 100644 index 0000000..1501506 --- /dev/null +++ b/Environment Integration/SharePoint/pdfviewer-spfx-react/eslint.config.js @@ -0,0 +1,14 @@ +const spfxProfile = require('@microsoft/eslint-config-spfx/lib/flat-profiles/react'); + +module.exports = [ + ...spfxProfile, + { + files: ['**/*.ts', '**/*.tsx'], + languageOptions: { + parserOptions: { + tsconfigRootDir: __dirname, + project: './tsconfig.json' + } + } + } +]; diff --git a/Environment Integration/SharePoint/pdfviewer-spfx-react/package.json b/Environment Integration/SharePoint/pdfviewer-spfx-react/package.json new file mode 100644 index 0000000..fce01d9 --- /dev/null +++ b/Environment Integration/SharePoint/pdfviewer-spfx-react/package.json @@ -0,0 +1,51 @@ +{ + "name": "pdfviewer-spfx-react", + "version": "0.0.1", + "private": true, + "engines": { + "node": ">=22.14.0 < 23.0.0" + }, + "scripts": { + "build": "heft test --clean --production && heft package-solution --production", + "clean": "heft clean", + "eject-webpack": "heft eject-webpack", + "start": "heft start --clean" + }, + "dependencies": { + "@fluentui/react": "^8.106.4", + "@microsoft/sp-component-base": "1.23.2", + "@microsoft/sp-core-library": "1.23.2", + "@microsoft/sp-lodash-subset": "1.23.2", + "@microsoft/sp-office-ui-fabric-core": "1.23.2", + "@microsoft/sp-property-pane": "1.23.2", + "@microsoft/sp-webpart-base": "1.23.2", + "@syncfusion/ej2-react-base": "^34.2.6", + "@syncfusion/ej2-react-pdfviewer": "^34.2.6", + "@syncfusion/ej2-tailwind3-theme": "^34.2.6", + "react": "17.0.1", + "react-dom": "17.0.1", + "tslib": "2.3.1" + }, + "devDependencies": { + "@microsoft/eslint-config-spfx": "1.23.2", + "@microsoft/eslint-plugin-spfx": "1.23.2", + "@microsoft/sp-module-interfaces": "1.23.2", + "@microsoft/spfx-heft-plugins": "1.23.2", + "@microsoft/spfx-web-build-rig": "1.23.2", + "@rushstack/heft": "1.2.17", + "@types/jest": "30.0.0", + "@types/react": "17.0.45", + "@types/react-dom": "17.0.17", + "@types/webpack-env": "~1.15.2", + "css-loader": "~7.1.2", + "eslint": "9.37.0", + "eslint-plugin-react-hooks": "5.2.0", + "typescript": "~5.8.0" + }, + "overrides": { + "@rushstack/heft": "1.2.17" + }, + "resolutions": { + "@types/react": "17.0.45" + } +} diff --git a/Environment Integration/SharePoint/pdfviewer-spfx-react/src/webparts/pdfViewer/PdfViewerWebPart.manifest.json b/Environment Integration/SharePoint/pdfviewer-spfx-react/src/webparts/pdfViewer/PdfViewerWebPart.manifest.json new file mode 100644 index 0000000..2ba7811 --- /dev/null +++ b/Environment Integration/SharePoint/pdfviewer-spfx-react/src/webparts/pdfViewer/PdfViewerWebPart.manifest.json @@ -0,0 +1,28 @@ +{ + "$schema": "https://developer.microsoft.com/json-schemas/spfx/client-side-web-part-manifest.schema.json", + "id": "d1294187-dac8-474f-9fc2-2928b4d3db37", + "alias": "PdfViewerWebPart", + "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": "PdfViewer" }, + "description": { "default": "PdfViewer description" }, + "officeFabricIconFontName": "Page", + "properties": { + "description": "PdfViewer" + } + }] +} diff --git a/Environment Integration/SharePoint/pdfviewer-spfx-react/src/webparts/pdfViewer/PdfViewerWebPart.ts b/Environment Integration/SharePoint/pdfviewer-spfx-react/src/webparts/pdfViewer/PdfViewerWebPart.ts new file mode 100644 index 0000000..45a18a8 --- /dev/null +++ b/Environment Integration/SharePoint/pdfviewer-spfx-react/src/webparts/pdfViewer/PdfViewerWebPart.ts @@ -0,0 +1,127 @@ +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 'PdfViewerWebPartStrings'; +import PdfViewer from './components/PdfViewer'; +//import { IPdfViewerProps } from './components/IPdfViewerProps'; + +export interface IPdfViewerWebPartProps { + description: string; +} + +export default class PdfViewerWebPart extends BaseClientSideWebPart { + + //private _isDarkTheme: boolean = false; + //private _environmentMessage: string = ''; +private loadStyles(): void { + const linkId = 'ej2-tailwind3-theme'; + + if (!document.getElementById(linkId)) { + const link = document.createElement('link'); + link.id = linkId; + link.rel = 'stylesheet'; + link.href = 'https://cdn.syncfusion.com/ej2/34.1.29/tailwind3.css'; + document.head.appendChild(link); + } +} + + public render(): void { + this.loadStyles(); + const element: React.ReactElement = React.createElement( + PdfViewer, + {} + ); + + 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); + } + + } + + protected onDispose(): void { + ReactDom.unmountComponentAtNode(this.domElement); + } + + protected get dataVersion(): Version { + return Version.parse('1.0'); + } + + protected getPropertyPaneConfiguration(): IPropertyPaneConfiguration { + return { + pages: [ + { + header: { + description: strings.PropertyPaneDescription + }, + groups: [ + { + groupName: strings.BasicGroupName, + groupFields: [ + PropertyPaneTextField('description', { + label: strings.DescriptionFieldLabel + }) + ] + } + ] + } + ] + }; + } +} diff --git a/Environment Integration/SharePoint/pdfviewer-spfx-react/src/webparts/pdfViewer/assets/welcome-dark.png b/Environment Integration/SharePoint/pdfviewer-spfx-react/src/webparts/pdfViewer/assets/welcome-dark.png new file mode 100644 index 0000000..42f0b8d Binary files /dev/null and b/Environment Integration/SharePoint/pdfviewer-spfx-react/src/webparts/pdfViewer/assets/welcome-dark.png differ diff --git a/Environment Integration/SharePoint/pdfviewer-spfx-react/src/webparts/pdfViewer/assets/welcome-light.png b/Environment Integration/SharePoint/pdfviewer-spfx-react/src/webparts/pdfViewer/assets/welcome-light.png new file mode 100644 index 0000000..69eb3b4 Binary files /dev/null and b/Environment Integration/SharePoint/pdfviewer-spfx-react/src/webparts/pdfViewer/assets/welcome-light.png differ diff --git a/Environment Integration/SharePoint/pdfviewer-spfx-react/src/webparts/pdfViewer/components/IPdfViewerProps.ts b/Environment Integration/SharePoint/pdfviewer-spfx-react/src/webparts/pdfViewer/components/IPdfViewerProps.ts new file mode 100644 index 0000000..669a108 --- /dev/null +++ b/Environment Integration/SharePoint/pdfviewer-spfx-react/src/webparts/pdfViewer/components/IPdfViewerProps.ts @@ -0,0 +1,2 @@ +export interface IPdfViewerProps { +} diff --git a/Environment Integration/SharePoint/pdfviewer-spfx-react/src/webparts/pdfViewer/components/PdfViewer.module.scss b/Environment Integration/SharePoint/pdfviewer-spfx-react/src/webparts/pdfViewer/components/PdfViewer.module.scss new file mode 100644 index 0000000..c671011 --- /dev/null +++ b/Environment Integration/SharePoint/pdfviewer-spfx-react/src/webparts/pdfViewer/components/PdfViewer.module.scss @@ -0,0 +1,30 @@ +@import '../node_modules/@syncfusion/ej2-tailwind3-theme/styles/pdfviewer/index.css'; +.pdfViewer { + overflow: hidden; + padding: 1em; + color: "[theme:bodyText, default: #323130]"; + color: var(--bodyText); +} + +.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/Environment Integration/SharePoint/pdfviewer-spfx-react/src/webparts/pdfViewer/components/PdfViewer.tsx b/Environment Integration/SharePoint/pdfviewer-spfx-react/src/webparts/pdfViewer/components/PdfViewer.tsx new file mode 100644 index 0000000..a90011e --- /dev/null +++ b/Environment Integration/SharePoint/pdfviewer-spfx-react/src/webparts/pdfViewer/components/PdfViewer.tsx @@ -0,0 +1,50 @@ +import type { IPdfViewerProps } from './IPdfViewerProps'; + +import * as React from 'react'; +import { + PdfViewerComponent, + Toolbar, + Magnification, + Navigation, + LinkAnnotation, + BookmarkView, + ThumbnailView, + Print, + TextSelection, + TextSearch, + Annotation, + FormFields, + FormDesigner, + Inject +} from '@syncfusion/ej2-react-pdfviewer'; +export default class PdfViewer extends React.Component { + + public render(): React.ReactElement { + + return ( + + + + ); + } +} \ No newline at end of file diff --git a/Environment Integration/SharePoint/pdfviewer-spfx-react/src/webparts/pdfViewer/loc/en-us.js b/Environment Integration/SharePoint/pdfviewer-spfx-react/src/webparts/pdfViewer/loc/en-us.js new file mode 100644 index 0000000..3b25e74 --- /dev/null +++ b/Environment Integration/SharePoint/pdfviewer-spfx-react/src/webparts/pdfViewer/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/Environment Integration/SharePoint/pdfviewer-spfx-react/src/webparts/pdfViewer/loc/mystrings.d.ts b/Environment Integration/SharePoint/pdfviewer-spfx-react/src/webparts/pdfViewer/loc/mystrings.d.ts new file mode 100644 index 0000000..db82c4a --- /dev/null +++ b/Environment Integration/SharePoint/pdfviewer-spfx-react/src/webparts/pdfViewer/loc/mystrings.d.ts @@ -0,0 +1,19 @@ +declare interface IPdfViewerWebPartStrings { + 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 'PdfViewerWebPartStrings' { + const strings: IPdfViewerWebPartStrings; + export = strings; +} diff --git a/Environment Integration/SharePoint/pdfviewer-spfx-react/teams/d1294187-dac8-474f-9fc2-2928b4d3db37_color.png b/Environment Integration/SharePoint/pdfviewer-spfx-react/teams/d1294187-dac8-474f-9fc2-2928b4d3db37_color.png new file mode 100644 index 0000000..0e1f764 Binary files /dev/null and b/Environment Integration/SharePoint/pdfviewer-spfx-react/teams/d1294187-dac8-474f-9fc2-2928b4d3db37_color.png differ diff --git a/Environment Integration/SharePoint/pdfviewer-spfx-react/teams/d1294187-dac8-474f-9fc2-2928b4d3db37_outline.png b/Environment Integration/SharePoint/pdfviewer-spfx-react/teams/d1294187-dac8-474f-9fc2-2928b4d3db37_outline.png new file mode 100644 index 0000000..e8cb4b6 Binary files /dev/null and b/Environment Integration/SharePoint/pdfviewer-spfx-react/teams/d1294187-dac8-474f-9fc2-2928b4d3db37_outline.png differ diff --git a/Environment Integration/SharePoint/pdfviewer-spfx-react/tsconfig.json b/Environment Integration/SharePoint/pdfviewer-spfx-react/tsconfig.json new file mode 100644 index 0000000..ee582d5 --- /dev/null +++ b/Environment Integration/SharePoint/pdfviewer-spfx-react/tsconfig.json @@ -0,0 +1,3 @@ +{ + "extends": "./node_modules/@microsoft/spfx-web-build-rig/profiles/default/tsconfig-base.json" +}