@mikezimm/fps-library-v2 1.0.240 → 1.0.242

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 (64) hide show
  1. package/CHANGELOG.md +20 -1
  2. package/lib/components/molecules/Performance/functions.d.ts +11 -1
  3. package/lib/components/molecules/Performance/functions.d.ts.map +1 -1
  4. package/lib/components/molecules/Performance/functions.js +17 -0
  5. package/lib/components/molecules/Performance/functions.js.map +1 -1
  6. package/lib/components/molecules/SpHttp/HubSiteData/fetchMyHubNav.d.ts +13 -0
  7. package/lib/components/molecules/SpHttp/HubSiteData/fetchMyHubNav.d.ts.map +1 -0
  8. package/lib/components/molecules/SpHttp/HubSiteData/fetchMyHubNav.js +33 -0
  9. package/lib/components/molecules/SpHttp/HubSiteData/fetchMyHubNav.js.map +1 -0
  10. package/lib/components/molecules/SpHttp/HubSiteData/interface.d.ts +37 -0
  11. package/lib/components/molecules/SpHttp/HubSiteData/interface.d.ts.map +1 -0
  12. package/lib/components/molecules/SpHttp/HubSiteData/interface.js +2 -0
  13. package/lib/components/molecules/SpHttp/HubSiteData/interface.js.map +1 -0
  14. package/lib/components/molecules/SpHttp/HubsSubs/cleanSearchedWebs.d.ts +9 -0
  15. package/lib/components/molecules/SpHttp/HubsSubs/cleanSearchedWebs.d.ts.map +1 -0
  16. package/lib/components/molecules/SpHttp/HubsSubs/cleanSearchedWebs.js +37 -0
  17. package/lib/components/molecules/SpHttp/HubsSubs/cleanSearchedWebs.js.map +1 -0
  18. package/lib/components/molecules/SpHttp/HubsSubs/fetchMyHubsSubs.d.ts +15 -0
  19. package/lib/components/molecules/SpHttp/HubsSubs/fetchMyHubsSubs.d.ts.map +1 -0
  20. package/lib/components/molecules/SpHttp/HubsSubs/fetchMyHubsSubs.js +43 -0
  21. package/lib/components/molecules/SpHttp/HubsSubs/fetchMyHubsSubs.js.map +1 -0
  22. package/lib/components/molecules/SpHttp/HubsSubs/fetchMyHubsites.d.ts +9 -0
  23. package/lib/components/molecules/SpHttp/HubsSubs/fetchMyHubsites.d.ts.map +1 -0
  24. package/lib/components/molecules/SpHttp/HubsSubs/fetchMyHubsites.js +23 -0
  25. package/lib/components/molecules/SpHttp/HubsSubs/fetchMyHubsites.js.map +1 -0
  26. package/lib/components/molecules/SpHttp/HubsSubs/fetchMySubsites.d.ts +15 -0
  27. package/lib/components/molecules/SpHttp/HubsSubs/fetchMySubsites.d.ts.map +1 -0
  28. package/lib/components/molecules/SpHttp/HubsSubs/fetchMySubsites.js +53 -0
  29. package/lib/components/molecules/SpHttp/HubsSubs/fetchMySubsites.js.map +1 -0
  30. package/lib/components/molecules/SpHttp/HubsSubs/interfaces/IFPSHubSiteDataDocsApi.d.ts +23 -0
  31. package/lib/components/molecules/SpHttp/HubsSubs/interfaces/IFPSHubSiteDataDocsApi.d.ts.map +1 -0
  32. package/lib/components/molecules/SpHttp/HubsSubs/interfaces/IFPSHubSiteDataDocsApi.js +5 -0
  33. package/lib/components/molecules/SpHttp/HubsSubs/interfaces/IFPSHubSiteDataDocsApi.js.map +1 -0
  34. package/lib/components/molecules/SpHttp/HubsSubs/interfaces/IFPSHubSitesApi.d.ts +24 -0
  35. package/lib/components/molecules/SpHttp/HubsSubs/interfaces/IFPSHubSitesApi.d.ts.map +1 -0
  36. package/lib/components/molecules/SpHttp/HubsSubs/interfaces/IFPSHubSitesApi.js +7 -0
  37. package/lib/components/molecules/SpHttp/HubsSubs/interfaces/IFPSHubSitesApi.js.map +1 -0
  38. package/lib/components/molecules/SpHttp/HubsSubs/interfaces/IFPSSubsFilteredItem.d.ts +19 -0
  39. package/lib/components/molecules/SpHttp/HubsSubs/interfaces/IFPSSubsFilteredItem.d.ts.map +1 -0
  40. package/lib/components/molecules/SpHttp/HubsSubs/interfaces/IFPSSubsFilteredItem.js +2 -0
  41. package/lib/components/molecules/SpHttp/HubsSubs/interfaces/IFPSSubsFilteredItem.js.map +1 -0
  42. package/lib/components/molecules/SpHttp/HubsSubs/interfaces/IFPSSubsSearchCleanItem.d.ts +27 -0
  43. package/lib/components/molecules/SpHttp/HubsSubs/interfaces/IFPSSubsSearchCleanItem.d.ts.map +1 -0
  44. package/lib/components/molecules/SpHttp/HubsSubs/interfaces/IFPSSubsSearchCleanItem.js +2 -0
  45. package/lib/components/molecules/SpHttp/HubsSubs/interfaces/IFPSSubsSearchCleanItem.js.map +1 -0
  46. package/lib/components/molecules/SpHttp/doSpJsFetch.d.ts +16 -0
  47. package/lib/components/molecules/SpHttp/doSpJsFetch.d.ts.map +1 -0
  48. package/lib/components/molecules/SpHttp/doSpJsFetch.js +54 -0
  49. package/lib/components/molecules/SpHttp/doSpJsFetch.js.map +1 -0
  50. package/lib/components/molecules/SpHttp/functions/findNavNodes.d.ts +19 -0
  51. package/lib/components/molecules/SpHttp/functions/findNavNodes.d.ts.map +1 -0
  52. package/lib/components/molecules/SpHttp/functions/findNavNodes.js +119 -0
  53. package/lib/components/molecules/SpHttp/functions/findNavNodes.js.map +1 -0
  54. package/lib/pnpjs/Common/IFpsErrorObject.d.ts +2 -0
  55. package/lib/pnpjs/Common/IFpsErrorObject.d.ts.map +1 -1
  56. package/lib/pnpjs/Navigation/addWebNav.d.ts +14 -0
  57. package/lib/pnpjs/Navigation/addWebNav.d.ts.map +1 -0
  58. package/lib/pnpjs/Navigation/addWebNav.js +22 -0
  59. package/lib/pnpjs/Navigation/addWebNav.js.map +1 -0
  60. package/lib/pnpjs/Navigation/getWebNav.d.ts +10 -0
  61. package/lib/pnpjs/Navigation/getWebNav.d.ts.map +1 -0
  62. package/lib/pnpjs/Navigation/getWebNav.js +18 -0
  63. package/lib/pnpjs/Navigation/getWebNav.js.map +1 -0
  64. package/package.json +2 -2
