@spfx-extensions/package 1.6.2 → 1.6.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (81) hide show
  1. package/.npmignore +16 -16
  2. package/.nvmrc +1 -1
  3. package/LICENSE +674 -674
  4. package/README.md +166 -166
  5. package/config/config-scripts/rename-solution.mjs +19 -0
  6. package/config/config-scripts/update-version.mjs +23 -0
  7. package/config/config-scripts/webpack-patch.mjs +134 -0
  8. package/config/config.json +27 -27
  9. package/config/deploy-azure-storage.json +6 -6
  10. package/config/heft.json +58 -0
  11. package/config/package-solution.json +3 -3
  12. package/config/rig.json +7 -0
  13. package/config/sass.json +3 -2
  14. package/config/serve.json +18 -18
  15. package/config/typescript.json +7 -0
  16. package/config/webpack-patch.json +6 -0
  17. package/config/write-manifests.json +3 -3
  18. package/dist/8d1029da-85e6-48cc-aaaf-37a5bbc0b9be.manifest.json +3 -3
  19. package/dist/d6ca1fc2-0591-4c6d-8a25-cae3262c017b.manifest.json +6 -6
  20. package/dist/debug/83e13c11-682e-4eaa-9ae0-74617ca28f96/ClientSideInstance.xml +8 -8
  21. package/dist/debug/83e13c11-682e-4eaa-9ae0-74617ca28f96/Extension_8d1029da-85e6-48cc-aaaf-37a5bbc0b9be.xml +1 -1
  22. package/dist/debug/83e13c11-682e-4eaa-9ae0-74617ca28f96/WebPart_d6ca1fc2-0591-4c6d-8a25-cae3262c017b.xml +1 -1
  23. package/dist/debug/83e13c11-682e-4eaa-9ae0-74617ca28f96/elements.xml +8 -8
  24. package/dist/debug/AppManifest.xml +1 -1
  25. package/dist/debug/ClientSideAssets/spfx-extension-application-customizer_5b1b100aec47d72d7987.js +2 -0
  26. package/dist/debug/ClientSideAssets/spfx-extensionloader-web-part_2268d0967478752fd3d9.js +2 -0
  27. package/dist/debug/ClientSideAssets/spfx-extensions-classiccustomaction.js +1 -0
  28. package/dist/debug/ClientSideAssets/spfx-extensions-classicwrapper.js +1 -0
  29. package/dist/debug/ClientSideAssets/spfx-extensions-core.js +1 -0
  30. package/dist/debug/ClientSideAssets/spfx-extensions-coreconfigurator.js +175 -0
  31. package/dist/debug/ClientSideAssets/spfx-extensions-loader_ddc8f623e76ec6c32de9.js +2 -0
  32. package/dist/debug/ClientSideAssets.xml +1 -1
  33. package/dist/debug/ClientSideAssets.xml.config.xml +1 -1
  34. package/dist/debug/_rels/AppManifest.xml.rels +1 -1
  35. package/dist/debug/_rels/ClientSideAssets.xml.rels +1 -1
  36. package/dist/debug/feature_83e13c11-682e-4eaa-9ae0-74617ca28f96.xml +1 -1
  37. package/dist/debug/feature_83e13c11-682e-4eaa-9ae0-74617ca28f96.xml.config.xml +1 -1
  38. package/dist/deploy/sp-fx-extensions.sppkg +0 -0
  39. package/dist/spfx-extension-application-customizer_5b1b100aec47d72d7987.js +2 -0
  40. package/dist/spfx-extensionloader-web-part_2268d0967478752fd3d9.js +2 -0
  41. package/dist/spfx-extensions-classiccustomaction.js +1 -0
  42. package/dist/spfx-extensions-classicwrapper.js +1 -0
  43. package/dist/spfx-extensions-core.js +1 -0
  44. package/dist/spfx-extensions-coreconfigurator.js +175 -0
  45. package/dist/spfx-extensions-loader_ddc8f623e76ec6c32de9.js +2 -0
  46. package/gulpfile.js +80 -196
  47. package/package.json +68 -63
  48. package/sharepoint/assets/ClientSideInstance.xml +8 -8
  49. package/sharepoint/assets/elements.xml +8 -8
  50. package/src/@types/globals.d.ts +17 -14
  51. package/src/extensions/spfxExtension/SpfxExtensionApplicationCustomizer.manifest.json +17 -17
  52. package/src/extensions/spfxExtension/SpfxExtensionApplicationCustomizer.ts +70 -70
  53. package/src/extensions/spfxExtension/loc/en-us.js +4 -4
  54. package/src/extensions/spfxExtension/loc/myStrings.d.ts +8 -8
  55. package/src/index.ts +1 -1
  56. package/src/services/initCoreService.ts +68 -60
  57. package/src/utilities/constants.ts +3 -3
  58. package/src/webparts/spfxExtensionloader/SpfxExtensionloaderWebPart.manifest.json +34 -34
  59. package/src/webparts/spfxExtensionloader/SpfxExtensionloaderWebPart.module.scss +185 -185
  60. package/src/webparts/spfxExtensionloader/SpfxExtensionloaderWebPart.ts +767 -767
  61. package/src/webparts/spfxExtensionloader/ai.json +37 -37
  62. package/src/webparts/spfxExtensionloader/loc/en-us.js +15 -15
  63. package/src/webparts/spfxExtensionloader/loc/mystrings.d.ts +19 -19
  64. package/tsconfig.json +25 -25
  65. package/dist/debug/ClientSideAssets/spfx-extension-application-customizer_2f30086b4bcdf92ad9a2.js +0 -2
  66. package/dist/debug/ClientSideAssets/spfx-extension-core.js +0 -1
  67. package/dist/debug/ClientSideAssets/spfx-extension-coreconfigurator.js +0 -175
  68. package/dist/debug/ClientSideAssets/spfx-extension-loader_b4583689ca9ee8de6592.js +0 -2
  69. package/dist/debug/ClientSideAssets/spfx-extension-wrapper.js +0 -1
  70. package/dist/debug/ClientSideAssets/spfx-extensionloader-web-part_e3a6a93dc899524b9f3f.js +0 -3
  71. package/dist/spfx-extension-application-customizer_2f30086b4bcdf92ad9a2.js +0 -2
  72. package/dist/spfx-extension-core.js +0 -1
  73. package/dist/spfx-extension-coreconfigurator.js +0 -175
  74. package/dist/spfx-extension-loader_b4583689ca9ee8de6592.js +0 -2
  75. package/dist/spfx-extension-wrapper.js +0 -1
  76. package/dist/spfx-extensionloader-web-part_e3a6a93dc899524b9f3f.js +0 -3
  77. package/src/webparts/spfxExtensionloader/SpfxExtensionloaderWebPart.module.scss.ts +0 -24
  78. /package/dist/debug/ClientSideAssets/{3be36e80-4431-4b52-99c5-0a339b4e696e_color.png → d6ca1fc2-0591-4c6d-8a25-cae3262c017b_color.png} +0 -0
  79. /package/dist/debug/ClientSideAssets/{3be36e80-4431-4b52-99c5-0a339b4e696e_outline.png → d6ca1fc2-0591-4c6d-8a25-cae3262c017b_outline.png} +0 -0
  80. /package/teams/{3be36e80-4431-4b52-99c5-0a339b4e696e_color.png → d6ca1fc2-0591-4c6d-8a25-cae3262c017b_color.png} +0 -0
  81. /package/teams/{3be36e80-4431-4b52-99c5-0a339b4e696e_outline.png → d6ca1fc2-0591-4c6d-8a25-cae3262c017b_outline.png} +0 -0
