@mikezimm/fps-library-v2 1.0.240 → 1.0.241
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.
- package/CHANGELOG.md +13 -1
- package/lib/components/molecules/Performance/functions.d.ts +11 -1
- package/lib/components/molecules/Performance/functions.d.ts.map +1 -1
- package/lib/components/molecules/Performance/functions.js +15 -0
- package/lib/components/molecules/Performance/functions.js.map +1 -1
- package/lib/components/molecules/SpHttp/HubSiteData/fetchMyHubNav.d.ts +13 -0
- package/lib/components/molecules/SpHttp/HubSiteData/fetchMyHubNav.d.ts.map +1 -0
- package/lib/components/molecules/SpHttp/HubSiteData/fetchMyHubNav.js +36 -0
- package/lib/components/molecules/SpHttp/HubSiteData/fetchMyHubNav.js.map +1 -0
- package/lib/components/molecules/SpHttp/HubSiteData/interface.d.ts +37 -0
- package/lib/components/molecules/SpHttp/HubSiteData/interface.d.ts.map +1 -0
- package/lib/components/molecules/SpHttp/HubSiteData/interface.js +2 -0
- package/lib/components/molecules/SpHttp/HubSiteData/interface.js.map +1 -0
- package/lib/components/molecules/SpHttp/HubsSubs/cleanSearchedWebs.d.ts +9 -0
- package/lib/components/molecules/SpHttp/HubsSubs/cleanSearchedWebs.d.ts.map +1 -0
- package/lib/components/molecules/SpHttp/HubsSubs/cleanSearchedWebs.js +37 -0
- package/lib/components/molecules/SpHttp/HubsSubs/cleanSearchedWebs.js.map +1 -0
- package/lib/components/molecules/SpHttp/HubsSubs/fetchMyHubsSubs.d.ts +15 -0
- package/lib/components/molecules/SpHttp/HubsSubs/fetchMyHubsSubs.d.ts.map +1 -0
- package/lib/components/molecules/SpHttp/HubsSubs/fetchMyHubsSubs.js +43 -0
- package/lib/components/molecules/SpHttp/HubsSubs/fetchMyHubsSubs.js.map +1 -0
- package/lib/components/molecules/SpHttp/HubsSubs/fetchMyHubsites.d.ts +9 -0
- package/lib/components/molecules/SpHttp/HubsSubs/fetchMyHubsites.d.ts.map +1 -0
- package/lib/components/molecules/SpHttp/HubsSubs/fetchMyHubsites.js +24 -0
- package/lib/components/molecules/SpHttp/HubsSubs/fetchMyHubsites.js.map +1 -0
- package/lib/components/molecules/SpHttp/HubsSubs/fetchMySubsites.d.ts +15 -0
- package/lib/components/molecules/SpHttp/HubsSubs/fetchMySubsites.d.ts.map +1 -0
- package/lib/components/molecules/SpHttp/HubsSubs/fetchMySubsites.js +54 -0
- package/lib/components/molecules/SpHttp/HubsSubs/fetchMySubsites.js.map +1 -0
- package/lib/components/molecules/SpHttp/HubsSubs/interfaces/IFPSHubSiteDataDocsApi.d.ts +23 -0
- package/lib/components/molecules/SpHttp/HubsSubs/interfaces/IFPSHubSiteDataDocsApi.d.ts.map +1 -0
- package/lib/components/molecules/SpHttp/HubsSubs/interfaces/IFPSHubSiteDataDocsApi.js +5 -0
- package/lib/components/molecules/SpHttp/HubsSubs/interfaces/IFPSHubSiteDataDocsApi.js.map +1 -0
- package/lib/components/molecules/SpHttp/HubsSubs/interfaces/IFPSHubSitesApi.d.ts +24 -0
- package/lib/components/molecules/SpHttp/HubsSubs/interfaces/IFPSHubSitesApi.d.ts.map +1 -0
- package/lib/components/molecules/SpHttp/HubsSubs/interfaces/IFPSHubSitesApi.js +7 -0
- package/lib/components/molecules/SpHttp/HubsSubs/interfaces/IFPSHubSitesApi.js.map +1 -0
- package/lib/components/molecules/SpHttp/HubsSubs/interfaces/IFPSSubsFilteredItem.d.ts +19 -0
- package/lib/components/molecules/SpHttp/HubsSubs/interfaces/IFPSSubsFilteredItem.d.ts.map +1 -0
- package/lib/components/molecules/SpHttp/HubsSubs/interfaces/IFPSSubsFilteredItem.js +2 -0
- package/lib/components/molecules/SpHttp/HubsSubs/interfaces/IFPSSubsFilteredItem.js.map +1 -0
- package/lib/components/molecules/SpHttp/HubsSubs/interfaces/IFPSSubsSearchCleanItem.d.ts +27 -0
- package/lib/components/molecules/SpHttp/HubsSubs/interfaces/IFPSSubsSearchCleanItem.d.ts.map +1 -0
- package/lib/components/molecules/SpHttp/HubsSubs/interfaces/IFPSSubsSearchCleanItem.js +2 -0
- package/lib/components/molecules/SpHttp/HubsSubs/interfaces/IFPSSubsSearchCleanItem.js.map +1 -0
- package/lib/components/molecules/SpHttp/doSpJsFetch.d.ts +16 -0
- package/lib/components/molecules/SpHttp/doSpJsFetch.d.ts.map +1 -0
- package/lib/components/molecules/SpHttp/doSpJsFetch.js +54 -0
- package/lib/components/molecules/SpHttp/doSpJsFetch.js.map +1 -0
- package/lib/components/molecules/SpHttp/functions/findNavNodes.d.ts +19 -0
- package/lib/components/molecules/SpHttp/functions/findNavNodes.d.ts.map +1 -0
- package/lib/components/molecules/SpHttp/functions/findNavNodes.js +119 -0
- package/lib/components/molecules/SpHttp/functions/findNavNodes.js.map +1 -0
- package/lib/pnpjs/Common/IFpsErrorObject.d.ts +2 -0
- package/lib/pnpjs/Common/IFpsErrorObject.d.ts.map +1 -1
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -4,13 +4,25 @@ npm run clean
|
|
|
4
4
|
npm run build
|
|
5
5
|
npm version major/minor/patch
|
|
6
6
|
npm publish --access=public
|
|
7
|
-
npm install @mikezimm/fps-library-v2@1.0.
|
|
7
|
+
npm install @mikezimm/fps-library-v2@1.0.241
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
# Changelog
|
|
11
11
|
|
|
12
12
|
NOTE: TURN BACK ON STRICT NULL CHECKS - turned off for PropPaneCols
|
|
13
13
|
|
|
14
|
+
## 1.0.241 - 2023-June-18: Migrate SpHttp/HubsSub from HubCon, add unifiedPerformanceEnd
|
|
15
|
+
- created unifiedPerformanceEnd in Performance/functions to help with the new unifiedPerformanceOps
|
|
16
|
+
- created types: IUnifiedPerformanceOpsKeys, IFpsErrorObjectOpKeys
|
|
17
|
+
- created doSpJsFetch & IJSFetchReturn
|
|
18
|
+
- created fetch to SP APIs: fetchMyHubNav: IFPSHubNav , fetchMyHubsites, fetchMySubsites: IJSFetchReturn
|
|
19
|
+
- created fetchMyHubSubs: IFPSHubsSubs
|
|
20
|
+
- created logic to clean up Hubs and Subs results: cleanSearchedWebs
|
|
21
|
+
- created logic to find Nav Nodes: findSimilarNavNodes, findSpecificNavNodes
|
|
22
|
+
- created SP Docs api interfaces: IHubSiteDataResultAPI, IFPSHubNavigationItem
|
|
23
|
+
- created interfaces: IFPSWebsWithLogo, IFPSHubSiteDataDocsApi, IFPSHubSitesApi, IFPSHubSiteApi
|
|
24
|
+
- created interfaces: IFPSSubsFilteredItem and IFPSSubsSearchCleanItem
|
|
25
|
+
|
|
14
26
|
## 1.0.240 - 2023-June-18: Add new repos
|
|
15
27
|
- add baseFPSRepos
|
|
16
28
|
- add gitRepoHubConnections, gitRepoSpHttpTester
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { DisplayMode } from '../../../common/interfaces/@msft/1.15.2/displayMode';
|
|
2
|
+
import { IFpsErrorObject, IUnifiedPerformanceOpsKeys } from '../../../pnpjs/Common/IFpsErrorObject';
|
|
2
3
|
import { IPerformanceOp, ILoadPerformanceSS7, ILoadPerformanceALVFM, ILoadPerformance, IPerformanceOpWithDetails } from './IPerformance';
|
|
3
|
-
import { IStartPerformOp, IEndPerformOp } from './IPerformanceSettings';
|
|
4
|
+
import { IStartPerformOp, IEndPerformOp, IPerformanceSettings } from './IPerformanceSettings';
|
|
4
5
|
export declare function createBasePerformanceInit(editMode: DisplayMode, monitor: boolean): ILoadPerformance;
|
|
5
6
|
export declare function startPerformanceInit_ALVFM(editMode: DisplayMode, monitor: boolean): ILoadPerformanceALVFM;
|
|
6
7
|
export declare function startPerformanceInit_SS7(classic: boolean, modern: boolean, reload: boolean, editMode: DisplayMode, monitor: boolean): ILoadPerformanceSS7;
|
|
@@ -17,4 +18,13 @@ export declare function updatePerformanceEnd(op: IPerformanceOp, updateMilisecon
|
|
|
17
18
|
export declare function updatePerformanceEndV2(props: IEndPerformOp): IPerformanceOp;
|
|
18
19
|
export declare function updatePerformOpSimple(ops: IPerformanceOp[], count: number | null): IPerformanceOp[];
|
|
19
20
|
export declare function startPerformOpDetail(ops: IPerformanceOpWithDetails[], label: string, editMode: DisplayMode, update?: boolean, count?: number | null): IPerformanceOpWithDetails[];
|
|
21
|
+
/**
|
|
22
|
+
*
|
|
23
|
+
* @param result
|
|
24
|
+
* @param performanceSettings
|
|
25
|
+
* @param fetchOp
|
|
26
|
+
* @param key
|
|
27
|
+
* @param resultKey
|
|
28
|
+
*/
|
|
29
|
+
export declare function unifiedPerformanceEnd(result: IFpsErrorObject, performanceSettings: IPerformanceSettings, perfOp: IPerformanceOp, key: IUnifiedPerformanceOpsKeys, resultKey: any): IFpsErrorObject;
|
|
20
30
|
//# sourceMappingURL=functions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"functions.d.ts","sourceRoot":"","sources":["../../../../src/components/molecules/Performance/functions.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,qDAAqD,CAAC;AAClF,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AACzI,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"functions.d.ts","sourceRoot":"","sources":["../../../../src/components/molecules/Performance/functions.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,qDAAqD,CAAC;AAClF,OAAO,EAAE,eAAe,EAAE,0BAA0B,EAAE,MAAM,uCAAuC,CAAC;AACpG,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AACzI,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9F,wBAAgB,yBAAyB,CAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAG,OAAO,GAAK,gBAAgB,CAqBvG;AAED,wBAAgB,0BAA0B,CAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAG,OAAO,GAAK,qBAAqB,CAM7G;AAED,wBAAgB,wBAAwB,CAAE,OAAO,EAAG,OAAO,EAAE,MAAM,EAAG,OAAO,EAAE,MAAM,EAAG,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAG,OAAO,GAAK,mBAAmB,CAWhK;AAED,wBAAgB,cAAc,CAAG,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,GAAG,IAAI,EAAE,YAAY,GAAE,OAAe,kBAE1G;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAG,KAAK,EAAE,eAAe,kBAexD;AAGD,wBAAgB,oBAAoB,CAAE,EAAE,EAAE,cAAc,EAAE,iBAAiB,EAAG,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,kBAE1G;AAED,wBAAgB,sBAAsB,CAAE,KAAK,EAAE,aAAa,kBAY3D;AAED,wBAAgB,qBAAqB,CAAG,GAAG,EAAE,cAAc,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,oBAOlF;AAED,wBAAgB,oBAAoB,CAAG,GAAG,EAAE,yBAAyB,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,GAAE,OAAc,EAAE,KAAK,GAAE,MAAM,GAAG,IAAW,+BAkBjK;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAE,MAAM,EAAE,eAAe,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,EAAE,0BAA0B,EAAE,SAAS,EAAE,GAAG,mBASjL"}
|
|
@@ -91,4 +91,19 @@ export function startPerformOpDetail(ops, label, editMode, update = true, count
|
|
|
91
91
|
}
|
|
92
92
|
return ops;
|
|
93
93
|
}
|
|
94
|
+
/**
|
|
95
|
+
*
|
|
96
|
+
* @param result
|
|
97
|
+
* @param performanceSettings
|
|
98
|
+
* @param fetchOp
|
|
99
|
+
* @param key
|
|
100
|
+
* @param resultKey
|
|
101
|
+
*/
|
|
102
|
+
export function unifiedPerformanceEnd(result, performanceSettings, perfOp, key, resultKey) {
|
|
103
|
+
const resultAny = result;
|
|
104
|
+
result.unifiedPerformanceOps[key] = performanceSettings ?
|
|
105
|
+
updatePerformanceEndV2({ op: perfOp, updateMiliseconds: performanceSettings.updateMiliseconds, count: resultAny[resultKey] ? resultAny[resultKey].length : -1 }) : null;
|
|
106
|
+
result[`${key}Op`] = result.unifiedPerformanceOps[key];
|
|
107
|
+
return result;
|
|
108
|
+
}
|
|
94
109
|
//# sourceMappingURL=functions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"functions.js","sourceRoot":"","sources":["../../../../src/components/molecules/Performance/functions.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"functions.js","sourceRoot":"","sources":["../../../../src/components/molecules/Performance/functions.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { IJSFetchReturn } from "../doSpJsFetch";
|
|
2
|
+
import { IHubSiteDataResultAPI } from "./interface";
|
|
3
|
+
export interface IFPSHubNav extends IJSFetchReturn {
|
|
4
|
+
nav: IHubSiteDataResultAPI;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* fetchMyHubNav should be given the Url of a Hub Site and it should return that hubsite's navigation.
|
|
8
|
+
* - useful in Hub Connections or where you want to get navigation elements of a site.
|
|
9
|
+
* @param webUrl
|
|
10
|
+
* @returns
|
|
11
|
+
*/
|
|
12
|
+
export declare function fetchMyHubNav(webUrl: string): Promise<IFPSHubNav>;
|
|
13
|
+
//# sourceMappingURL=fetchMyHubNav.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetchMyHubNav.d.ts","sourceRoot":"","sources":["../../../../../src/components/molecules/SpHttp/HubSiteData/fetchMyHubNav.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,EAAe,MAAM,gBAAgB,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAKpD,MAAM,WAAW,UAAW,SAAQ,cAAc;IAChD,GAAG,EAAE,qBAAqB,CAAC;CAC5B;AAED;;;;;GAKG;AACH,wBAAsB,aAAa,CAAE,MAAM,EAAE,MAAM,GAAK,OAAO,CAAC,UAAU,CAAC,CAgC1E"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { startPerformOpV2, unifiedPerformanceEnd } from "../../Performance/functions";
|
|
2
|
+
import { doSpJsFetch } from "../doSpJsFetch";
|
|
3
|
+
import { check4This } from "@mikezimm/fps-pnp2/lib/services/sp/CheckSearch";
|
|
4
|
+
/**
|
|
5
|
+
* fetchMyHubNav should be given the Url of a Hub Site and it should return that hubsite's navigation.
|
|
6
|
+
* - useful in Hub Connections or where you want to get navigation elements of a site.
|
|
7
|
+
* @param webUrl
|
|
8
|
+
* @returns
|
|
9
|
+
*/
|
|
10
|
+
export async function fetchMyHubNav(webUrl) {
|
|
11
|
+
let performanceSettings = { label: 'hubNav', updateMiliseconds: true, includeMsStr: true, op: 'fetch' };
|
|
12
|
+
const fetchOp = performanceSettings ? startPerformOpV2(performanceSettings) : null;
|
|
13
|
+
// api from chatGPT
|
|
14
|
+
// const apiFetchHubNav: string = `${webUrl}/_api/web/hubSiteData?$select=navigation`;// 9 Works
|
|
15
|
+
const apiFetchHubNav = `${webUrl}/_api/web/HubSiteData(true)`; // 9 Works
|
|
16
|
+
let resultHubNav = await doSpJsFetch(apiFetchHubNav);
|
|
17
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
18
|
+
if (typeof resultHubNav.items === 'string') {
|
|
19
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
20
|
+
resultHubNav.nav = JSON.parse(resultHubNav.items);
|
|
21
|
+
if (check4This('fpsShowFetchResults=true') === true)
|
|
22
|
+
console.log(`fps-library-v2 Success: fetchMyHubNav ~ 31`, resultHubNav.nav);
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
// This is of unknown origin....
|
|
26
|
+
resultHubNav.nav = null;
|
|
27
|
+
resultHubNav.ok = false;
|
|
28
|
+
resultHubNav.statusNo = 404;
|
|
29
|
+
resultHubNav.statusText = 'Unknown nav object';
|
|
30
|
+
if (check4This('fpsShowFetchResults=true') === true)
|
|
31
|
+
console.log(`fps-library-v2 Error: fetchMyHubNav ~ 31`, resultHubNav.nav);
|
|
32
|
+
}
|
|
33
|
+
resultHubNav = unifiedPerformanceEnd(resultHubNav, performanceSettings, fetchOp, 'fetch', 'value');
|
|
34
|
+
return resultHubNav;
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=fetchMyHubNav.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetchMyHubNav.js","sourceRoot":"","sources":["../../../../../src/components/molecules/SpHttp/HubSiteData/fetchMyHubNav.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACtF,OAAO,EAAkB,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7D,OAAO,EAAE,UAAU,EAAE,MAAM,gDAAgD,CAAC;AAQ5E;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAE,MAAc;IAEjD,IAAI,mBAAmB,GAAyB,EAAG,KAAK,EAAE,QAAQ,EAAE,iBAAiB,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC;IAC/H,MAAM,OAAO,GAAG,mBAAmB,CAAC,CAAC,CAAC,gBAAgB,CAAE,mBAAmB,CAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAErF,mBAAmB;IACnB,gGAAgG;IAChG,MAAM,cAAc,GAAW,GAAG,MAAM,6BAA6B,CAAC,CAAA,UAAU;IAEhF,IAAI,YAAY,GAAe,MAAM,WAAW,CAAE,cAAc,CAAgB,CAAC;IAEjF,8DAA8D;IAC9D,IAAK,OAAO,YAAY,CAAC,KAAK,KAAK,QAAQ,EAAG;QAC5C,8DAA8D;QAC9D,YAAY,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAE,YAAY,CAAC,KAAY,CAAE,CAAC;QAE3D,IAAK,UAAU,CAAE,0BAA0B,CAAE,KAAK,IAAI;YAAG,OAAO,CAAC,GAAG,CAAE,4CAA4C,EAAE,YAAY,CAAC,GAAG,CAAE,CAAC;KAExI;SAAM;QACL,gCAAgC;QAChC,YAAY,CAAC,GAAG,GAAG,IAAI,CAAC;QACxB,YAAY,CAAC,EAAE,GAAG,KAAK,CAAC;QACxB,YAAY,CAAC,QAAQ,GAAG,GAAG,CAAC;QAC5B,YAAY,CAAC,UAAU,GAAG,oBAAoB,CAAC;QAC/C,IAAK,UAAU,CAAE,0BAA0B,CAAE,KAAK,IAAI;YAAG,OAAO,CAAC,GAAG,CAAE,0CAA0C,EAAE,YAAY,CAAC,GAAG,CAAE,CAAC;KAEtI;IAED,YAAY,GAAG,qBAAqB,CAAE,YAA+B,EAAE,mBAAmB,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAiB,CAAC;IAEvI,OAAO,YAAY,CAAC;AAEtB,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Reference Docs for interface here:
|
|
3
|
+
* https://learn.microsoft.com/en-us/sharepoint/dev/features/hub-site/rest-sphubsitedata-type
|
|
4
|
+
*/
|
|
5
|
+
export interface IHubSiteDataResultAPI {
|
|
6
|
+
headerEmphasis: string;
|
|
7
|
+
hideNameInNavigation: boolean;
|
|
8
|
+
isNavAudienceTargeted: boolean;
|
|
9
|
+
isSameTenantInstance: boolean;
|
|
10
|
+
logoFileHash: number;
|
|
11
|
+
logoUrl: string;
|
|
12
|
+
megaMenuEnabled: boolean;
|
|
13
|
+
name: string;
|
|
14
|
+
navigation: IFPSHubNavigationItem[];
|
|
15
|
+
parentHubSiteId: string;
|
|
16
|
+
relatedHubSiteIds: string[];
|
|
17
|
+
requiresJoinApproval: boolean;
|
|
18
|
+
siteDesignId: string;
|
|
19
|
+
tenantInstanceId: string;
|
|
20
|
+
themeKey: string;
|
|
21
|
+
url: string;
|
|
22
|
+
usesMetadataNavigation: boolean;
|
|
23
|
+
}
|
|
24
|
+
export interface IFPSHubNavigationItem {
|
|
25
|
+
Id: number;
|
|
26
|
+
Title: string;
|
|
27
|
+
Url: string;
|
|
28
|
+
IsDocLib: boolean;
|
|
29
|
+
IsExternal: boolean;
|
|
30
|
+
ParentId: number;
|
|
31
|
+
IdTree: number[];
|
|
32
|
+
ListTemplateType: number;
|
|
33
|
+
Children: IFPSHubNavigationItem[];
|
|
34
|
+
OpenInNewWindow: boolean;
|
|
35
|
+
AudienceIds: number[];
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=interface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../../../../src/components/molecules/SpHttp/HubSiteData/interface.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC,cAAc,EAAE,MAAM,CAAC;IACvB,oBAAoB,EAAE,OAAO,CAAC;IAC9B,qBAAqB,EAAE,OAAO,CAAC;IAC/B,oBAAoB,EAAE,OAAO,CAAC;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,OAAO,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,qBAAqB,EAAE,CAAC;IACpC,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,oBAAoB,EAAE,OAAO,CAAC;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,sBAAsB,EAAE,OAAO,CAAC;CACjC;AAED,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,qBAAqB,EAAE,CAAC;IAClC,eAAe,EAAE,OAAO,CAAC;IACzB,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interface.js","sourceRoot":"","sources":["../../../../../src/components/molecules/SpHttp/HubSiteData/interface.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { IFPSWebsWithLogo } from "./interfaces/IFPSHubSiteDataDocsApi";
|
|
2
|
+
/**
|
|
3
|
+
* cleanSearchedWebs will go through results from the Search API for Hubs and Subs and clean up the results.
|
|
4
|
+
* - it also adds some duplicate properties that are already used in other web parts like Pivot Tiles and Hub Connections.
|
|
5
|
+
* @param searchedWebs
|
|
6
|
+
* @returns
|
|
7
|
+
*/
|
|
8
|
+
export declare function cleanSearchedWebs(searchedWebs: any[]): IFPSWebsWithLogo[];
|
|
9
|
+
//# sourceMappingURL=cleanSearchedWebs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cleanSearchedWebs.d.ts","sourceRoot":"","sources":["../../../../../src/components/molecules/SpHttp/HubsSubs/cleanSearchedWebs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAc,MAAM,qCAAqC,CAAC;AAGnF;;;;;GAKG;AAGH,wBAAgB,iBAAiB,CAAE,YAAY,EAAE,GAAG,EAAE,GAAI,gBAAgB,EAAE,CA6B3E"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { hubSelects } from "./interfaces/IFPSHubSiteDataDocsApi";
|
|
2
|
+
// import { check4This } from "@mikezimm/fps-pnp2/lib/services/sp/CheckSearch";
|
|
3
|
+
/**
|
|
4
|
+
* cleanSearchedWebs will go through results from the Search API for Hubs and Subs and clean up the results.
|
|
5
|
+
* - it also adds some duplicate properties that are already used in other web parts like Pivot Tiles and Hub Connections.
|
|
6
|
+
* @param searchedWebs
|
|
7
|
+
* @returns
|
|
8
|
+
*/
|
|
9
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
10
|
+
export function cleanSearchedWebs(searchedWebs) {
|
|
11
|
+
// get Cleaned Search
|
|
12
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
13
|
+
const cleanWebs = [];
|
|
14
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
15
|
+
searchedWebs.map((item) => {
|
|
16
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
17
|
+
const thisItem = {};
|
|
18
|
+
hubSelects.map((prop, idx2) => {
|
|
19
|
+
if (item.Cells[idx2])
|
|
20
|
+
thisItem[prop] = item.Cells[idx2].Value;
|
|
21
|
+
});
|
|
22
|
+
// commonize some props for easier compatibility with other web parts
|
|
23
|
+
if (!thisItem.imageUrl)
|
|
24
|
+
thisItem.imageUrl = thisItem.SiteLogo ? thisItem.SiteLogo : thisItem.PictureThumbnailURL;
|
|
25
|
+
if (!thisItem.title)
|
|
26
|
+
thisItem.title = thisItem.Title;
|
|
27
|
+
if (!thisItem.href)
|
|
28
|
+
thisItem.href = thisItem.ServerRelativeUrl ? thisItem.ServerRelativeUrl : thisItem.Path;
|
|
29
|
+
if (!thisItem.description)
|
|
30
|
+
thisItem.description = thisItem.Description;
|
|
31
|
+
if (!thisItem.sourceType)
|
|
32
|
+
thisItem.sourceType = thisItem.sourceType = `sites`;
|
|
33
|
+
cleanWebs.push(thisItem);
|
|
34
|
+
});
|
|
35
|
+
return cleanWebs;
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=cleanSearchedWebs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cleanSearchedWebs.js","sourceRoot":"","sources":["../../../../../src/components/molecules/SpHttp/HubsSubs/cleanSearchedWebs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,UAAU,EAAE,MAAM,qCAAqC,CAAC;AACnF,+EAA+E;AAE/E;;;;;GAKG;AAEH,8DAA8D;AAC9D,MAAM,UAAU,iBAAiB,CAAE,YAAmB;IAEpD,qBAAqB;IAErB,8DAA8D;IAC9D,MAAM,SAAS,GAAU,EAAE,CAAC;IAE5B,8DAA8D;IAC9D,YAAY,CAAC,GAAG,CAAG,CAAE,IAAS,EAAG,EAAE;QAEjC,8DAA8D;QAC9D,MAAM,QAAQ,GAAQ,EAAE,CAAC;QACzB,UAAU,CAAC,GAAG,CAAE,CAAE,IAAI,EAAE,IAAI,EAAG,EAAE;YAC/B,IAAK,IAAI,CAAC,KAAK,CAAE,IAAI,CAAE;gBAAG,QAAQ,CAAE,IAAI,CAAE,GAAG,IAAI,CAAC,KAAK,CAAE,IAAI,CAAE,CAAC,KAAK,CAAC;QACxE,CAAC,CAAC,CAAC;QAEH,qEAAqE;QACrE,IAAK,CAAC,QAAQ,CAAC,QAAQ;YAAG,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,mBAAmB,CAAC;QACnH,IAAK,CAAC,QAAQ,CAAC,KAAK;YAAG,QAAQ,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;QACvD,IAAK,CAAC,QAAQ,CAAC,IAAI;YAAG,QAAQ,CAAC,IAAI,GAAG,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC9G,IAAK,CAAC,QAAQ,CAAC,WAAW;YAAG,QAAQ,CAAC,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC;QACzE,IAAK,CAAC,QAAQ,CAAC,UAAU;YAAG,QAAQ,CAAC,UAAU,GAAG,QAAQ,CAAC,UAAU,GAAG,OAAO,CAAC;QAEhF,SAAS,CAAC,IAAI,CAAE,QAAQ,CAAE,CAAC;IAE7B,CAAC,CAAC,CAAC;IAEH,OAAO,SAAS,CAAC;AAEnB,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { IJSFetchReturn } from "../doSpJsFetch";
|
|
2
|
+
export interface IFPSHubsSubs {
|
|
3
|
+
hubs: IJSFetchReturn;
|
|
4
|
+
subs: IJSFetchReturn;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* fetchMyHubSubs will syncronsly fetch the links for the current site's parent hub's associated sites and the current site's subsites.
|
|
8
|
+
* Used in Pivot Tiles and Hub Connections.
|
|
9
|
+
*
|
|
10
|
+
* @param webUrl
|
|
11
|
+
* @param departmentId
|
|
12
|
+
* @returns
|
|
13
|
+
*/
|
|
14
|
+
export declare function fetchMyHubSubs(webUrl: string, departmentId: string): Promise<IFPSHubsSubs>;
|
|
15
|
+
//# sourceMappingURL=fetchMyHubsSubs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetchMyHubsSubs.d.ts","sourceRoot":"","sources":["../../../../../src/components/molecules/SpHttp/HubsSubs/fetchMyHubsSubs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAOhD,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,cAAc,CAAC;IACrB,IAAI,EAAE,cAAc,CAAC;CAEtB;AAED;;;;;;;GAOG;AACH,wBAAsB,cAAc,CAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAI,OAAO,CAAC,YAAY,CAAC,CAiClG"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
// import { findSimilarNavNodes, findSpecificNavNodes } from "../functions/findNavNodes";
|
|
2
|
+
// import { fetchMyHubNav } from "../HubSiteData/fetchMyHubNav";
|
|
3
|
+
import { fetchMyHubsites } from "./fetchMyHubsites";
|
|
4
|
+
import { fetchMySubsites } from "./fetchMySubsites";
|
|
5
|
+
import { check4This } from "@mikezimm/fps-pnp2/lib/services/sp/CheckSearch";
|
|
6
|
+
/**
|
|
7
|
+
* fetchMyHubSubs will syncronsly fetch the links for the current site's parent hub's associated sites and the current site's subsites.
|
|
8
|
+
* Used in Pivot Tiles and Hub Connections.
|
|
9
|
+
*
|
|
10
|
+
* @param webUrl
|
|
11
|
+
* @param departmentId
|
|
12
|
+
* @returns
|
|
13
|
+
*/
|
|
14
|
+
export async function fetchMyHubSubs(webUrl, departmentId) {
|
|
15
|
+
// const [ hubs, subs, nav ] = await Promise.all([
|
|
16
|
+
const [hubs, subs,] = await Promise.all([
|
|
17
|
+
fetchMyHubsites(webUrl, departmentId),
|
|
18
|
+
fetchMySubsites(webUrl),
|
|
19
|
+
// fetchMyHubNav( webUrl, departmentId ),
|
|
20
|
+
]);
|
|
21
|
+
// Verified on /sites/TheSharePointHub
|
|
22
|
+
// findSimilarNavNodes( nav, 'Title', 'Branding' );
|
|
23
|
+
// findSimilarNavNodes( nav, 'Title', 'Branding', 2 );
|
|
24
|
+
// findSimilarNavNodes( nav, 'Title', 'Branding', 1 );
|
|
25
|
+
// findSimilarNavNodes( nav, 'Title', 'Child', 1 );
|
|
26
|
+
// findSimilarNavNodes( nav, 'Title', 'TestHeader', );
|
|
27
|
+
// findSpecificNavNodes( nav, 'Title', [ 'SharePoint Online Info (Public)', 'Branding' ] );
|
|
28
|
+
// findSpecificNavNodes( nav, 'Title', [ 'SharePoint Team (Access required)', 'TestHeader' ] );
|
|
29
|
+
// findSpecificNavNodes( nav, 'Title', [ 'Hubs (DO NOT request access)', 'Child', ] );
|
|
30
|
+
// findSpecificNavNodes( nav, 'Title', [ 'Hubs (DO NOT request access)', 'TheSharePointHub' ] );
|
|
31
|
+
// findSpecificNavNodes( nav, 'Title', [ 'Hubs (DO NOT request access)','Child', 'TheSharePointHub' ] );
|
|
32
|
+
// findSpecificNavNodes( nav, 'Title', [ 'SharePoint Online Info (Public)' ] );
|
|
33
|
+
// findSpecificNavNodes( nav, 'Title', [ 'The Share PointHub' ] );
|
|
34
|
+
const results = {
|
|
35
|
+
hubs: hubs,
|
|
36
|
+
subs: subs,
|
|
37
|
+
// nav: nav,
|
|
38
|
+
};
|
|
39
|
+
if (check4This('fpsShowFetchResults=true') === true)
|
|
40
|
+
console.log(`fps-library-v2 Complete: fetchMyHubSubs ~ 51 results`, results);
|
|
41
|
+
return results;
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=fetchMyHubsSubs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetchMyHubsSubs.js","sourceRoot":"","sources":["../../../../../src/components/molecules/SpHttp/HubsSubs/fetchMyHubsSubs.ts"],"names":[],"mappings":"AACA,yFAAyF;AACzF,gEAAgE;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,gDAAgD,CAAC;AAQ5E;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAE,MAAc,EAAE,YAAoB;IAExE,kDAAkD;IAClD,MAAM,CAAE,IAAI,EAAE,IAAI,EAAG,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACxC,eAAe,CAAE,MAAM,EAAE,YAAY,CAAE;QACvC,eAAe,CAAE,MAAM,CAAG;QAC1B,yCAAyC;KAC1C,CAAC,CAAC;IAEH,sCAAsC;IACtC,mDAAmD;IACnD,sDAAsD;IACtD,sDAAsD;IACtD,mDAAmD;IACnD,sDAAsD;IAEtD,2FAA2F;IAC3F,+FAA+F;IAC/F,sFAAsF;IACtF,gGAAgG;IAChG,wGAAwG;IACxG,+EAA+E;IAC/E,kEAAkE;IAElE,MAAM,OAAO,GAAiB;QAC5B,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,IAAI;QACV,YAAY;KACb,CAAA;IACD,IAAK,UAAU,CAAE,0BAA0B,CAAE,KAAK,IAAI;QAAG,OAAO,CAAC,GAAG,CAAE,sDAAsD,EAAE,OAAO,CAAE,CAAC;IAExI,OAAO,OAAO,CAAC;AAEjB,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { IJSFetchReturn } from "../doSpJsFetch";
|
|
2
|
+
/**
|
|
3
|
+
* fetchMyHubsites will fetch an array of the current site's hub associated sites. Used in Pivot Tiles and Hub Connections.
|
|
4
|
+
* @param webUrl
|
|
5
|
+
* @param departmentId
|
|
6
|
+
* @returns
|
|
7
|
+
*/
|
|
8
|
+
export declare function fetchMyHubsites(webUrl: string, departmentId: string): Promise<IJSFetchReturn>;
|
|
9
|
+
//# sourceMappingURL=fetchMyHubsites.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetchMyHubsites.d.ts","sourceRoot":"","sources":["../../../../../src/components/molecules/SpHttp/HubsSubs/fetchMyHubsites.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAe,MAAM,gBAAgB,CAAC;AAO7D;;;;;GAKG;AACH,wBAAsB,eAAe,CAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAI,OAAO,CAAC,cAAc,CAAC,CAiBrG"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { cleanSearchedWebs } from "./cleanSearchedWebs";
|
|
2
|
+
import { doSpJsFetch } from "../doSpJsFetch";
|
|
3
|
+
import { hubSelects } from "./interfaces/IFPSHubSiteDataDocsApi";
|
|
4
|
+
import { check4This } from "@mikezimm/fps-pnp2/lib/services/sp/CheckSearch";
|
|
5
|
+
import { startPerformOpV2, unifiedPerformanceEnd } from "../../Performance/functions";
|
|
6
|
+
/**
|
|
7
|
+
* fetchMyHubsites will fetch an array of the current site's hub associated sites. Used in Pivot Tiles and Hub Connections.
|
|
8
|
+
* @param webUrl
|
|
9
|
+
* @param departmentId
|
|
10
|
+
* @returns
|
|
11
|
+
*/
|
|
12
|
+
export async function fetchMyHubsites(webUrl, departmentId) {
|
|
13
|
+
let performanceSettings = { label: 'myHubs', updateMiliseconds: true, includeMsStr: true, op: 'fetch' };
|
|
14
|
+
const fetchOp = performanceSettings ? startPerformOpV2(performanceSettings) : null;
|
|
15
|
+
const apiFetchAssociatedHubs = `${webUrl}/_api/search/query?querytext='DepartmentId=${departmentId} contentclass:sts_site -SiteId:${departmentId}'&selectproperties='${hubSelects.join(',')}'&rowlimit=50`; // 9 Works
|
|
16
|
+
let resultHubSites = await doSpJsFetch(apiFetchAssociatedHubs);
|
|
17
|
+
if (resultHubSites.ok)
|
|
18
|
+
resultHubSites.items = cleanSearchedWebs(resultHubSites.items);
|
|
19
|
+
resultHubSites = unifiedPerformanceEnd(resultHubSites, performanceSettings, fetchOp, 'fetch', 'value');
|
|
20
|
+
if (check4This('fpsShowFetchResults=true') === true)
|
|
21
|
+
console.log(`ps-library-v2 Complete: fetchMyHubsites: resultHubSites`, resultHubSites);
|
|
22
|
+
return resultHubSites;
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=fetchMyHubsites.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetchMyHubsites.js","sourceRoot":"","sources":["../../../../../src/components/molecules/SpHttp/HubsSubs/fetchMyHubsites.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAkB,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,gDAAgD,CAAC;AAE5E,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAGtF;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAE,MAAc,EAAE,YAAoB;IAEzE,IAAI,mBAAmB,GAAyB,EAAG,KAAK,EAAE,QAAQ,EAAE,iBAAiB,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC;IAC/H,MAAM,OAAO,GAAG,mBAAmB,CAAC,CAAC,CAAC,gBAAgB,CAAE,mBAAmB,CAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAErF,MAAM,sBAAsB,GAAW,GAAG,MAAM,8CAA8C,YAAY,kCAAkC,YAAY,uBAAuB,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA,UAAU;IAE7N,IAAI,cAAc,GAAmB,MAAM,WAAW,CAAE,sBAAsB,CAAE,CAAC;IAEjF,IAAK,cAAc,CAAC,EAAE;QAAG,cAAc,CAAC,KAAK,GAAG,iBAAiB,CAAE,cAAc,CAAC,KAAK,CAAE,CAAC;IAE1F,cAAc,GAAG,qBAAqB,CAAE,cAAiC,EAAE,mBAAmB,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAqB,CAAC;IAE/I,IAAK,UAAU,CAAE,0BAA0B,CAAE,KAAK,IAAI;QAAG,OAAO,CAAC,GAAG,CAAE,0DAA0D,EAAE,cAAc,CAAE,CAAC;IAEnJ,OAAO,cAAc,CAAC;AAExB,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { IJSFetchReturn } from "../doSpJsFetch";
|
|
2
|
+
/**
|
|
3
|
+
* This will fetch Subsites and their site logos, be sure to run EasyIcons after
|
|
4
|
+
* It does two fetches at the same time syncronosly.... needed due to SPO rest limiations.
|
|
5
|
+
* - apiSearchWebs api uses Search to find all subsites of the parent Url in order to get the actual SiteLogs
|
|
6
|
+
* - apiFilteredWebs api gets the actual current subsites the user has access to FOR THE CURRENT WEB.
|
|
7
|
+
* - Technically you could just use Search but that requires a crawl which may result in returning items that have been changed or deleted.
|
|
8
|
+
* Used in Pivot Tiles and Hub Connections.
|
|
9
|
+
*
|
|
10
|
+
* @param webUrl
|
|
11
|
+
* @param departmentId
|
|
12
|
+
* @returns
|
|
13
|
+
*/
|
|
14
|
+
export declare function fetchMySubsites(webUrl: string): Promise<IJSFetchReturn>;
|
|
15
|
+
//# sourceMappingURL=fetchMySubsites.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetchMySubsites.d.ts","sourceRoot":"","sources":["../../../../../src/components/molecules/SpHttp/HubsSubs/fetchMySubsites.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAe,MAAM,gBAAgB,CAAC;AAO7D;;;;;;;;;;;GAWG;AACH,wBAAsB,eAAe,CAAE,MAAM,EAAE,MAAM,GAAK,OAAO,CAAC,cAAc,CAAC,CA2ChF"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { cleanSearchedWebs } from "./cleanSearchedWebs";
|
|
2
|
+
import { doSpJsFetch } from "../doSpJsFetch";
|
|
3
|
+
import { hubSelects } from "./interfaces/IFPSHubSiteDataDocsApi";
|
|
4
|
+
import { check4This } from "@mikezimm/fps-pnp2/lib/services/sp/CheckSearch";
|
|
5
|
+
import { startPerformOpV2, unifiedPerformanceEnd } from "../../Performance/functions";
|
|
6
|
+
/**
|
|
7
|
+
* This will fetch Subsites and their site logos, be sure to run EasyIcons after
|
|
8
|
+
* It does two fetches at the same time syncronosly.... needed due to SPO rest limiations.
|
|
9
|
+
* - apiSearchWebs api uses Search to find all subsites of the parent Url in order to get the actual SiteLogs
|
|
10
|
+
* - apiFilteredWebs api gets the actual current subsites the user has access to FOR THE CURRENT WEB.
|
|
11
|
+
* - Technically you could just use Search but that requires a crawl which may result in returning items that have been changed or deleted.
|
|
12
|
+
* Used in Pivot Tiles and Hub Connections.
|
|
13
|
+
*
|
|
14
|
+
* @param webUrl
|
|
15
|
+
* @param departmentId
|
|
16
|
+
* @returns
|
|
17
|
+
*/
|
|
18
|
+
export async function fetchMySubsites(webUrl) {
|
|
19
|
+
let performanceSettings = { label: 'mySubs', updateMiliseconds: true, includeMsStr: true, op: 'fetch' };
|
|
20
|
+
const fetchOp = performanceSettings ? startPerformOpV2(performanceSettings) : null;
|
|
21
|
+
// const apiSearchWebs: string = `${webUrl}/_api/search/query?querytext='DepartmentId=${departmentId} ParentLink=${webUrl} contentclass:STS_Web'&selectproperties='${hubSelects.join(',')}'&rowlimit=50`;// 9 Works
|
|
22
|
+
const apiSearchWebs = `${webUrl}/_api/search/query?querytext='ParentLink=${webUrl} contentclass:STS_Web'&selectproperties='${hubSelects.join(',')}'&rowlimit=50`; // 9 Works
|
|
23
|
+
const apiFilteredWebs = `${webUrl}/_api/web/getsubwebsfilteredforcurrentuser(nwebtemplatefilter=-1,nconfigurationfilter=0)`; // 12 Works! Finally from chatGPT
|
|
24
|
+
// this api only works for SiteAdmins on the site you are trying to fetch from
|
|
25
|
+
// const apiFilteredWebsOnlyWorksForSCAs: string = `${webUrl}//_api/web/webs?$select=Title`; // 12 Works! Finally from chatGPT
|
|
26
|
+
let [searchedWebs, filteredWebs,] = await Promise.all([
|
|
27
|
+
doSpJsFetch(apiSearchWebs),
|
|
28
|
+
doSpJsFetch(apiFilteredWebs),
|
|
29
|
+
]);
|
|
30
|
+
if (searchedWebs.ok)
|
|
31
|
+
searchedWebs.items = cleanSearchedWebs(searchedWebs.items);
|
|
32
|
+
const resultWebs = [];
|
|
33
|
+
// Search through the fetched webs and try to find SiteLogos from Search
|
|
34
|
+
filteredWebs.items.map(filteredWeb => {
|
|
35
|
+
const matchedWeb = searchedWebs.items.filter(cleanedWeb => { return cleanedWeb.ServerRelativeUrl === filteredWeb.ServerRelativeUrl; });
|
|
36
|
+
if (matchedWeb.length) {
|
|
37
|
+
filteredWeb = { ...filteredWeb, ...matchedWeb[0] };
|
|
38
|
+
}
|
|
39
|
+
resultWebs.push(filteredWeb);
|
|
40
|
+
});
|
|
41
|
+
searchedWebs.items = resultWebs;
|
|
42
|
+
// Go back and update searchWebs status if filteredWebs is not ok
|
|
43
|
+
if (filteredWebs.ok !== true)
|
|
44
|
+
searchedWebs.ok = filteredWebs.ok;
|
|
45
|
+
if (filteredWebs.ok !== true)
|
|
46
|
+
searchedWebs.status = filteredWebs.status;
|
|
47
|
+
if (filteredWebs.ok !== true)
|
|
48
|
+
searchedWebs.statusText = filteredWebs.statusText;
|
|
49
|
+
searchedWebs = unifiedPerformanceEnd(searchedWebs, performanceSettings, fetchOp, 'fetch', 'value');
|
|
50
|
+
if (check4This('fpsShowFetchResults=true') === true)
|
|
51
|
+
console.log(`fps-library-v2 Complete: fetchMySubsites ~ 53 resultWebs`, resultWebs);
|
|
52
|
+
return searchedWebs;
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=fetchMySubsites.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetchMySubsites.js","sourceRoot":"","sources":["../../../../../src/components/molecules/SpHttp/HubsSubs/fetchMySubsites.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAkB,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7D,OAAO,EAAoB,UAAU,EAAE,MAAM,qCAAqC,CAAC;AACnF,OAAO,EAAE,UAAU,EAAE,MAAM,gDAAgD,CAAC;AAE5E,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAGtF;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAE,MAAc;IAEnD,IAAI,mBAAmB,GAAyB,EAAG,KAAK,EAAE,QAAQ,EAAE,iBAAiB,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC;IAC/H,MAAM,OAAO,GAAG,mBAAmB,CAAC,CAAC,CAAC,gBAAgB,CAAE,mBAAmB,CAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAErF,mNAAmN;IACnN,MAAM,aAAa,GAAW,GAAG,MAAM,4CAA4C,MAAM,4CAA4C,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA,UAAU;IACnL,MAAM,eAAe,GAAW,GAAG,MAAM,0FAA0F,CAAC,CAAC,kCAAkC;IAEvK,8EAA8E;IAC9E,+HAA+H;IAE/H,IAAI,CAAE,YAAY,EAAE,YAAY,EAAG,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACtD,WAAW,CAAE,aAAa,CAAE;QAC5B,WAAW,CAAE,eAAe,CAAE;KAC/B,CAAC,CAAC;IAEH,IAAK,YAAY,CAAC,EAAE;QAAG,YAAY,CAAC,KAAK,GAAG,iBAAiB,CAAE,YAAY,CAAC,KAAK,CAAE,CAAC;IAEpF,MAAM,UAAU,GAAuB,EAAE,CAAC;IAE1C,wEAAwE;IACxE,YAAY,CAAC,KAAK,CAAC,GAAG,CAAE,WAAW,CAAC,EAAE;QACpC,MAAM,UAAU,GAAG,YAAY,CAAC,KAAK,CAAC,MAAM,CAAE,UAAU,CAAC,EAAE,GAAG,OAAO,UAAU,CAAC,iBAAiB,KAAK,WAAW,CAAC,iBAAiB,CAAA,CAAC,CAAC,CAAC,CAAC;QACvI,IAAK,UAAU,CAAC,MAAM,EAAG;YACvB,WAAW,GAAG,EAAE,GAAG,WAAW,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,CAAA;SACnD;QACD,UAAU,CAAC,IAAI,CAAE,WAAW,CAAE,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,YAAY,CAAC,KAAK,GAAG,UAAU,CAAC;IAEhC,iEAAiE;IACjE,IAAK,YAAY,CAAC,EAAE,KAAK,IAAI;QAAG,YAAY,CAAC,EAAE,GAAG,YAAY,CAAC,EAAE,CAAC;IAClE,IAAK,YAAY,CAAC,EAAE,KAAK,IAAI;QAAG,YAAY,CAAC,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC;IAC1E,IAAK,YAAY,CAAC,EAAE,KAAK,IAAI;QAAG,YAAY,CAAC,UAAU,GAAG,YAAY,CAAC,UAAU,CAAC;IAElF,YAAY,GAAG,qBAAqB,CAAE,YAA+B,EAAE,mBAAmB,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAqB,CAAC;IAE3I,IAAK,UAAU,CAAE,0BAA0B,CAAE,KAAK,IAAI;QAAG,OAAO,CAAC,GAAG,CAAE,0DAA0D,EAAE,UAAU,CAAE,CAAC;IAE/I,OAAO,YAAY,CAAC;AAEtB,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { IFPSHubNavigationItem } from "../../HubSiteData/interface";
|
|
2
|
+
import { IFPSSubsFilteredItem } from "./IFPSSubsFilteredItem";
|
|
3
|
+
import { IFPSSubsSearchCleanItem } from "./IFPSSubsSearchCleanItem";
|
|
4
|
+
/**
|
|
5
|
+
* hubSelects are common select paramters used when using search api on Subsites and a hub's Associated sites
|
|
6
|
+
*/
|
|
7
|
+
export declare const hubSelects: string[];
|
|
8
|
+
export interface IFPSWebsWithLogo extends IFPSSubsFilteredItem, IFPSSubsSearchCleanItem {
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Generated from
|
|
12
|
+
* https://learn.microsoft.com/en-us/sharepoint/dev/features/hub-site/rest-hubsitedata-method
|
|
13
|
+
* https://contoso.sharepoint.com/sites/marketing/_api/web/HubSiteData(true)
|
|
14
|
+
*/
|
|
15
|
+
export interface IFPSHubSiteDataDocsApi {
|
|
16
|
+
themeKey: string | null;
|
|
17
|
+
name: string;
|
|
18
|
+
url: string;
|
|
19
|
+
logoUrl: string;
|
|
20
|
+
usesMetadataNavigation: boolean;
|
|
21
|
+
navigation: IFPSHubNavigationItem[];
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=IFPSHubSiteDataDocsApi.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IFPSHubSiteDataDocsApi.d.ts","sourceRoot":"","sources":["../../../../../../src/components/molecules/SpHttp/HubsSubs/interfaces/IFPSHubSiteDataDocsApi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEpE;;GAEG;AACH,eAAO,MAAM,UAAU,EAAE,MAAM,EAA6L,CAAC;AAE7N,MAAM,WAAW,gBAAiB,SAAQ,oBAAoB,EAAE,uBAAuB;CAAI;AAE3F;;;;GAIG;AAEH,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,sBAAsB,EAAE,OAAO,CAAC;IAChC,UAAU,EAAE,qBAAqB,EAAE,CAAC;CACrC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* hubSelects are common select paramters used when using search api on Subsites and a hub's Associated sites
|
|
3
|
+
*/
|
|
4
|
+
export const hubSelects = ['GroupId', 'Title', 'SiteId', 'WebId', 'DepartmentId', 'Path', 'Description', 'PictureThumbnailURL', 'SiteLogo', 'WebTemplate', 'ViewsLifeTime', 'ViewsRecent', 'contentclass', 'ParentLink'];
|
|
5
|
+
//# sourceMappingURL=IFPSHubSiteDataDocsApi.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IFPSHubSiteDataDocsApi.js","sourceRoot":"","sources":["../../../../../../src/components/molecules/SpHttp/HubsSubs/interfaces/IFPSHubSiteDataDocsApi.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAa,CAAE,SAAS,EAAE,OAAO,EAAC,QAAQ,EAAC,OAAO,EAAE,cAAc,EAAC,MAAM,EAAC,aAAa,EAAC,qBAAqB,EAAC,UAAU,EAAC,aAAa,EAAC,eAAe,EAAE,aAAa,EAAE,cAAc,EAAE,YAAY,CAAE,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This is the return interface for the value array when fetching this api
|
|
3
|
+
* https://learn.microsoft.com/en-us/sharepoint/dev/features/hub-site/rest-hubsites-method
|
|
4
|
+
* https://contoso.sharepoint.com/_api/HubSites
|
|
5
|
+
*/
|
|
6
|
+
export interface IFPSHubSitesApi {
|
|
7
|
+
"@odata.context": string;
|
|
8
|
+
value: IFPSHubSiteApi[];
|
|
9
|
+
}
|
|
10
|
+
export interface IFPSHubSiteApi {
|
|
11
|
+
"@odata.type": string;
|
|
12
|
+
"@odata.id": string;
|
|
13
|
+
"@odata.etag": string;
|
|
14
|
+
"@odata.editLink": string;
|
|
15
|
+
Description: string | undefined;
|
|
16
|
+
ID: string;
|
|
17
|
+
LogoUrl: string;
|
|
18
|
+
SiteId: string;
|
|
19
|
+
SiteUrl: string;
|
|
20
|
+
Targets: any[] | undefined;
|
|
21
|
+
TenantInstanceId: string;
|
|
22
|
+
Title: string;
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=IFPSHubSitesApi.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IFPSHubSitesApi.d.ts","sourceRoot":"","sources":["../../../../../../src/components/molecules/SpHttp/HubsSubs/interfaces/IFPSHubSitesApi.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,WAAW,eAAe;IAC9B,gBAAgB,EAAE,MAAM,CAAC;IACzB,KAAK,EAAE,cAAc,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,cAAc;IAC7B,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,GAAG,EAAE,GAAG,SAAS,CAAC;IAC3B,gBAAgB,EAAE,MAAM,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;CACf"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This is the return interface for the value array when fetching this api
|
|
3
|
+
* https://learn.microsoft.com/en-us/sharepoint/dev/features/hub-site/rest-hubsites-method
|
|
4
|
+
* https://contoso.sharepoint.com/_api/HubSites
|
|
5
|
+
*/
|
|
6
|
+
export {};
|
|
7
|
+
//# sourceMappingURL=IFPSHubSitesApi.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IFPSHubSitesApi.js","sourceRoot":"","sources":["../../../../../../src/components/molecules/SpHttp/HubsSubs/interfaces/IFPSHubSitesApi.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* IFPSSubsFilteredItem is used in IFPSWebsWithLogo which is in turn used by fetchMySubsites
|
|
3
|
+
* const apiSearchWebs: string = `${webUrl}/_api/search/query?querytext='ParentLink=${webUrl} contentclass:STS_Web'&selectproperties='${hubSelects.join(',')}'&rowlimit=50`;// 9 Works
|
|
4
|
+
const apiFilteredWebs: string = `${webUrl}/_api/web/getsubwebsfilteredforcurrentuser(nwebtemplatefilter=-1,nconfigurationfilter=0)`; // 12 Works! Finally from chatGPT
|
|
5
|
+
*/
|
|
6
|
+
export interface IFPSSubsFilteredItem {
|
|
7
|
+
Configuration: number;
|
|
8
|
+
Created: string;
|
|
9
|
+
Description: string;
|
|
10
|
+
Id: string;
|
|
11
|
+
Language: number;
|
|
12
|
+
LastItemModifiedDate: string;
|
|
13
|
+
LastItemUserModifiedDate: string;
|
|
14
|
+
ServerRelativeUrl: string;
|
|
15
|
+
Title: string;
|
|
16
|
+
WebTemplate: string;
|
|
17
|
+
WebTemplateId: number;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=IFPSSubsFilteredItem.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IFPSSubsFilteredItem.d.ts","sourceRoot":"","sources":["../../../../../../src/components/molecules/SpHttp/HubsSubs/interfaces/IFPSSubsFilteredItem.ts"],"names":[],"mappings":"AACA;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACnC,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,wBAAwB,EAAE,MAAM,CAAC;IACjC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;CACvB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IFPSSubsFilteredItem.js","sourceRoot":"","sources":["../../../../../../src/components/molecules/SpHttp/HubsSubs/interfaces/IFPSSubsFilteredItem.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* IFPSSubsSearchCleanItem is used in IFPSWebsWithLogo which is the type of object to be return with typical link info like Title, Desc, Path, Logo
|
|
3
|
+
* - Also includes some commonly used properties which are duplicates but standard for some web parts like PivotTiles and Hub Connections
|
|
4
|
+
*/
|
|
5
|
+
export interface IFPSSubsSearchCleanItem {
|
|
6
|
+
GroupId: string;
|
|
7
|
+
Title: string;
|
|
8
|
+
SiteId: string;
|
|
9
|
+
WebId: string;
|
|
10
|
+
DepartmentId: string;
|
|
11
|
+
Path: string;
|
|
12
|
+
Description: string;
|
|
13
|
+
PictureThumbnailURL: string;
|
|
14
|
+
SiteLogo: string;
|
|
15
|
+
WebTemplate: string;
|
|
16
|
+
ViewsLifeTime: string;
|
|
17
|
+
ViewsRecent: string;
|
|
18
|
+
contentclass: string;
|
|
19
|
+
ParentLink: undefined | string;
|
|
20
|
+
ServerRelativeUrl: string;
|
|
21
|
+
imageUrl: string;
|
|
22
|
+
title: string;
|
|
23
|
+
href: string;
|
|
24
|
+
description: string;
|
|
25
|
+
sourceType: string;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=IFPSSubsSearchCleanItem.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IFPSSubsSearchCleanItem.d.ts","sourceRoot":"","sources":["../../../../../../src/components/molecules/SpHttp/HubsSubs/interfaces/IFPSSubsSearchCleanItem.ts"],"names":[],"mappings":"AACA;;;GAGG;AACH,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,SAAS,GAAG,MAAM,CAAC;IAC/B,iBAAiB,EAAE,MAAM,CAAC;IAG1B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CAEpB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IFPSSubsSearchCleanItem.js","sourceRoot":"","sources":["../../../../../../src/components/molecules/SpHttp/HubsSubs/interfaces/IFPSSubsSearchCleanItem.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { IFPSResultStatus } from "@mikezimm/fps-pnp2/lib/services/sp/IFPSResultStatus";
|
|
2
|
+
export interface IJSFetchReturn {
|
|
3
|
+
status?: IFPSResultStatus;
|
|
4
|
+
statusNo?: number;
|
|
5
|
+
statusText?: string;
|
|
6
|
+
ok: boolean;
|
|
7
|
+
items: any[];
|
|
8
|
+
e: any;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Pass in any SharePoint rest api url and it should return a result or a standard error return object
|
|
12
|
+
* @param fetchAPI
|
|
13
|
+
* @returns
|
|
14
|
+
*/
|
|
15
|
+
export declare function doSpJsFetch(fetchAPI: string): Promise<IJSFetchReturn>;
|
|
16
|
+
//# sourceMappingURL=doSpJsFetch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"doSpJsFetch.d.ts","sourceRoot":"","sources":["../../../../src/components/molecules/SpHttp/doSpJsFetch.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qDAAqD,CAAC;AAEvF,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,EAAE,EAAE,OAAO,CAAC;IAEZ,KAAK,EAAE,GAAG,EAAE,CAAC;IACb,CAAC,EAAE,GAAG,CAAC;CACR;AAED;;;;GAIG;AACH,wBAAsB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAmD3E"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { check4This } from "@mikezimm/fps-pnp2/lib/services/sp/CheckSearch";
|
|
2
|
+
/**
|
|
3
|
+
* Pass in any SharePoint rest api url and it should return a result or a standard error return object
|
|
4
|
+
* @param fetchAPI
|
|
5
|
+
* @returns
|
|
6
|
+
*/
|
|
7
|
+
export async function doSpJsFetch(fetchAPI) {
|
|
8
|
+
const results = {
|
|
9
|
+
items: [],
|
|
10
|
+
ok: null,
|
|
11
|
+
e: null,
|
|
12
|
+
status: 'Unknown',
|
|
13
|
+
};
|
|
14
|
+
try {
|
|
15
|
+
const response = await fetch(fetchAPI, {
|
|
16
|
+
headers: {
|
|
17
|
+
Accept: "application/json;odata=nometadata",
|
|
18
|
+
},
|
|
19
|
+
});
|
|
20
|
+
// check if the response is OK
|
|
21
|
+
if (response.ok) {
|
|
22
|
+
const data = await response.json();
|
|
23
|
+
const usesSearch = fetchAPI.indexOf(`_api/search`) > -1 ? true : false;
|
|
24
|
+
results.items = usesSearch === true ? data.PrimaryQueryResult.RelevantResults.Table.Rows : data.value ? data.value : data;
|
|
25
|
+
results.ok = true;
|
|
26
|
+
results.statusText = response.statusText;
|
|
27
|
+
results.statusNo = response.status;
|
|
28
|
+
results.status = 'Success';
|
|
29
|
+
if (check4This('fpsShowFetchResults=true') === true)
|
|
30
|
+
console.log(`fps-library-v2 Success: doSpJsFetch ~ 34 results`, results);
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
// throw an error with the status code and message
|
|
34
|
+
// throw new Error(`${response.status}: ${response.statusText}`);
|
|
35
|
+
results.ok = response.ok;
|
|
36
|
+
results.statusText = response.statusText;
|
|
37
|
+
results.statusNo = response.status;
|
|
38
|
+
results.status = 'Error';
|
|
39
|
+
if (check4This('fpsShowFetchResults=true') === true)
|
|
40
|
+
console.log(`fps-library-v2 Api Error: doSpJsFetch ~ 42 results`, results);
|
|
41
|
+
}
|
|
42
|
+
return results;
|
|
43
|
+
}
|
|
44
|
+
catch (e) {
|
|
45
|
+
if (check4This('fpsShowFetchResults=true') === true)
|
|
46
|
+
console.log(`fps-library-v2 Logic Error: doSpJsFetch ~ 50 fetchAPI`, fetchAPI);
|
|
47
|
+
results.ok = false;
|
|
48
|
+
results.statusText = `Error TryCatch`;
|
|
49
|
+
results.statusNo = 666;
|
|
50
|
+
results.status = 'Error';
|
|
51
|
+
return results;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=doSpJsFetch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"doSpJsFetch.js","sourceRoot":"","sources":["../../../../src/components/molecules/SpHttp/doSpJsFetch.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,gDAAgD,CAAC;AAa5E;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,QAAgB;IAEhD,MAAM,OAAO,GAAmB;QAC9B,KAAK,EAAE,EAAE;QACT,EAAE,EAAE,IAAI;QACR,CAAC,EAAE,IAAI;QACP,MAAM,EAAE,SAAS;KAClB,CAAA;IAED,IAAI;QACF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,QAAQ,EAAE;YACrC,OAAO,EAAE;gBACP,MAAM,EAAE,mCAAmC;aAC5C;SACF,CAAC,CAAC;QAEH,8BAA8B;QAC9B,IAAI,QAAQ,CAAC,EAAE,EAAE;YACf,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnC,MAAM,UAAU,GAAY,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;YAChF,OAAO,CAAC,KAAK,GAAG,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;YAC1H,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC;YAClB,OAAO,CAAC,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC;YACzC,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC;YACnC,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;YAC3B,IAAK,UAAU,CAAE,0BAA0B,CAAE,KAAK,IAAI;gBAAG,OAAO,CAAC,GAAG,CAAE,kDAAkD,EAAE,OAAO,CAAE,CAAC;SAErI;aAAM;YACL,kDAAkD;YAClD,iEAAiE;YACjE,OAAO,CAAC,EAAE,GAAG,QAAQ,CAAC,EAAE,CAAC;YACzB,OAAO,CAAC,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC;YACzC,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC;YACnC,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC;YACzB,IAAK,UAAU,CAAE,0BAA0B,CAAE,KAAK,IAAI;gBAAG,OAAO,CAAC,GAAG,CAAE,oDAAoD,EAAE,OAAO,CAAE,CAAC;SAEvI;QAED,OAAO,OAAO,CAAC;KAEhB;IAAC,OAAO,CAAC,EAAE;QAEV,IAAK,UAAU,CAAE,0BAA0B,CAAE,KAAK,IAAI;YAAG,OAAO,CAAC,GAAG,CAAE,uDAAuD,EAAE,QAAQ,CAAE,CAAC;QAC1I,OAAO,CAAC,EAAE,GAAG,KAAK,CAAC;QACnB,OAAO,CAAC,UAAU,GAAG,gBAAgB,CAAC;QACtC,OAAO,CAAC,QAAQ,GAAG,GAAG,CAAC;QACvB,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC;QAEzB,OAAO,OAAO,CAAC;KAChB;AAEH,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { IFPSHubNav } from "../HubSiteData/fetchMyHubNav";
|
|
2
|
+
/**
|
|
3
|
+
*
|
|
4
|
+
* @param hubNav
|
|
5
|
+
* @param prop 'Title' or 'Url' are valid properties to compare
|
|
6
|
+
* @param value Title or Url will be the value you are looking to find
|
|
7
|
+
* @param level 0, 1, or 2 defines a specific children level. 0 is visible lables/links
|
|
8
|
+
* @returns
|
|
9
|
+
*/
|
|
10
|
+
export declare function findSimilarNavNodes(hubNav: IFPSHubNav, prop: `Title` | `Url`, value: string, level?: number): number[][];
|
|
11
|
+
/**
|
|
12
|
+
*
|
|
13
|
+
* @param hubNav
|
|
14
|
+
* @param prop
|
|
15
|
+
* @param parentNodeTree
|
|
16
|
+
* @returns
|
|
17
|
+
*/
|
|
18
|
+
export declare function findSpecificNavNodes(hubNav: IFPSHubNav, prop: `Title`, parentNodeTree: string[]): number[][];
|
|
19
|
+
//# sourceMappingURL=findNavNodes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"findNavNodes.d.ts","sourceRoot":"","sources":["../../../../../src/components/molecules/SpHttp/functions/findNavNodes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAI1D;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,GAAG,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,GAAE,MAAW,GAAI,MAAM,EAAE,EAAE,CAiC9H;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,GAAI,MAAM,EAAE,EAAE,CAwE9G"}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import { check4This } from "@mikezimm/fps-pnp2/lib/services/sp/CheckSearch";
|
|
2
|
+
/**
|
|
3
|
+
*
|
|
4
|
+
* @param hubNav
|
|
5
|
+
* @param prop 'Title' or 'Url' are valid properties to compare
|
|
6
|
+
* @param value Title or Url will be the value you are looking to find
|
|
7
|
+
* @param level 0, 1, or 2 defines a specific children level. 0 is visible lables/links
|
|
8
|
+
* @returns
|
|
9
|
+
*/
|
|
10
|
+
export function findSimilarNavNodes(hubNav, prop, value, level = 79) {
|
|
11
|
+
const NavFound = [];
|
|
12
|
+
if (hubNav.ok !== true) {
|
|
13
|
+
// There was an error
|
|
14
|
+
if (check4This('checkResults=true') === true)
|
|
15
|
+
console.log(`fps-library-v2 Error: findSimilarNavNodes ~ 19`, hubNav);
|
|
16
|
+
}
|
|
17
|
+
else {
|
|
18
|
+
const topNav = hubNav.nav.navigation;
|
|
19
|
+
topNav.map(navItem0 => {
|
|
20
|
+
navItem0.IdTree = [navItem0.Id];
|
|
21
|
+
if (navItem0[prop] === value && (level === 79 || level === 0))
|
|
22
|
+
NavFound.push(navItem0.IdTree);
|
|
23
|
+
if (navItem0.Children && navItem0.Children.length > 0) {
|
|
24
|
+
navItem0.Children.map(navItem1 => {
|
|
25
|
+
navItem1.IdTree = [...navItem0.IdTree, navItem1.Id];
|
|
26
|
+
if (navItem1[prop] === value && (level === 79 || level === 1))
|
|
27
|
+
NavFound.push(navItem1.IdTree);
|
|
28
|
+
if (navItem1.Children && navItem1.Children.length > 0) {
|
|
29
|
+
navItem1.Children.map(navItem2 => {
|
|
30
|
+
navItem2.IdTree = [...navItem1.IdTree, navItem2.Id];
|
|
31
|
+
if (navItem2[prop] === value && (level === 79 || level === 2))
|
|
32
|
+
NavFound.push(navItem2.IdTree);
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
if (check4This('checkResults=true') === true)
|
|
40
|
+
console.log(`fps-library-v2 Success: findSimilarNavNodes ~ 42`, NavFound, prop, value, level, hubNav);
|
|
41
|
+
return NavFound;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
*
|
|
45
|
+
* @param hubNav
|
|
46
|
+
* @param prop
|
|
47
|
+
* @param parentNodeTree
|
|
48
|
+
* @returns
|
|
49
|
+
*/
|
|
50
|
+
export function findSpecificNavNodes(hubNav, prop, parentNodeTree) {
|
|
51
|
+
const NavFound = [];
|
|
52
|
+
if (hubNav.ok !== true) {
|
|
53
|
+
// There was an error
|
|
54
|
+
console.log(`getNavNode error: hubNav =`, hubNav);
|
|
55
|
+
if (check4This('checkResults=true') === true)
|
|
56
|
+
console.log(`fps-library-v2 Error: findSpecificNavNodes ~ 61`, parentNodeTree, hubNav);
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
const topNav = hubNav.nav.navigation;
|
|
60
|
+
// use filter to see if value is found in first layer of children
|
|
61
|
+
const layer0 = topNav.filter(nav => { return nav[prop] === parentNodeTree[0]; });
|
|
62
|
+
layer0.map(layer => { layer.IdTree = [layer.Id]; });
|
|
63
|
+
if (parentNodeTree.length === 1) { // Should only be in first layer
|
|
64
|
+
// Found in first layer
|
|
65
|
+
if (layer0.length > 0)
|
|
66
|
+
layer0.map(layer => NavFound.push(layer.IdTree));
|
|
67
|
+
}
|
|
68
|
+
else if (parentNodeTree.length > 1) {
|
|
69
|
+
// matched first layer and will now look into children
|
|
70
|
+
// const layer1 = layer0[0].Children.filter( nav => { return nav[prop] === parentNodeTree[1] });
|
|
71
|
+
const layer1 = [];
|
|
72
|
+
layer0.map(layer => {
|
|
73
|
+
layer.Children.map(nav => {
|
|
74
|
+
nav.IdTree = [...layer.IdTree, nav.Id];
|
|
75
|
+
if (nav[prop] === parentNodeTree[1])
|
|
76
|
+
layer1.push(nav);
|
|
77
|
+
});
|
|
78
|
+
});
|
|
79
|
+
// console.log( `findSpecificNavNodes layer1`, layer1 );
|
|
80
|
+
if (parentNodeTree.length === 2) { // Should only be in second layer
|
|
81
|
+
// Found in second layer and should only be in second layer
|
|
82
|
+
if (layer1.length > 0)
|
|
83
|
+
layer1.map(layer => NavFound.push(layer.IdTree));
|
|
84
|
+
}
|
|
85
|
+
else if (layer1.length > 0 && parentNodeTree.length > 2) {
|
|
86
|
+
// matched second layer and will now look into children
|
|
87
|
+
const layer2 = [];
|
|
88
|
+
layer1.map(layer => {
|
|
89
|
+
layer.Children.map(nav => {
|
|
90
|
+
nav.IdTree = [...layer.IdTree, nav.Id];
|
|
91
|
+
if (nav[prop] === parentNodeTree[2])
|
|
92
|
+
layer2.push(nav);
|
|
93
|
+
});
|
|
94
|
+
});
|
|
95
|
+
// console.log( `findSpecificNavNodes layer2`, layer2 );
|
|
96
|
+
if (parentNodeTree.length === 3) { // Should only be in third layer
|
|
97
|
+
// Found in third layer and should only be in third layer
|
|
98
|
+
if (layer2.length > 0)
|
|
99
|
+
layer2.map(layer => {
|
|
100
|
+
NavFound.push(layer.IdTree);
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
else {
|
|
104
|
+
// Did not find in third layer, return nothing
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
else {
|
|
108
|
+
// Did not find in second layer, return nothing
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
else {
|
|
112
|
+
// Did not find in first layer, return nothing
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
if (check4This('checkResults=true') === true)
|
|
116
|
+
console.log(`fps-library-v2 Success: findSpecificNavNodes ~ 123`, NavFound, prop, parentNodeTree, hubNav);
|
|
117
|
+
return NavFound;
|
|
118
|
+
}
|
|
119
|
+
//# sourceMappingURL=findNavNodes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"findNavNodes.js","sourceRoot":"","sources":["../../../../../src/components/molecules/SpHttp/functions/findNavNodes.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,7 @@ export interface IBlankErrorObj {
|
|
|
5
5
|
status: IFPSResultStatus;
|
|
6
6
|
e: any;
|
|
7
7
|
}
|
|
8
|
+
export type IUnifiedPerformanceOpsKeys = 'fetch' | 'check' | 'analyze' | 'process' | 'render' | 'save';
|
|
8
9
|
/**
|
|
9
10
|
* This represents the base interface for all return objects less the actual item/items being returned.
|
|
10
11
|
* Extend this to create all return objects and just add what is new
|
|
@@ -17,6 +18,7 @@ export interface IUnifiedPerformanceOps {
|
|
|
17
18
|
render?: IPerformanceOp;
|
|
18
19
|
save?: IPerformanceOp;
|
|
19
20
|
}
|
|
21
|
+
export type IFpsErrorObjectOpKeys = 'fetchOp' | 'checkOp' | 'analyzeOp' | 'processOp' | 'renderOp' | 'saveOp';
|
|
20
22
|
export interface IFpsErrorObject extends IBlankErrorObj {
|
|
21
23
|
errorInfo?: IHelpfullOutput;
|
|
22
24
|
errorInput?: IHelpfullInput;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IFpsErrorObject.d.ts","sourceRoot":"","sources":["../../../src/pnpjs/Common/IFpsErrorObject.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,qDAAqD,CAAC;AACvF,OAAO,EAAE,cAAc,EAAE,MAAM,qDAAqD,CAAC;AAErF,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,gBAAgB,CAAC;IACzB,CAAC,EAAE,GAAG,CAAC;CACR;AAED;;;GAGG;AAEH,MAAM,WAAW,sBAAsB;IACrC,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,IAAI,CAAC,EAAE,cAAc,CAAC;CACvB;AAED,MAAM,WAAW,eAAgB,SAAQ,cAAc;IACrD,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,SAAS,CAAC,EAAE,cAAc,CAAC;IAC3B,SAAS,CAAC,EAAE,cAAc,CAAC;IAC3B,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,qBAAqB,CAAC,EAAE,sBAAsB,CAAC;IAC/C,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB"}
|
|
1
|
+
{"version":3,"file":"IFpsErrorObject.d.ts","sourceRoot":"","sources":["../../../src/pnpjs/Common/IFpsErrorObject.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,qDAAqD,CAAC;AACvF,OAAO,EAAE,cAAc,EAAE,MAAM,qDAAqD,CAAC;AAErF,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,gBAAgB,CAAC;IACzB,CAAC,EAAE,GAAG,CAAC;CACR;AAED,MAAM,MAAM,0BAA0B,GAAG,OAAO,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAC;AAEvG;;;GAGG;AAEH,MAAM,WAAW,sBAAsB;IACrC,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,IAAI,CAAC,EAAE,cAAc,CAAC;CACvB;AAED,MAAM,MAAM,qBAAqB,GAAG,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,WAAW,GAAG,UAAU,GAAG,QAAQ,CAAC;AAE9G,MAAM,WAAW,eAAgB,SAAQ,cAAc;IACrD,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,SAAS,CAAC,EAAE,cAAc,CAAC;IAC3B,SAAS,CAAC,EAAE,cAAc,CAAC;IAC3B,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,qBAAqB,CAAC,EAAE,sBAAsB,CAAC;IAC/C,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mikezimm/fps-library-v2",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.241",
|
|
4
4
|
"description": "Library of reusable typescript/javascript functions, interfaces and constants",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"main": "./lib/index.js",
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
],
|
|
41
41
|
"dependencies": {
|
|
42
42
|
"@microsoft/sp-property-pane": "^1.15.2",
|
|
43
|
-
"@mikezimm/fps-pnp2": "^1.0.
|
|
43
|
+
"@mikezimm/fps-pnp2": "^1.0.48",
|
|
44
44
|
"@mikezimm/fps-styles": "^1.0.39",
|
|
45
45
|
"@pnp/spfx-controls-react": "3.12.0",
|
|
46
46
|
"@pnp/spfx-property-controls": "^3.6.0",
|