package/CHANGELOG.md CHANGED
@@ -4,13 +4,32 @@ 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.240
7
+ npm install @mikezimm/fps-library-v2@1.0.242
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.242 - 2023-June-18: Refactor SpHttp fetches, add Nav calls
15
+ - standardize all SpHttp/HubsSub to first add unifiedPerformanceEnd then do checkItemsResults
16
+ fetchMyHubNav, fetchMyHubsites, fetchMySubsites
17
+ - create addWebNav, getWebNav as wrapper for pnpv2 calls
18
+ - replace some double quotes on imports of new functions
19
+
20
+
21
+ ## 1.0.241 - 2023-June-18: Migrate SpHttp/HubsSub from HubCon, add unifiedPerformanceEnd
22
+ - created unifiedPerformanceEnd in Performance/functions to help with the new unifiedPerformanceOps
23
+ - created types: IUnifiedPerformanceOpsKeys, IFpsErrorObjectOpKeys
24
+ - created doSpJsFetch & IJSFetchReturn
25
+ - created fetch to SP APIs: fetchMyHubNav: IFPSHubNav , fetchMyHubsites, fetchMySubsites: IJSFetchReturn
26
+ - created fetchMyHubSubs: IFPSHubsSubs
27
+ - created logic to clean up Hubs and Subs results: cleanSearchedWebs
28
+ - created logic to find Nav Nodes: findSimilarNavNodes, findSpecificNavNodes
29
+ - created SP Docs api interfaces: IHubSiteDataResultAPI, IFPSHubNavigationItem
30
+ - created interfaces: IFPSWebsWithLogo, IFPSHubSiteDataDocsApi, IFPSHubSitesApi, IFPSHubSiteApi
31
+ - created interfaces: IFPSSubsFilteredItem and IFPSSubsSearchCleanItem
32
+
14
33
  ## 1.0.240 - 2023-June-18: Add new repos