@@ -1,70 +1,70 @@
1
- import {
2
- BaseApplicationCustomizer,
3
- PlaceholderProvider
4
- } from '@microsoft/sp-application-base';
5
- import { SPFXPREFIX } from '../../utilities/constants';
6
- //import * as strings from 'SpfxExtensionApplicationCustomizerStrings';
7
-
8
- /**
9
- * If your command set uses the ClientSideComponentProperties JSON input,
10
- * it will be deserialized into the BaseExtension.properties object.
11
- * You can define an interface to describe it.
12
- */
13
- export interface ISpfxExtensionApplicationCustomizerProperties {
14
- // This is an example; replace with your own property
15
- _noProps: boolean;
16
- }
17
-
18
- /** A Custom Action which can be run during execution of a Client Side Application */
19
- export default class SpfxExtensionApplicationCustomizer
20
- extends BaseApplicationCustomizer<ISpfxExtensionApplicationCustomizerProperties> {
21
-
22
- corePromise = new Promise((resolve) => {
23
- import(/* webpackChunkName: "spfx-extension-loader" */"../../services/initCoreService").then(({ initCore, registerPlaceHolderProvider }) => {
24
- initCore("SharePoint").then(() => {
25
- registerPlaceHolderProvider(this.context.placeholderProvider, this);
26
- resolve(true);
27
- }).catch((e) => {
28
- console.error(SPFXPREFIX, "Error while initializing core from application customizer", e);
29
- })
30
- }).catch((e) => {
31
- console.error(SPFXPREFIX, "Error while importing core from application customizer", e);
32
- })
33
- });
34
-
35
-
36
- // private async ensureCoreAndRegister() {
37
- // const { initCore, registerPlaceHolderProvider } = await import(/* webpackChunkName: "spfx-extension-loader" */"../../services/initCoreService");
38
- // await initCore("SharePoint");
39
- // registerPlaceHolderProvider(this.context.placeholderProvider, this);
40
- // }
41
-
42
- public async onInit(): Promise<void> {
43
- await this.corePromise;
44
- }
45
-
46
- waitAndNotifyPlaceholderChanged(placeholderProvider: PlaceholderProvider) {
47
- this.corePromise!.then(() => {
48
- window.__SPFxExtensions.Apps.forEach((app) => {
49
- app.instances.forEach((instance) => {
50
- instance.executeListeners("onPlaceholdersChanged", placeholderProvider)
51
- });
52
- });
53
- }).catch(() => {
54
- //swallow
55
- });
56
- }
57
-
58
- protected onPlaceholdersChanged(placeholderProvider: PlaceholderProvider) {
59
- // this fires before onInit
60
- this.waitAndNotifyPlaceholderChanged(placeholderProvider);
61
- }
62
-
63
- protected onDispose(): void {
64
- window.__SPFxExtensions?.Apps?.forEach((app) => {
65
- app.instances.forEach((instance) => {
66
- instance.executeListeners("onAppCustomizerDisposed", undefined);
67
- });
68
- });
69
- }
70
- }
1
+ import {
2
+ BaseApplicationCustomizer,
3
+ PlaceholderProvider
4
+ } from '@microsoft/sp-application-base';
5
+ import { SPFXPREFIX } from '../../utilities/constants';
6
+ //import * as strings from 'SpfxExtensionApplicationCustomizerStrings';
7
+
8
+ /**
9
+ * If your command set uses the ClientSideComponentProperties JSON input,
10
+ * it will be deserialized into the BaseExtension.properties object.
11
+ * You can define an interface to describe it.
12
+ */
13
+ export interface ISpfxExtensionApplicationCustomizerProperties {
14
+ // This is an example; replace with your own property
15
+ _noProps: boolean;
16
+ }
17
+
18
+ /** A Custom Action which can be run during execution of a Client Side Application */
19
+ export default class SpfxExtensionApplicationCustomizer
20
+ extends BaseApplicationCustomizer<ISpfxExtensionApplicationCustomizerProperties> {
21
+
22
+ corePromise = new Promise((resolve) => {
23
+ import(/* webpackChunkName: "spfx-extensions-loader" */"../../services/initCoreService").then(({ initCore, registerPlaceHolderProvider }) => {
24
+ initCore("SharePoint").then(() => {
25
+ registerPlaceHolderProvider(this.context.placeholderProvider, this);
26
+ resolve(true);
27
+ }).catch((e) => {
28
+ console.error(SPFXPREFIX, "Error while initializing core from application customizer", e);
29
+ })
30
+ }).catch((e) => {
31
+ console.error(SPFXPREFIX, "Error while importing core from application customizer", e);
32
+ })
33
+ });
34
+
35
+
36
+ // private async ensureCoreAndRegister() {
37
+ // const { initCore, registerPlaceHolderProvider } = await import(/* webpackChunkName: "spfx-extension-loader" */"../../services/initCoreService");
38
+ // await initCore("SharePoint");
39
+ // registerPlaceHolderProvider(this.context.placeholderProvider, this);
40
+ // }
41
+
42
+ public async onInit(): Promise<void> {
43
+ await this.corePromise;
44
+ }
45
+
46
+ waitAndNotifyPlaceholderChanged(placeholderProvider: PlaceholderProvider) {
47
+ this.corePromise!.then(() => {
48
+ window.__SPFxExtensions.Apps.forEach((app) => {
49
+ app.instances.forEach((instance) => {
50
+ instance.executeListeners("onPlaceholdersChanged", placeholderProvider)
51
+ });
52
+ });
53
+ }).catch(() => {
54
+ //swallow
55
+ });
56
+ }
57
+
58
+ protected onPlaceholdersChanged(placeholderProvider: PlaceholderProvider) {
59
+ // this fires before onInit
60
+ this.waitAndNotifyPlaceholderChanged(placeholderProvider);
61
+ }
62
+
63
+ protected onDispose(): void {
64
+ window.__SPFxExtensions?.Apps?.forEach((app) => {
65
+ app.instances.forEach((instance) => {
66
+ instance.executeListeners("onAppCustomizerDisposed", undefined);
67
+ });
68
+ });
69
+ }
70
+ }
@@ -1,5 +1,5 @@
1
- define([], function() {
2
- return {
3
- "Title": "SpfxExtensionApplicationCustomizer"
4
- }
1
+ define([], function() {
2
+ return {
3
+ "Title": "SpfxExtensionApplicationCustomizer"
4
+ }
5
5
  });
@@ -1,8 +1,8 @@
1
- declare interface ISpfxExtensionApplicationCustomizerStrings {
2
- Title: string;
3
- }
4
-
5
- declare module 'SpfxExtensionApplicationCustomizerStrings' {
6
- const strings: ISpfxExtensionApplicationCustomizerStrings;
7
- export = strings;
8
- }
1
+ declare interface ISpfxExtensionApplicationCustomizerStrings {
2
+ Title: string;
3
+ }
4
+
5
+ declare module 'SpfxExtensionApplicationCustomizerStrings' {
6
+ const strings: ISpfxExtensionApplicationCustomizerStrings;
7
+ export = strings;
8
+ }
package/src/index.ts CHANGED
@@ -1 +1 @@
1
- // A file is required to be in the root of the /src directory by the TypeScript compiler
1
+ // A file is required to be in the root of the /src directory by the TypeScript compiler
@@ -1,60 +1,68 @@
1
- import {
2
- CompatibleEnvironmentType,
3
- } from "@spfx-extensions/core";
4
- import { PlaceholderProvider } from "@microsoft/sp-application-base";
5
- import { ISPEventObserver } from "@microsoft/sp-core-library";
6
- import { SPFXPREFIX } from "../utilities/constants";
7
- import { loadCoreForSPFxOrClassic } from "@spfx-extensions/core/spfxLoader"
8
- import coreUrl from "__spfxCore.js";
9
- import configuratorUrl from "__spfxCoreConfigurator.js";
10
- import wrapperUrl from "__spfxWrapperClassic.js";
11
-
12
- let placeHolderResolved = false;
13
-
14
- async function getSuggestedCoreUrl() {
15
- return Promise.resolve({ coreUrl, configuratorUrl, wrapperUrl });
16
- }
17
-
18
- /**
19
- * WILL FAIL IF CALLED BEFORE `initCore`
20
- *
21
- * Registers a placeholder provider to be used by the core library
22
- * @returns void
23
- */
24
- export function registerPlaceHolderProvider(placeHolderProvider: PlaceholderProvider, eventObserver: ISPEventObserver) {
25
- //resolve once, i.e. modern webpart was loaded before app customizer
26
- if (!placeHolderResolved) {
27
- placeHolderResolved = true;
28
- window.__SPFxExtensions.Utils.placeHolderResolver({
29
- //eslint-disable-next-line @typescript-eslint/no-explicit-any
30
- placeHolderProvider: placeHolderProvider as any,
31
- //eslint-disable-next-line @typescript-eslint/no-explicit-any
32
- eventObserver: eventObserver as any,
33
- });
34
- }
35
- }
36
-
37
-
38
- export async function initCore(
39
- envType: CompatibleEnvironmentType,
40
- ) {
41
- if (window.__SPFxExtensions?.__CoreInitializationPromise) {
42
- //only repopulate if these were not initialized through modern context
43
- if (window.__SPFxExtensions.Utils && !window.__SPFxExtensions.Utils.initializedThroughSPFX) {
44
- window.__SPFxExtensions.Utils.environmentType = envType;
45
- window.__SPFxExtensions.Utils.initializedThroughSPFX = true;
46
- }
47
- return window.__SPFxExtensions.__CoreInitializationPromise;
48
- }
49
-
50
- const { promise, resolve } = Promise.withResolvers<void>();
51
- //eslint-disable-next-line @typescript-eslint/no-explicit-any
52
- (window.__SPFxExtensions as any) = {
53
- __CoreInitializationPromise: promise,
54
- __CoreInitializationResolver: resolve
55
- }
56
- const buildDate = BUILD_DATE;
57
- console.info(SPFXPREFIX, "Initializing Core from SPFx Built:", buildDate);
58
- await loadCoreForSPFxOrClassic(getSuggestedCoreUrl, envType, true);
59
- window.__SPFxExtensions.__CoreInitializationResolver();
60
- }
1
+ import { CompatibleEnvironmentType } from "@spfx-extensions/core";
2
+ import { PlaceholderProvider } from "@microsoft/sp-application-base";
3
+ import { ISPEventObserver } from "@microsoft/sp-core-library";
4
+ import { SPFXPREFIX } from "../utilities/constants";
5
+ import { loadCoreForSPFxOrClassic } from "@spfx-extensions/core/spfx-extensions-loader";
6
+ import coreUrl from "@spfx-extensions/core/spfx-extensions-core";
7
+ import configuratorUrl from "@spfx-extensions/core/spfx-extensions-coreconfigurator";
8
+ import wrapperUrl from "@spfx-extensions/core/spfx-extensions-classicwrapper";
9
+ import customActionUrl from "@spfx-extensions/core/spfx-extensions-classiccustomaction";
10
+
11
+ let placeHolderResolved = false;
12
+
13
+ async function getSuggestedCoreUrl() {
14
+ // return Promise.resolve({ coreUrl, configuratorUrl, wrapperUrl });
15
+ return Promise.resolve({
16
+ coreUrl: coreUrl as string,
17
+ configuratorUrl: configuratorUrl as unknown as string,
18
+ wrapperUrl: wrapperUrl as unknown as string,
19
+ customActionUrl: customActionUrl as unknown as string,
20
+ });
21
+ }
22
+
23
+ /**
24
+ * WILL FAIL IF CALLED BEFORE `initCore`
25
+ *
26
+ * Registers a placeholder provider to be used by the core library
27
+ * @returns void
28
+ */
29
+ export function registerPlaceHolderProvider(
30
+ placeHolderProvider: PlaceholderProvider,
31
+ eventObserver: ISPEventObserver,
32
+ ) {
33
+ //resolve once, i.e. modern webpart was loaded before app customizer
34
+ if (!placeHolderResolved) {
35
+ placeHolderResolved = true;
36
+ window.__SPFxExtensions.Utils.placeHolderResolver({
37
+ //eslint-disable-next-line @typescript-eslint/no-explicit-any
38
+ placeHolderProvider: placeHolderProvider as any,
39
+ //eslint-disable-next-line @typescript-eslint/no-explicit-any
40
+ eventObserver: eventObserver as any,
41
+ });
42
+ }
43
+ }
44
+
45
+ export async function initCore(envType: CompatibleEnvironmentType) {
46
+ if (window.__SPFxExtensions?.__CoreInitializationPromise) {
47
+ //only repopulate if these were not initialized through modern context
48
+ if (
49
+ window.__SPFxExtensions.Utils &&
50
+ !window.__SPFxExtensions.Utils.initializedThroughSPFX
51
+ ) {
52
+ window.__SPFxExtensions.Utils.environmentType = envType;
53
+ window.__SPFxExtensions.Utils.initializedThroughSPFX = true;
54
+ }
55
+ return window.__SPFxExtensions.__CoreInitializationPromise;
56
+ }
57
+
58
+ const { promise, resolve } = Promise.withResolvers<void>();
59
+ //eslint-disable-next-line @typescript-eslint/no-explicit-any
60
+ (window.__SPFxExtensions as any) = {
61
+ __CoreInitializationPromise: promise,
62
+ __CoreInitializationResolver: resolve,
63
+ };
64
+ const buildDate = BUILD_DATE;
65
+ console.info(SPFXPREFIX, "Initializing Core from SPFx Built:", buildDate);
66
+ await loadCoreForSPFxOrClassic(getSuggestedCoreUrl, envType, true);
67
+ window.__SPFxExtensions.__CoreInitializationResolver();
68
+ }
@@ -1,4 +1,4 @@
1
- export const SELECT_WEBPART = "Select one of these web parts for this column.";
2
- export const EDIT_PAGE_AND_SELECT_WEBPART = "Edit page and select webpart.";
3
- export const APP_BUTTON_LABEL = "Webpart that loads an app of your choice.";
1
+ export const SELECT_WEBPART = "Select one of these web parts for this column.";
2
+ export const EDIT_PAGE_AND_SELECT_WEBPART = "Edit page and select webpart.";
3
+ export const APP_BUTTON_LABEL = "Webpart that loads an app of your choice.";
4
4
  export const SPFXPREFIX = "[SPFxExtensions]";
@@ -1,35 +1,35 @@
1
- {
2
- "$schema": "https://developer.microsoft.com/json-schemas/spfx/client-side-web-part-manifest.schema.json",
3
- "id": "d6ca1fc2-0591-4c6d-8a25-cae3262c017b",
4
- "alias": "SpfxExtensionloaderWebPart",
5
- "componentType": "WebPart",
6
- "version": "*",
7
- "manifestVersion": 2,
8
- "requiresCustomScript": false,
9
- "supportedHosts": [
10
- "SharePointWebPart",
11
- "TeamsPersonalApp",
12
- "TeamsTab",
13
- "SharePointFullPage"
14
- ],
15
- "supportsThemeVariants": true,
16
- "supportsFullBleed": true,
17
- "preconfiguredEntries": [
18
- {
19
- "groupId": "5c03119e-3074-46fd-976b-c60198311f70",
20
- "group": {
21
- "default": "Advanced"
22
- },
23
- "title": {
24
- "default": "SPFx Extension Loader"
25
- },
26
- "description": {
27
- "default": "Allows you to add a custom developed app"
28
- },
29
- "officeFabricIconFontName": "Page",
30
- "properties": {
31
- "description": "Select an app to load from the dropdown below"
32
- }
33
- }
34
- ]
1
+ {
2
+ "$schema": "https://developer.microsoft.com/json-schemas/spfx/client-side-web-part-manifest.schema.json",
3
+ "id": "d6ca1fc2-0591-4c6d-8a25-cae3262c017b",
4
+ "alias": "SpfxExtensionloaderWebPart",
5
+ "componentType": "WebPart",
6
+ "version": "*",
7
+ "manifestVersion": 2,
8
+ "requiresCustomScript": false,
9
+ "supportedHosts": [
10
+ "SharePointWebPart",
11
+ "TeamsPersonalApp",
12
+ "TeamsTab",
13
+ "SharePointFullPage"
14
+ ],
15
+ "supportsThemeVariants": true,
16
+ "supportsFullBleed": true,
17
+ "preconfiguredEntries": [
18
+ {
19
+ "groupId": "5c03119e-3074-46fd-976b-c60198311f70",
20
+ "group": {
21
+ "default": "Advanced"
22
+ },
23
+ "title": {
24
+ "default": "SPFx Extension Loader"
25
+ },
26
+ "description": {
27
+ "default": "Allows you to add a custom developed app"
28
+ },
29
+ "officeFabricIconFontName": "Page",
30
+ "properties": {
31
+ "description": "Select an app to load from the dropdown below"
32
+ }
33
+ }
34
+ ]
35
35
  }