15
34
  - add baseFPSRepos
16
35
  - 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;AAExE,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"}
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,mBAUjL"}
@@ -91,4 +91,21 @@ 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
+ if (!result.unifiedPerformanceOps)
105
+ result.unifiedPerformanceOps = {};
106
+ result.unifiedPerformanceOps[key] = performanceSettings ?
107
+ updatePerformanceEndV2({ op: perfOp, updateMiliseconds: performanceSettings.updateMiliseconds, count: resultAny[resultKey] ? resultAny[resultKey].length : -1 }) : null;
108
+ result[`${key}Op`] = result.unifiedPerformanceOps[key];
109
+ return result;
110
+ }
94
111
  //# sourceMappingURL=functions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"functions.js","sourceRoot":"","sources":["../../../../src/components/molecules/Performance/functions.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"functions.js","sourceRoot":"","sources":["../../../../src/components/molecules/Performance/functions.tsx"],"names":[],"mappings":"AAOA,MAAM,UAAU,yBAAyB,CAAE,QAAqB,EAAE,OAAiB;IAE/E,MAAM,eAAe,GAAqB;QACtC,MAAM,EAAG,IAAI,IAAI,EAAE;QACnB,WAAW,EAAE,IAAW;QAExB,IAAI,EAAE,EAAG;QACT,GAAG,EAAE;YACH,KAAK,EAAG,IAAW;YACnB,OAAO,EAAG,IAAW;SACtB;QAED,OAAO,EAAE,OAAc;QACvB,OAAO,EAAE,EAAE;QAEX,IAAI,EAAE,QAAQ;KAEjB,CAAC;IAEF,OAAO,eAAe,CAAC;AAE3B,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAE,QAAqB,EAAE,OAAiB;IAEhF,MAAM,eAAe,GAA2B,yBAAyB,CAAE,QAAQ,EAAE,OAAO,CAA2B,CAAC;IAExH,OAAO,eAAe,CAAC;AAE3B,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAE,OAAiB,EAAE,MAAgB,EAAE,MAAgB,EAAE,QAAqB,EAAE,OAAiB;IAErI,MAAM,eAAe,GAAyB,yBAAyB,CAAE,QAAQ,EAAE,OAAO,CAAyB,CAAC;IAEpH,eAAe,CAAC,wBAAwB,GAAG,OAAO,CAAC;IACnD,eAAe,CAAC,uBAAuB,GAAG,MAAM,CAAC;IACjD,eAAe,CAAC,kBAAkB,GAAG,MAAM,CAAC;IAC5C,eAAe,CAAC,MAAM,GAAG,IAAW,CAAC;IAErC,OAAO,eAAe,CAAC;AAE3B,CAAC;AAED,MAAM,UAAU,cAAc,CAAG,KAAa,EAAE,QAA4B,EAAE,eAAwB,KAAK;IACzG,OAAO,gBAAgB,CAAE,EAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,YAAY,EAAE,CAAE,CAAC;AAC7F,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAG,KAAsB;IACvD,IAAK,CAAC,KAAK;QAAG,OAAO,IAAI,CAAC;IAE1B,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IAChD,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC;IACzB,MAAM,QAAQ,GAAW,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,kBAAkB,EAAE,QAAQ,KAAK,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,kBAAkB,EAAE,CAAC;IAC7I,MAAM,MAAM,GAAmB;QAC3B,KAAK,EAAE,KAAK;QACZ,KAAK,EAAE,KAAK;QACZ,QAAQ,EAAE,QAAQ;QAClB,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI;QAChC,OAAO,EAAE,EAAE,EAAC,8CAA8C;KAC7D,CAAC;IAEF,OAAO,MAAM,CAAC;AAChB,CAAC;AAGD,MAAM,UAAU,oBAAoB,CAAE,EAAkB,EAAE,iBAA2B,EAAE,KAAoB;IACzG,OAAO,sBAAsB,CAAE,EAAE,EAAE,EAAE,EAAE,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,KAAK,EAAE,KAAK,EAAE,CAAE,CAAC;AAClG,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAE,KAAoB;IAC1D,IAAK,CAAC,KAAK;QAAG,OAAO,IAAI,CAAC;IAE1B,MAAM,EAAE,EAAE,EAAE,iBAAiB,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;IAC/C,EAAE,CAAC,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IACpB,EAAE,CAAC,MAAM,GAAG,EAAE,CAAC,GAAG,CAAC,kBAAkB,EAAE,CAAC;IACxC,IAAK,iBAAiB,KAAK,IAAI;QAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;IAChF,IAAK,KAAK,KAAK,IAAI,IAAI,KAAK,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,EAAG;QAC1C,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC;QACb,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAE,CAAE,EAAE,CAAC,EAAE,GAAG,KAAK,CAAE,GAAE,EAAE,CAAE,GAAG,EAAE,CAAC;KACjD;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAG,GAAqB,EAAE,KAAoB;IAE/E,IAAK,GAAG,CAAC,MAAM,GAAG,CAAC,EAAG;QAClB,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,GAAE,CAAC,CAAC;QAC3B,GAAG,CAAC,IAAI,CAAC,GAAG,oBAAoB,CAAE,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,CAAE,CAAC;KAC9D;IACD,OAAO,GAAG,CAAC;AACf,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAG,GAAgC,EAAE,KAAa,EAAE,QAAqB,EAAE,SAAkB,IAAI,EAAE,QAAuB,IAAI;IAC9J,IAAK,GAAG,EAAG;QAEP,MAAM,IAAI,GAAW,GAAG,CAAC,MAAM,GAAE,CAAC,CAAC;QAEnC,IAAK,MAAM,KAAK,IAAI,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAG;YACrC,GAAG,CAAC,IAAI,CAAC,GAAG,oBAAoB,CAAE,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,CAAE,CAAC;SAChE;QAED,IAAK,KAAK,IAAI,GAAG,CAAE,IAAI,CAAE,EAAE;YACvB,IAAK,OAAO,GAAG,CAAE,IAAI,CAAE,CAAC,OAAO,KAAK,QAAQ,EAAG;gBAC3C,GAAG,CAAE,IAAI,CAAE,CAAC,OAAO,CAAC,IAAI,CAAE,cAAc,CAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAE,CAAE,CAAC,CAAE,uDAAuD;aAChI;SAEJ;aAAM;YAAE,OAAO,CAAC,GAAG,CAAE,mDAAoD,KAAM,YAAa,IAAK,EAAE,CAAC,CAAA;SAAC;KACzG;IAED,OAAO,GAAG,CAAC;AACf,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,qBAAqB,CAAE,MAAuB,EAAE,mBAAyC,EAAE,MAAsB,EAAE,GAA+B,EAAE,SAAc;IAChL,MAAM,SAAS,GAAQ,MAAM,CAAC;IAC9B,IAAK,CAAC,MAAM,CAAC,qBAAqB;QAAG,MAAM,CAAC,qBAAqB,GAAG,EAAE,CAAC;IACvE,MAAM,CAAC,qBAAqB,CAAC,GAAG,CAAC,GAAG,mBAAmB,CAAC,CAAC;QACvD,sBAAsB,CAAE,EAAE,EAAE,EAAE,MAAM,EAAE,iBAAiB,EAAE,mBAAmB,CAAC,iBAAiB,EAAE,KAAK,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAE,CAAC,CAAC,IAAI,CAAC;IAE5K,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,MAAM,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC;IAEvD,OAAO,MAAM,CAAC;AAEhB,CAAC"}
@@ -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":"AAKA,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,CA8B1E"}
@@ -0,0 +1,33 @@
1
+ import { checkItemsResults } from '../../../../pnpjs/Common/CheckItemsResults';
2
+ import { startPerformOpV2, unifiedPerformanceEnd } from '../../Performance/functions';
3
+ import { doSpJsFetch } from '../doSpJsFetch';
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
+ }
22
+ else {
23
+ // This is of unknown origin....
24
+ resultHubNav.nav = null;
25
+ resultHubNav.ok = false;
26
+ resultHubNav.statusNo = 404;
27
+ resultHubNav.statusText = 'Unknown nav object';
28
+ }
29
+ let result = unifiedPerformanceEnd(resultHubNav, performanceSettings, fetchOp, 'fetch', 'items');
30
+ result = checkItemsResults(result, `fps-library-v2: fetchMySubsites ~ 62`, false, true);
31
+ return resultHubNav;
32
+ }
33
+ //# sourceMappingURL=fetchMyHubNav.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetchMyHubNav.js","sourceRoot":"","sources":["../../../../../src/components/molecules/SpHttp/HubSiteData/fetchMyHubNav.ts"],"names":[],"mappings":"AACA,OAAO,EAAmB,iBAAiB,EAAE,MAAM,4CAA4C,CAAC;AAGhG,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACtF,OAAO,EAAkB,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAU7D;;;;;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;KAE5D;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;KAChD;IAED,IAAI,MAAM,GAAgB,qBAAqB,CAAE,YAA+B,EAAE,mBAAmB,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAiB,CAAC;IAElJ,MAAM,GAAG,iBAAiB,CAAE,MAAyB,EAAE,sCAAsC,EAAE,KAAK,EAAE,IAAI,CAAgB,CAAC;IAE3H,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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=interface.js.map
@@ -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;AAQ7D;;;;;GAKG;AACH,wBAAsB,eAAe,CAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAI,OAAO,CAAC,cAAc,CAAC,CAiBrG"}
@@ -0,0 +1,23 @@
1
+ import { cleanSearchedWebs } from './cleanSearchedWebs';
2
+ import { doSpJsFetch } from '../doSpJsFetch';
3
+ import { hubSelects } from './interfaces/IFPSHubSiteDataDocsApi';
4
+ import { startPerformOpV2, unifiedPerformanceEnd } from '../../Performance/functions';
5
+ import { checkItemsResults } from '../../../../pnpjs/Common/CheckItemsResults';
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
+ let result = unifiedPerformanceEnd(resultHubSites, performanceSettings, fetchOp, 'fetch', 'items');
20
+ result = checkItemsResults(result, `fps-library-v2: fetchMyHubsites ~ 30`, false, true);
21
+ return resultHubSites;
22
+ }
23
+ //# 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;AAGjE,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAEtF,OAAO,EAAmB,iBAAiB,EAAE,MAAM,4CAA4C,CAAC;AAEhG;;;;;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,IAAI,MAAM,GAAoB,qBAAqB,CAAE,cAAiC,EAAE,mBAAmB,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAqB,CAAC;IAE5J,MAAM,GAAG,iBAAiB,CAAE,MAAyB,EAAE,sCAAsC,EAAE,KAAK,EAAE,IAAI,CAAoB,CAAC;IAE/H,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;AAQ7D;;;;;;;;;;;GAWG;AACH,wBAAsB,eAAe,CAAE,MAAM,EAAE,MAAM,GAAK,OAAO,CAAC,cAAc,CAAC,CA2ChF"}
@@ -0,0 +1,53 @@
1
+ import { cleanSearchedWebs } from './cleanSearchedWebs';
2
+ import { doSpJsFetch } from '../doSpJsFetch';
3
+ import { hubSelects } from './interfaces/IFPSHubSiteDataDocsApi';
4
+ import { startPerformOpV2, unifiedPerformanceEnd } from '../../Performance/functions';
5
+ import { checkItemsResults } from '../../../../pnpjs/Common/CheckItemsResults';
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
+ let result = unifiedPerformanceEnd(searchedWebs, performanceSettings, fetchOp, 'fetch', 'items');
50
+ result = checkItemsResults(result, `fps-library-v2: fetchMySubsites ~ 62`, false, true);
51
+ return result;
52
+ }
53
+ //# 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;AAGnF,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAEtF,OAAO,EAAmB,iBAAiB,EAAE,MAAM,4CAA4C,CAAC;AAEhG;;;;;;;;;;;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,IAAI,MAAM,GAAoB,qBAAqB,CAAE,YAA+B,EAAE,mBAAmB,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAqB,CAAC;IAE1J,MAAM,GAAG,iBAAiB,CAAE,MAAyB,EAAE,sCAAsC,EAAE,KAAK,EAAE,IAAI,CAAoB,CAAC;IAE/H,OAAO,MAAM,CAAC;AAEhB,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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=IFPSSubsFilteredItem.js.map
@@ -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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=IFPSSubsSearchCleanItem.js.map
@@ -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"}
@@ -0,0 +1,14 @@
1
+ import { IPnpNavType } from '@mikezimm/fps-pnp2/lib/services/sp/navigation/IPnpNavItem';
2
+ import { INavChangeErrorObj, IPnpCreateNavItem } from '@mikezimm/fps-pnp2/lib/services/sp/navigation/IPnpCreateNavItem';
3
+ /**
4
+ * createWebNav will attempt to add navItem under a parent if it does not exist.
5
+ * If it does exist, then update only if forceNewUrl === true
6
+ * @param webUrl
7
+ * @param navType
8
+ * @param parentNode
9
+ * @param navItem
10
+ * @param forceNewUrl
11
+ * @returns
12
+ */
13
+ export declare function addWebNav(webUrl: string, navType: IPnpNavType, parentNode: number, navItem: IPnpCreateNavItem, forceNewUrl: boolean): Promise<INavChangeErrorObj>;
14
+ //# sourceMappingURL=addWebNav.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"addWebNav.d.ts","sourceRoot":"","sources":["../../../src/pnpjs/Navigation/addWebNav.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,WAAW,EAAE,MAAM,2DAA2D,CAAC;AAErG,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,iEAAiE,CAAC;AAQxH;;;;;;;;;GASG;AACH,wBAAsB,SAAS,CAAG,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,OAAO,GAAI,OAAO,CAAC,kBAAkB,CAAC,CAa1K"}
@@ -0,0 +1,22 @@
1
+ import { createWebNav } from '@mikezimm/fps-pnp2/lib/services/sp/navigation/createWebNav';
2
+ import { startPerformOpV2, unifiedPerformanceEnd } from '../../components/molecules/Performance/functions';
3
+ import { checkItemsResults } from '../Common/CheckItemsResults';
4
+ /**
5
+ * createWebNav will attempt to add navItem under a parent if it does not exist.
6
+ * If it does exist, then update only if forceNewUrl === true
7
+ * @param webUrl
8
+ * @param navType
9
+ * @param parentNode
10
+ * @param navItem
11
+ * @param forceNewUrl
12
+ * @returns
13
+ */
14
+ export async function addWebNav(webUrl, navType, parentNode, navItem, forceNewUrl) {
15
+ let performanceSettings = { label: 'addWebNav', updateMiliseconds: true, includeMsStr: true, op: 'save0' };
16
+ const fetchOp = performanceSettings ? startPerformOpV2(performanceSettings) : null;
17
+ const initialResult = await createWebNav(webUrl, navType, parentNode, navItem, forceNewUrl);
18
+ let result = unifiedPerformanceEnd(initialResult, performanceSettings, fetchOp, 'save', 'value');
19
+ result = checkItemsResults(result, `fps-library-v2: addWebNav ~ 30`, false, true);
20
+ return result;
21
+ }
22
+ //# sourceMappingURL=addWebNav.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"addWebNav.js","sourceRoot":"","sources":["../../../src/pnpjs/Navigation/addWebNav.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,4DAA4D,CAAC;AAK1F,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,kDAAkD,CAAC;AAE3G,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAEhE;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAG,MAAc,EAAE,OAAoB,EAAE,UAAkB,EAAE,OAA0B,EAAE,WAAoB;IAE1I,IAAI,mBAAmB,GAAyB,EAAG,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC;IAClI,MAAM,OAAO,GAAG,mBAAmB,CAAC,CAAC,CAAC,gBAAgB,CAAE,mBAAmB,CAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAErF,MAAM,aAAa,GAAuB,MAAM,YAAY,CAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,CAAE,CAAC;IAElH,IAAI,MAAM,GAAwB,qBAAqB,CAAE,aAAgC,EAAE,mBAAmB,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAyB,CAAC;IAElK,MAAM,GAAG,iBAAiB,CAAE,MAAM,EAAE,gCAAgC,EAAE,KAAK,EAAE,IAAI,CAAwB,CAAC;IAE1G,OAAO,MAAM,CAAC;AAEhB,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { IPnpNavType } from '@mikezimm/fps-pnp2/lib/services/sp/navigation/IPnpNavItem';
2
+ import { INavErrorObj } from '@mikezimm/fps-pnp2/lib/services/sp/navigation/fetchWebNav';
3
+ /**
4
+ * fetchMyHubsites will fetch an array of the current site's hub associated sites. Used in Pivot Tiles and Hub Connections.
5
+ * @param webUrl
6
+ * @param departmentId
7
+ * @returns
8
+ */
9
+ export declare function getWebNav(webUrl: string, navType: IPnpNavType): Promise<INavErrorObj>;
10
+ //# sourceMappingURL=getWebNav.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getWebNav.d.ts","sourceRoot":"","sources":["../../../src/pnpjs/Navigation/getWebNav.ts"],"names":[],"mappings":"AACA,OAAO,EAAe,WAAW,EAAE,MAAM,2DAA2D,CAAC;AACrG,OAAO,EAAE,YAAY,EAAe,MAAM,2DAA2D,CAAC;AAQtG;;;;;GAKG;AACH,wBAAsB,SAAS,CAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAI,OAAO,CAAC,YAAY,CAAC,CAc7F"}
@@ -0,0 +1,18 @@
1
+ import { fetchWebNav } from '@mikezimm/fps-pnp2/lib/services/sp/navigation/fetchWebNav';
2
+ import { startPerformOpV2, unifiedPerformanceEnd } from '../../components/molecules/Performance/functions';
3
+ import { checkItemsResults } from '../Common/CheckItemsResults';
4
+ /**
5
+ * fetchMyHubsites will fetch an array of the current site's hub associated sites. Used in Pivot Tiles and Hub Connections.
6
+ * @param webUrl
7
+ * @param departmentId
8
+ * @returns
9
+ */
10
+ export async function getWebNav(webUrl, navType) {
11
+ let performanceSettings = { label: 'getWebNav', updateMiliseconds: true, includeMsStr: true, op: 'fetch' };
12
+ const fetchOp = performanceSettings ? startPerformOpV2(performanceSettings) : null;
13
+ const initialResult = await fetchWebNav(webUrl, navType);
14
+ let result = unifiedPerformanceEnd(initialResult, performanceSettings, fetchOp, 'fetch', 'value');
15
+ result = checkItemsResults(result, `fps-library-v2: getWebNav ~ 26`, false, true);
16
+ return result;
17
+ }
18
+ //# sourceMappingURL=getWebNav.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getWebNav.js","sourceRoot":"","sources":["../../../src/pnpjs/Navigation/getWebNav.ts"],"names":[],"mappings":"AAEA,OAAO,EAAgB,WAAW,EAAE,MAAM,2DAA2D,CAAC;AAItG,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,kDAAkD,CAAC;AAE3G,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAEhE;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAE,MAAc,EAAE,OAAoB;IAEnE,IAAI,mBAAmB,GAAyB,EAAG,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC;IAClI,MAAM,OAAO,GAAG,mBAAmB,CAAC,CAAC,CAAC,gBAAgB,CAAE,mBAAmB,CAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAErF,MAAM,aAAa,GAAiB,MAAM,WAAW,CAAE,MAAM,EAAE,OAAO,CAAE,CAAC;IAEzE,IAAI,MAAM,GAAkB,qBAAqB,CAAE,aAAgC,EAAE,mBAAmB,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAmB,CAAC;IAEvJ,MAAM,GAAG,iBAAiB,CAAE,MAAM,EAAE,gCAAgC,EAAE,KAAK,EAAE,IAAI,CAAkB,CAAC;IAEpG,OAAO,MAAM,CAAC;AAGhB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mikezimm/fps-library-v2",
3
- "version": "1.0.240",
3
+ "version": "1.0.242",
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.46",
43
+ "@mikezimm/fps-pnp2": "^1.0.49",
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",