@apvee/spfx-react-toolkit 1.2.0 → 1.2.1
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/README.md +52 -7217
- package/lib/core/context.internal.d.ts +6 -1
- package/lib/core/context.internal.d.ts.map +1 -1
- package/lib/core/context.internal.js +6 -1
- package/lib/core/context.internal.js.map +1 -1
- package/lib/core/index.d.ts +21 -0
- package/lib/core/index.d.ts.map +1 -1
- package/lib/core/index.js +21 -0
- package/lib/core/index.js.map +1 -1
- package/lib/core/provider-application-customizer.d.ts.map +1 -1
- package/lib/core/provider-application-customizer.js.map +1 -1
- package/lib/core/provider-field-customizer.d.ts.map +1 -1
- package/lib/core/provider-field-customizer.js.map +1 -1
- package/lib/core/provider-listview-commandset.d.ts.map +1 -1
- package/lib/core/provider-listview-commandset.js.map +1 -1
- package/lib/core/provider-webpart.d.ts.map +1 -1
- package/lib/core/provider-webpart.js.map +1 -1
- package/lib/core/types.d.ts +2 -0
- package/lib/core/types.d.ts.map +1 -1
- package/lib/hooks/index.d.ts +31 -0
- package/lib/hooks/index.d.ts.map +1 -1
- package/lib/hooks/index.js +31 -0
- package/lib/hooks/index.js.map +1 -1
- package/lib/hooks/useAsyncInvoke.internal.d.ts +58 -0
- package/lib/hooks/useAsyncInvoke.internal.d.ts.map +1 -0
- package/lib/hooks/useAsyncInvoke.internal.js +118 -0
- package/lib/hooks/useAsyncInvoke.internal.js.map +1 -0
- package/lib/hooks/useSPFxAadHttpClient.d.ts.map +1 -1
- package/lib/hooks/useSPFxAadHttpClient.js +5 -75
- package/lib/hooks/useSPFxAadHttpClient.js.map +1 -1
- package/lib/hooks/useSPFxContainerInfo.d.ts +2 -0
- package/lib/hooks/useSPFxContainerInfo.d.ts.map +1 -1
- package/lib/hooks/useSPFxContainerInfo.js +2 -0
- package/lib/hooks/useSPFxContainerInfo.js.map +1 -1
- package/lib/hooks/useSPFxDisplayMode.d.ts +4 -0
- package/lib/hooks/useSPFxDisplayMode.d.ts.map +1 -1
- package/lib/hooks/useSPFxDisplayMode.js +4 -0
- package/lib/hooks/useSPFxDisplayMode.js.map +1 -1
- package/lib/hooks/useSPFxHttpClient.d.ts +4 -0
- package/lib/hooks/useSPFxHttpClient.d.ts.map +1 -1
- package/lib/hooks/useSPFxHttpClient.js +8 -75
- package/lib/hooks/useSPFxHttpClient.js.map +1 -1
- package/lib/hooks/useSPFxMSGraphClient.d.ts.map +1 -1
- package/lib/hooks/useSPFxMSGraphClient.js +4 -74
- package/lib/hooks/useSPFxMSGraphClient.js.map +1 -1
- package/lib/hooks/useSPFxPermissions.d.ts +15 -3
- package/lib/hooks/useSPFxPermissions.d.ts.map +1 -1
- package/lib/hooks/useSPFxPermissions.js.map +1 -1
- package/lib/hooks/useSPFxPnPContext.d.ts +4 -0
- package/lib/hooks/useSPFxPnPContext.d.ts.map +1 -1
- package/lib/hooks/useSPFxPnPContext.js +4 -0
- package/lib/hooks/useSPFxPnPContext.js.map +1 -1
- package/lib/hooks/useSPFxPnPSearch.d.ts.map +1 -1
- package/lib/hooks/useSPFxPnPSearch.js +61 -48
- package/lib/hooks/useSPFxPnPSearch.js.map +1 -1
- package/lib/hooks/useSPFxSPHttpClient.d.ts.map +1 -1
- package/lib/hooks/useSPFxSPHttpClient.js +4 -74
- package/lib/hooks/useSPFxSPHttpClient.js.map +1 -1
- package/lib/hooks/useSPFxThemeInfo.d.ts +2 -0
- package/lib/hooks/useSPFxThemeInfo.d.ts.map +1 -1
- package/lib/hooks/useSPFxThemeInfo.js +2 -0
- package/lib/hooks/useSPFxThemeInfo.js.map +1 -1
- package/lib/index.d.ts +27 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +27 -0
- package/lib/index.js.map +1 -1
- package/lib/utils/resize-observer.internal.d.ts +12 -2
- package/lib/utils/resize-observer.internal.d.ts.map +1 -1
- package/lib/utils/resize-observer.internal.js +12 -2
- package/lib/utils/resize-observer.internal.js.map +1 -1
- package/lib/utils/theme-subscription.internal.d.ts +12 -3
- package/lib/utils/theme-subscription.internal.d.ts.map +1 -1
- package/lib/utils/theme-subscription.internal.js +19 -3
- package/lib/utils/theme-subscription.internal.js.map +1 -1
- package/lib/utils/type-guards.internal.d.ts +78 -5
- package/lib/utils/type-guards.internal.d.ts.map +1 -1
- package/lib/utils/type-guards.internal.js +78 -5
- package/lib/utils/type-guards.internal.js.map +1 -1
- package/lib/webparts/spFxReactToolkitTest/components/SpFxReactToolkitTest.d.ts +0 -4
- package/lib/webparts/spFxReactToolkitTest/components/SpFxReactToolkitTest.d.ts.map +1 -1
- package/lib/webparts/spFxReactToolkitTest/components/SpFxReactToolkitTest.js +27 -739
- package/lib/webparts/spFxReactToolkitTest/components/SpFxReactToolkitTest.js.map +1 -1
- package/lib/webparts/spFxReactToolkitTest/components/demos/HttpClientDemo.d.ts +7 -0
- package/lib/webparts/spFxReactToolkitTest/components/demos/HttpClientDemo.d.ts.map +1 -0
- package/lib/webparts/spFxReactToolkitTest/components/demos/HttpClientDemo.js +131 -0
- package/lib/webparts/spFxReactToolkitTest/components/demos/HttpClientDemo.js.map +1 -0
- package/lib/webparts/spFxReactToolkitTest/components/demos/PnPContextDemo.d.ts +8 -0
- package/lib/webparts/spFxReactToolkitTest/components/demos/PnPContextDemo.d.ts.map +1 -0
- package/lib/webparts/spFxReactToolkitTest/components/demos/PnPContextDemo.js +158 -0
- package/lib/webparts/spFxReactToolkitTest/components/demos/PnPContextDemo.js.map +1 -0
- package/lib/webparts/spFxReactToolkitTest/components/demos/PnPListDemo.d.ts +9 -0
- package/lib/webparts/spFxReactToolkitTest/components/demos/PnPListDemo.d.ts.map +1 -0
- package/lib/webparts/spFxReactToolkitTest/components/demos/PnPListDemo.js +159 -0
- package/lib/webparts/spFxReactToolkitTest/components/demos/PnPListDemo.js.map +1 -0
- package/lib/webparts/spFxReactToolkitTest/components/demos/PnPOperationsDemo.d.ts +10 -0
- package/lib/webparts/spFxReactToolkitTest/components/demos/PnPOperationsDemo.d.ts.map +1 -0
- package/lib/webparts/spFxReactToolkitTest/components/demos/PnPOperationsDemo.js +141 -0
- package/lib/webparts/spFxReactToolkitTest/components/demos/PnPOperationsDemo.js.map +1 -0
- package/lib/webparts/spFxReactToolkitTest/components/demos/PnPSearchAdvancedDemo.d.ts +6 -0
- package/lib/webparts/spFxReactToolkitTest/components/demos/PnPSearchAdvancedDemo.d.ts.map +1 -0
- package/lib/webparts/spFxReactToolkitTest/components/demos/PnPSearchAdvancedDemo.js +62 -0
- package/lib/webparts/spFxReactToolkitTest/components/demos/PnPSearchAdvancedDemo.js.map +1 -0
- package/lib/webparts/spFxReactToolkitTest/components/demos/PnPSearchBasicDemo.d.ts +6 -0
- package/lib/webparts/spFxReactToolkitTest/components/demos/PnPSearchBasicDemo.d.ts.map +1 -0
- package/lib/webparts/spFxReactToolkitTest/components/demos/PnPSearchBasicDemo.js +98 -0
- package/lib/webparts/spFxReactToolkitTest/components/demos/PnPSearchBasicDemo.js.map +1 -0
- package/lib/webparts/spFxReactToolkitTest/components/demos/PnPSearchRefinersDemo.d.ts +6 -0
- package/lib/webparts/spFxReactToolkitTest/components/demos/PnPSearchRefinersDemo.d.ts.map +1 -0
- package/lib/webparts/spFxReactToolkitTest/components/demos/PnPSearchRefinersDemo.js +45 -0
- package/lib/webparts/spFxReactToolkitTest/components/demos/PnPSearchRefinersDemo.js.map +1 -0
- package/lib/webparts/spFxReactToolkitTest/components/demos/PnPSearchSuggestionsDemo.d.ts +6 -0
- package/lib/webparts/spFxReactToolkitTest/components/demos/PnPSearchSuggestionsDemo.d.ts.map +1 -0
- package/lib/webparts/spFxReactToolkitTest/components/demos/PnPSearchSuggestionsDemo.js +134 -0
- package/lib/webparts/spFxReactToolkitTest/components/demos/PnPSearchSuggestionsDemo.js.map +1 -0
- package/lib/webparts/spFxReactToolkitTest/components/demos/index.d.ts +13 -0
- package/lib/webparts/spFxReactToolkitTest/components/demos/index.d.ts.map +1 -0
- package/lib/webparts/spFxReactToolkitTest/components/demos/index.js +18 -0
- package/lib/webparts/spFxReactToolkitTest/components/demos/index.js.map +1 -0
- package/lib/webparts/spFxReactToolkitTest/components/shared/InfoRow.d.ts +18 -0
- package/lib/webparts/spFxReactToolkitTest/components/shared/InfoRow.d.ts.map +1 -0
- package/lib/webparts/spFxReactToolkitTest/components/shared/InfoRow.js +17 -0
- package/lib/webparts/spFxReactToolkitTest/components/shared/InfoRow.js.map +1 -0
- package/lib/webparts/spFxReactToolkitTest/components/shared/StatusBadge.d.ts +16 -0
- package/lib/webparts/spFxReactToolkitTest/components/shared/StatusBadge.d.ts.map +1 -0
- package/lib/webparts/spFxReactToolkitTest/components/shared/StatusBadge.js +14 -0
- package/lib/webparts/spFxReactToolkitTest/components/shared/StatusBadge.js.map +1 -0
- package/lib/webparts/spFxReactToolkitTest/components/shared/index.d.ts +6 -0
- package/lib/webparts/spFxReactToolkitTest/components/shared/index.d.ts.map +1 -0
- package/lib/webparts/spFxReactToolkitTest/components/shared/index.js +6 -0
- package/lib/webparts/spFxReactToolkitTest/components/shared/index.js.map +1 -0
- package/package.json +7 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSPFxDisplayMode.d.ts","sourceRoot":"","sources":["../../src/hooks/useSPFxDisplayMode.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAGzD;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,uCAAuC;IACvC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAE3B,qCAAqC;IACrC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAEzB,qCAAqC;IACrC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;CAC1B;AAED
|
|
1
|
+
{"version":3,"file":"useSPFxDisplayMode.d.ts","sourceRoot":"","sources":["../../src/hooks/useSPFxDisplayMode.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAGzD;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,uCAAuC;IACvC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAE3B,qCAAqC;IACrC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAEzB,qCAAqC;IACrC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;CAC1B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,kBAAkB,IAAI,mBAAmB,CAexD;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,aAAa,IAAI,OAAO,CAGvC"}
|
|
@@ -20,6 +20,8 @@ import { spfxAtoms } from './../core/atoms.internal';
|
|
|
20
20
|
*
|
|
21
21
|
* @returns Display mode information
|
|
22
22
|
*
|
|
23
|
+
* @see {@link useSPFxIsEdit} for a simple boolean shortcut
|
|
24
|
+
*
|
|
23
25
|
* @example
|
|
24
26
|
* ```tsx
|
|
25
27
|
* function MyComponent() {
|
|
@@ -53,6 +55,8 @@ export function useSPFxDisplayMode() {
|
|
|
53
55
|
*
|
|
54
56
|
* @returns true if in Edit mode, false otherwise
|
|
55
57
|
*
|
|
58
|
+
* @see {@link useSPFxDisplayMode} for full display mode information
|
|
59
|
+
*
|
|
56
60
|
* @example
|
|
57
61
|
* ```tsx
|
|
58
62
|
* function MyComponent() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSPFxDisplayMode.js","sourceRoot":"","sources":["../../src/hooks/useSPFxDisplayMode.ts"],"names":[],"mappings":"AAAA,wBAAwB;AACxB,0CAA0C;AAE1C,OAAO,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAgBrD
|
|
1
|
+
{"version":3,"file":"useSPFxDisplayMode.js","sourceRoot":"","sources":["../../src/hooks/useSPFxDisplayMode.ts"],"names":[],"mappings":"AAAA,wBAAwB;AACxB,0CAA0C;AAE1C,OAAO,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAgBrD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,MAAM,UAAU,kBAAkB;IAChC,kDAAkD;IAClD,IAAM,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IAEtD,kCAAkC;IAClC,IAAM,IAAI,GAAG,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,WAAW,CAAC,IAAI,CAAC;IAE3C,IAAM,MAAM,GAAG,IAAI,KAAK,WAAW,CAAC,IAAI,CAAC;IACzC,IAAM,MAAM,GAAG,IAAI,KAAK,WAAW,CAAC,IAAI,CAAC;IAEzC,OAAO;QACL,IAAI,MAAA;QACJ,MAAM,QAAA;QACN,MAAM,QAAA;KACP,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,aAAa;IACnB,IAAA,MAAM,GAAK,kBAAkB,EAAE,OAAzB,CAA0B;IACxC,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -73,6 +73,10 @@ export interface SPFxHttpClientInfo {
|
|
|
73
73
|
*
|
|
74
74
|
* Use HttpClient for external APIs, SPHttpClient for SharePoint `/_api/` endpoints.
|
|
75
75
|
*
|
|
76
|
+
* @see {@link useSPFxSPHttpClient} for SharePoint REST API calls
|
|
77
|
+
* @see {@link useSPFxAadHttpClient} for Azure AD secured API calls
|
|
78
|
+
* @see {@link useSPFxMSGraphClient} for Microsoft Graph API calls
|
|
79
|
+
*
|
|
76
80
|
* @example Using invoke with public API
|
|
77
81
|
* ```tsx
|
|
78
82
|
* function WeatherWidget() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSPFxHttpClient.d.ts","sourceRoot":"","sources":["../../src/hooks/useSPFxHttpClient.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"useSPFxHttpClient.d.ts","sourceRoot":"","sources":["../../src/hooks/useSPFxHttpClient.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGhD;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;;OAIG;IACH,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAE5B;;;;;;;;;;;;;;;;OAgBG;IACH,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAE3E;;;OAGG;IACH,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAE5B;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,SAAS,CAAC;IAElC,8BAA8B;IAC9B,QAAQ,CAAC,UAAU,EAAE,MAAM,IAAI,CAAC;CACjC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwLG;AACH,wBAAgB,iBAAiB,IAAI,kBAAkB,CAqBtD"}
|
|
@@ -1,44 +1,9 @@
|
|
|
1
1
|
// useSPFxHttpClient.ts
|
|
2
2
|
// Hook to access generic HTTP client with state management
|
|
3
|
-
|
|
4
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
5
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
6
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
7
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
8
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
9
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
10
|
-
});
|
|
11
|
-
};
|
|
12
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
13
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
14
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
15
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
16
|
-
function step(op) {
|
|
17
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
18
|
-
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
19
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
20
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
21
|
-
switch (op[0]) {
|
|
22
|
-
case 0: case 1: t = op; break;
|
|
23
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
24
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
25
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
26
|
-
default:
|
|
27
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
28
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
29
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
30
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
31
|
-
if (t[2]) _.ops.pop();
|
|
32
|
-
_.trys.pop(); continue;
|
|
33
|
-
}
|
|
34
|
-
op = body.call(thisArg, _);
|
|
35
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
36
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
37
|
-
}
|
|
38
|
-
};
|
|
39
|
-
import { useMemo, useState, useCallback } from 'react';
|
|
3
|
+
import { useMemo } from 'react';
|
|
40
4
|
import { useSPFxServiceScope } from './useSPFxServiceScope';
|
|
41
5
|
import { HttpClient } from '@microsoft/sp-http';
|
|
6
|
+
import { useAsyncInvoke } from './useAsyncInvoke.internal';
|
|
42
7
|
/**
|
|
43
8
|
* Hook to access generic HTTP client with built-in state management
|
|
44
9
|
*
|
|
@@ -72,6 +37,10 @@ import { HttpClient } from '@microsoft/sp-http';
|
|
|
72
37
|
*
|
|
73
38
|
* Use HttpClient for external APIs, SPHttpClient for SharePoint `/_api/` endpoints.
|
|
74
39
|
*
|
|
40
|
+
* @see {@link useSPFxSPHttpClient} for SharePoint REST API calls
|
|
41
|
+
* @see {@link useSPFxAadHttpClient} for Azure AD secured API calls
|
|
42
|
+
* @see {@link useSPFxMSGraphClient} for Microsoft Graph API calls
|
|
43
|
+
*
|
|
75
44
|
* @example Using invoke with public API
|
|
76
45
|
* ```tsx
|
|
77
46
|
* function WeatherWidget() {
|
|
@@ -221,49 +190,13 @@ import { HttpClient } from '@microsoft/sp-http';
|
|
|
221
190
|
* ```
|
|
222
191
|
*/
|
|
223
192
|
export function useSPFxHttpClient() {
|
|
224
|
-
var _this = this;
|
|
225
193
|
var consume = useSPFxServiceScope().consume;
|
|
226
194
|
// Lazy consume HttpClient from ServiceScope (cached by useMemo)
|
|
227
195
|
var client = useMemo(function () {
|
|
228
196
|
return consume(HttpClient.serviceKey);
|
|
229
197
|
}, [consume]);
|
|
230
|
-
//
|
|
231
|
-
var _a =
|
|
232
|
-
var _b = useState(undefined), error = _b[0], setError = _b[1];
|
|
233
|
-
// Invoke with automatic state management
|
|
234
|
-
var invoke = useCallback(function (fn) { return __awaiter(_this, void 0, void 0, function () {
|
|
235
|
-
var result, err_1, error_1;
|
|
236
|
-
return __generator(this, function (_a) {
|
|
237
|
-
switch (_a.label) {
|
|
238
|
-
case 0:
|
|
239
|
-
if (!client) {
|
|
240
|
-
throw new Error('HttpClient not initialized. Check SPFx context.');
|
|
241
|
-
}
|
|
242
|
-
setIsLoading(true);
|
|
243
|
-
setError(undefined);
|
|
244
|
-
_a.label = 1;
|
|
245
|
-
case 1:
|
|
246
|
-
_a.trys.push([1, 3, 4, 5]);
|
|
247
|
-
return [4 /*yield*/, fn(client)];
|
|
248
|
-
case 2:
|
|
249
|
-
result = _a.sent();
|
|
250
|
-
return [2 /*return*/, result];
|
|
251
|
-
case 3:
|
|
252
|
-
err_1 = _a.sent();
|
|
253
|
-
error_1 = err_1 instanceof Error ? err_1 : new Error(String(err_1));
|
|
254
|
-
setError(error_1);
|
|
255
|
-
throw error_1;
|
|
256
|
-
case 4:
|
|
257
|
-
setIsLoading(false);
|
|
258
|
-
return [7 /*endfinally*/];
|
|
259
|
-
case 5: return [2 /*return*/];
|
|
260
|
-
}
|
|
261
|
-
});
|
|
262
|
-
}); }, [client]);
|
|
263
|
-
// Clear error helper
|
|
264
|
-
var clearError = useCallback(function () {
|
|
265
|
-
setError(undefined);
|
|
266
|
-
}, []);
|
|
198
|
+
// Use shared async invocation pattern
|
|
199
|
+
var _a = useAsyncInvoke(client, 'HttpClient not initialized. Check SPFx context.'), invoke = _a.invoke, isLoading = _a.isLoading, error = _a.error, clearError = _a.clearError;
|
|
267
200
|
return {
|
|
268
201
|
client: client,
|
|
269
202
|
invoke: invoke,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSPFxHttpClient.js","sourceRoot":"","sources":["../../src/hooks/useSPFxHttpClient.ts"],"names":[],"mappings":"AAAA,uBAAuB;AACvB,2DAA2D
|
|
1
|
+
{"version":3,"file":"useSPFxHttpClient.js","sourceRoot":"","sources":["../../src/hooks/useSPFxHttpClient.ts"],"names":[],"mappings":"AAAA,uBAAuB;AACvB,2DAA2D;AAE3D,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAgD3D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwLG;AACH,MAAM,UAAU,iBAAiB;IACvB,IAAA,OAAO,GAAK,mBAAmB,EAAE,QAA1B,CAA2B;IAE1C,gEAAgE;IAChE,IAAM,MAAM,GAAG,OAAO,CAAC;QACrB,OAAO,OAAO,CAAa,UAAU,CAAC,UAAU,CAAC,CAAC;IACpD,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEd,sCAAsC;IAChC,IAAA,KAA2C,cAAc,CAC7D,MAAM,EACN,iDAAiD,CAClD,EAHO,MAAM,YAAA,EAAE,SAAS,eAAA,EAAE,KAAK,WAAA,EAAE,UAAU,gBAG3C,CAAC;IAEF,OAAO;QACL,MAAM,QAAA;QACN,MAAM,QAAA;QACN,SAAS,WAAA;QACT,KAAK,OAAA;QACL,UAAU,YAAA;KACX,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSPFxMSGraphClient.d.ts","sourceRoot":"","sources":["../../src/hooks/useSPFxMSGraphClient.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,eAAe,EAAwB,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"useSPFxMSGraphClient.d.ts","sourceRoot":"","sources":["../../src/hooks/useSPFxMSGraphClient.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,eAAe,EAAwB,MAAM,oBAAoB,CAAC;AAG3E;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,QAAQ,CAAC,MAAM,EAAE,eAAe,GAAG,SAAS,CAAC;IAE7C;;;;;;;;;;;;;;;OAeG;IACH,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IAEhF;;;OAGG;IACH,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAE5B;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,SAAS,CAAC;IAElC,8BAA8B;IAC9B,QAAQ,CAAC,UAAU,EAAE,MAAM,IAAI,CAAC;CACjC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkKG;AACH,wBAAgB,oBAAoB,IAAI,qBAAqB,CAoC5D"}
|
|
@@ -1,44 +1,9 @@
|
|
|
1
1
|
// useSPFxMSGraphClient.ts
|
|
2
2
|
// Hook to access Microsoft Graph client with state management
|
|
3
|
-
|
|
4
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
5
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
6
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
7
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
8
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
9
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
10
|
-
});
|
|
11
|
-
};
|
|
12
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
13
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
14
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
15
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
16
|
-
function step(op) {
|
|
17
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
18
|
-
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
19
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
20
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
21
|
-
switch (op[0]) {
|
|
22
|
-
case 0: case 1: t = op; break;
|
|
23
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
24
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
25
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
26
|
-
default:
|
|
27
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
28
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
29
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
30
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
31
|
-
if (t[2]) _.ops.pop();
|
|
32
|
-
_.trys.pop(); continue;
|
|
33
|
-
}
|
|
34
|
-
op = body.call(thisArg, _);
|
|
35
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
36
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
37
|
-
}
|
|
38
|
-
};
|
|
39
|
-
import { useMemo, useState, useCallback, useEffect } from 'react';
|
|
3
|
+
import { useMemo, useState, useEffect } from 'react';
|
|
40
4
|
import { useSPFxServiceScope } from './useSPFxServiceScope';
|
|
41
5
|
import { MSGraphClientFactory } from '@microsoft/sp-http';
|
|
6
|
+
import { useAsyncInvoke } from './useAsyncInvoke.internal';
|
|
42
7
|
/**
|
|
43
8
|
* Hook to access Microsoft Graph client with built-in state management
|
|
44
9
|
*
|
|
@@ -203,15 +168,12 @@ import { MSGraphClientFactory } from '@microsoft/sp-http';
|
|
|
203
168
|
* ```
|
|
204
169
|
*/
|
|
205
170
|
export function useSPFxMSGraphClient() {
|
|
206
|
-
var _this = this;
|
|
207
171
|
var consume = useSPFxServiceScope().consume;
|
|
208
172
|
// Lazy consume MSGraphClientFactory from ServiceScope (cached by useMemo)
|
|
209
173
|
var factory = useMemo(function () {
|
|
210
174
|
return consume(MSGraphClientFactory.serviceKey);
|
|
211
175
|
}, [consume]);
|
|
212
176
|
var _a = useState(undefined), client = _a[0], setClient = _a[1];
|
|
213
|
-
var _b = useState(false), isLoading = _b[0], setIsLoading = _b[1];
|
|
214
|
-
var _c = useState(undefined), error = _c[0], setError = _c[1];
|
|
215
177
|
// Initialize Graph client (factory.getClient is async)
|
|
216
178
|
useEffect(function () {
|
|
217
179
|
// Get MSGraphClientV3 (version 3 of Microsoft Graph JavaScript Client Library)
|
|
@@ -224,40 +186,8 @@ export function useSPFxMSGraphClient() {
|
|
|
224
186
|
console.error('Failed to initialize MSGraphClient:', err);
|
|
225
187
|
});
|
|
226
188
|
}, [factory]);
|
|
227
|
-
//
|
|
228
|
-
var
|
|
229
|
-
var result, err_1, error_1;
|
|
230
|
-
return __generator(this, function (_a) {
|
|
231
|
-
switch (_a.label) {
|
|
232
|
-
case 0:
|
|
233
|
-
if (!client) {
|
|
234
|
-
throw new Error('Graph client not initialized. Wait for client to be available.');
|
|
235
|
-
}
|
|
236
|
-
setIsLoading(true);
|
|
237
|
-
setError(undefined);
|
|
238
|
-
_a.label = 1;
|
|
239
|
-
case 1:
|
|
240
|
-
_a.trys.push([1, 3, 4, 5]);
|
|
241
|
-
return [4 /*yield*/, fn(client)];
|
|
242
|
-
case 2:
|
|
243
|
-
result = _a.sent();
|
|
244
|
-
return [2 /*return*/, result];
|
|
245
|
-
case 3:
|
|
246
|
-
err_1 = _a.sent();
|
|
247
|
-
error_1 = err_1 instanceof Error ? err_1 : new Error(String(err_1));
|
|
248
|
-
setError(error_1);
|
|
249
|
-
throw error_1;
|
|
250
|
-
case 4:
|
|
251
|
-
setIsLoading(false);
|
|
252
|
-
return [7 /*endfinally*/];
|
|
253
|
-
case 5: return [2 /*return*/];
|
|
254
|
-
}
|
|
255
|
-
});
|
|
256
|
-
}); }, [client]);
|
|
257
|
-
// Clear error helper
|
|
258
|
-
var clearError = useCallback(function () {
|
|
259
|
-
setError(undefined);
|
|
260
|
-
}, []);
|
|
189
|
+
// Use shared async invocation pattern
|
|
190
|
+
var _b = useAsyncInvoke(client, 'Graph client not initialized. Wait for client to be available.'), invoke = _b.invoke, isLoading = _b.isLoading, error = _b.error, clearError = _b.clearError;
|
|
261
191
|
return {
|
|
262
192
|
client: client,
|
|
263
193
|
invoke: invoke,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSPFxMSGraphClient.js","sourceRoot":"","sources":["../../src/hooks/useSPFxMSGraphClient.ts"],"names":[],"mappings":"AAAA,0BAA0B;AAC1B,8DAA8D
|
|
1
|
+
{"version":3,"file":"useSPFxMSGraphClient.js","sourceRoot":"","sources":["../../src/hooks/useSPFxMSGraphClient.ts"],"names":[],"mappings":"AAAA,0BAA0B;AAC1B,8DAA8D;AAE9D,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAmB,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC3E,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AA8C3D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkKG;AACH,MAAM,UAAU,oBAAoB;IAC1B,IAAA,OAAO,GAAK,mBAAmB,EAAE,QAA1B,CAA2B;IAE1C,0EAA0E;IAC1E,IAAM,OAAO,GAAG,OAAO,CAAC;QACtB,OAAO,OAAO,CAAuB,oBAAoB,CAAC,UAAU,CAAC,CAAC;IACxE,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAER,IAAA,KAAsB,QAAQ,CAA8B,SAAS,CAAC,EAArE,MAAM,QAAA,EAAE,SAAS,QAAoD,CAAC;IAE7E,uDAAuD;IACvD,SAAS,CAAC;QACR,+EAA+E;QAC/E,OAAO;aACJ,SAAS,CAAC,GAAG,CAAC;aACd,IAAI,CAAC,UAAC,WAA4B;YACjC,SAAS,CAAC,WAAW,CAAC,CAAC;QACzB,CAAC,CAAC;aACD,KAAK,CAAC,UAAC,GAAU;YAChB,OAAO,CAAC,KAAK,CAAC,qCAAqC,EAAE,GAAG,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC;IACP,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEd,sCAAsC;IAChC,IAAA,KAA2C,cAAc,CAC7D,MAAM,EACN,gEAAgE,CACjE,EAHO,MAAM,YAAA,EAAE,SAAS,eAAA,EAAE,KAAK,WAAA,EAAE,UAAU,gBAG3C,CAAC;IAEF,OAAO;QACL,MAAM,QAAA;QACN,MAAM,QAAA;QACN,SAAS,WAAA;QACT,KAAK,OAAA;QACL,UAAU,YAAA;KACX,CAAC;AACJ,CAAC"}
|
|
@@ -9,11 +9,23 @@ export interface SPFxPermissionsInfo {
|
|
|
9
9
|
readonly webPermissions: SPPermission | undefined;
|
|
10
10
|
/** List permissions (if in list context) */
|
|
11
11
|
readonly listPermissions: SPPermission | undefined;
|
|
12
|
-
/**
|
|
12
|
+
/**
|
|
13
|
+
* Check if user has specific web permission
|
|
14
|
+
* @param permission - SPPermission to check (e.g., SPPermission.manageWeb, SPPermission.editListItems)
|
|
15
|
+
* @returns True if user has the permission at web level
|
|
16
|
+
*/
|
|
13
17
|
readonly hasWebPermission: (permission: SPPermission) => boolean;
|
|
14
|
-
/**
|
|
18
|
+
/**
|
|
19
|
+
* Check if user has specific site collection permission
|
|
20
|
+
* @param permission - SPPermission to check (e.g., SPPermission.manageWeb, SPPermission.createGroups)
|
|
21
|
+
* @returns True if user has the permission at site collection level
|
|
22
|
+
*/
|
|
15
23
|
readonly hasSitePermission: (permission: SPPermission) => boolean;
|
|
16
|
-
/**
|
|
24
|
+
/**
|
|
25
|
+
* Check if user has specific list permission
|
|
26
|
+
* @param permission - SPPermission to check (e.g., SPPermission.addListItems, SPPermission.deleteListItems)
|
|
27
|
+
* @returns True if user has the permission at list level, false if no list context
|
|
28
|
+
*/
|
|
17
29
|
readonly hasListPermission: (permission: SPPermission) => boolean;
|
|
18
30
|
}
|
|
19
31
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSPFxPermissions.d.ts","sourceRoot":"","sources":["../../src/hooks/useSPFxPermissions.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAG1D;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,kCAAkC;IAClC,QAAQ,CAAC,eAAe,EAAE,YAAY,GAAG,SAAS,CAAC;IAEnD,sBAAsB;IACtB,QAAQ,CAAC,cAAc,EAAE,YAAY,GAAG,SAAS,CAAC;IAElD,4CAA4C;IAC5C,QAAQ,CAAC,eAAe,EAAE,YAAY,GAAG,SAAS,CAAC;IAEnD
|
|
1
|
+
{"version":3,"file":"useSPFxPermissions.d.ts","sourceRoot":"","sources":["../../src/hooks/useSPFxPermissions.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAG1D;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,kCAAkC;IAClC,QAAQ,CAAC,eAAe,EAAE,YAAY,GAAG,SAAS,CAAC;IAEnD,sBAAsB;IACtB,QAAQ,CAAC,cAAc,EAAE,YAAY,GAAG,SAAS,CAAC;IAElD,4CAA4C;IAC5C,QAAQ,CAAC,eAAe,EAAE,YAAY,GAAG,SAAS,CAAC;IAEnD;;;;OAIG;IACH,QAAQ,CAAC,gBAAgB,EAAE,CAAC,UAAU,EAAE,YAAY,KAAK,OAAO,CAAC;IAEjE;;;;OAIG;IACH,QAAQ,CAAC,iBAAiB,EAAE,CAAC,UAAU,EAAE,YAAY,KAAK,OAAO,CAAC;IAElE;;;;OAIG;IACH,QAAQ,CAAC,iBAAiB,EAAE,CAAC,UAAU,EAAE,YAAY,KAAK,OAAO,CAAC;CACnE;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,wBAAgB,kBAAkB,IAAI,mBAAmB,CA2CxD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSPFxPermissions.js","sourceRoot":"","sources":["../../src/hooks/useSPFxPermissions.ts"],"names":[],"mappings":"AAAA,wBAAwB;AACxB,2CAA2C;AAE3C,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAEpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"useSPFxPermissions.js","sourceRoot":"","sources":["../../src/hooks/useSPFxPermissions.ts"],"names":[],"mappings":"AAAA,wBAAwB;AACxB,2CAA2C;AAE3C,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAEpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAqC1D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,MAAM,UAAU,kBAAkB;;IAChC,IAAM,WAAW,GAAG,kBAAkB,EAAE,CAAC;IAEzC,uCAAuC;IACvC,IAAM,eAAe,GAAG,MAAC,WAAW,CAAC,IAAkD,0CAAE,WAAW,CAAC;IACrG,IAAM,cAAc,GAAG,MAAC,WAAW,CAAC,GAAiD,0CAAE,WAAW,CAAC;IACnG,IAAM,eAAe,GAAG,MAAC,WAAW,CAAC,IAAkD,0CAAE,WAAW,CAAC;IAErG,6BAA6B;IAC7B,IAAM,GAAG,GAAG,WAAW,CACrB,UAAC,KAA+B,EAAE,UAAwB;QACxD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,KAAK,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IACzC,CAAC,EACD,EAAE,CACH,CAAC;IAEF,kCAAkC;IAClC,IAAM,gBAAgB,GAAG,WAAW,CAClC,UAAC,UAAwB,IAAc,OAAA,GAAG,CAAC,cAAc,EAAE,UAAU,CAAC,EAA/B,CAA+B,EACtE,CAAC,GAAG,EAAE,cAAc,CAAC,CACtB,CAAC;IAEF,IAAM,iBAAiB,GAAG,WAAW,CACnC,UAAC,UAAwB,IAAc,OAAA,GAAG,CAAC,eAAe,EAAE,UAAU,CAAC,EAAhC,CAAgC,EACvE,CAAC,GAAG,EAAE,eAAe,CAAC,CACvB,CAAC;IAEF,IAAM,iBAAiB,GAAG,WAAW,CACnC,UAAC,UAAwB,IAAc,OAAA,GAAG,CAAC,eAAe,EAAE,UAAU,CAAC,EAAhC,CAAgC,EACvE,CAAC,GAAG,EAAE,eAAe,CAAC,CACvB,CAAC;IAEF,OAAO;QACL,eAAe,iBAAA;QACf,cAAc,gBAAA;QACd,eAAe,iBAAA;QACf,gBAAgB,kBAAA;QAChB,iBAAiB,mBAAA;QACjB,iBAAiB,mBAAA;KAClB,CAAC;AACJ,CAAC"}
|
|
@@ -74,6 +74,10 @@ export interface PnPContextInfo {
|
|
|
74
74
|
* - Memoized for performance (avoids re-initialization on re-renders)
|
|
75
75
|
* - Error handling with detailed error state
|
|
76
76
|
*
|
|
77
|
+
* @see {@link useSPFxPnP} for state-managed PnP operations with invoke/batch helpers
|
|
78
|
+
* @see {@link useSPFxPnPList} for list-specific operations with pagination
|
|
79
|
+
* @see {@link useSPFxPnPSearch} for SharePoint Search integration
|
|
80
|
+
*
|
|
77
81
|
* @param siteUrl - SharePoint site URL (optional)
|
|
78
82
|
* - Undefined: uses current site
|
|
79
83
|
* - Relative: '/sites/hr' (automatically resolves to absolute URL)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSPFxPnPContext.d.ts","sourceRoot":"","sources":["../../src/hooks/useSPFxPnPContext.ts"],"names":[],"mappings":"AAIA,OAAO,EAAQ,IAAI,EAAE,MAAM,SAAS,CAAC;AAMrC,OAAO,cAAc,CAAC;AACtB,OAAO,kBAAkB,CAAC;AAK1B;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,4BAA4B;IAC5B,KAAK,CAAC,EAAE;QACN,qBAAqB;QACrB,OAAO,EAAE,OAAO,CAAC;QACjB,wCAAwC;QACxC,OAAO,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC;QAC9B,8DAA8D;QAC9D,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,kCAAkC;QAClC,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;KACtC,CAAC;IAEF,6BAA6B;IAC7B,KAAK,CAAC,EAAE;QACN,sBAAsB;QACtB,OAAO,EAAE,OAAO,CAAC;QACjB,gDAAgD;QAChD,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;IAEF,oCAAoC;IACpC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,EAAE,IAAI,GAAG,SAAS,CAAC;IAE9B;;;OAGG;IACH,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAEhC;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,SAAS,CAAC;IAElC;;;OAGG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED
|
|
1
|
+
{"version":3,"file":"useSPFxPnPContext.d.ts","sourceRoot":"","sources":["../../src/hooks/useSPFxPnPContext.ts"],"names":[],"mappings":"AAIA,OAAO,EAAQ,IAAI,EAAE,MAAM,SAAS,CAAC;AAMrC,OAAO,cAAc,CAAC;AACtB,OAAO,kBAAkB,CAAC;AAK1B;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,4BAA4B;IAC5B,KAAK,CAAC,EAAE;QACN,qBAAqB;QACrB,OAAO,EAAE,OAAO,CAAC;QACjB,wCAAwC;QACxC,OAAO,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC;QAC9B,8DAA8D;QAC9D,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,kCAAkC;QAClC,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;KACtC,CAAC;IAEF,6BAA6B;IAC7B,KAAK,CAAC,EAAE;QACN,sBAAsB;QACtB,OAAO,EAAE,OAAO,CAAC;QACjB,gDAAgD;QAChD,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;IAEF,oCAAoC;IACpC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,EAAE,IAAI,GAAG,SAAS,CAAC;IAE9B;;;OAGG;IACH,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAEhC;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,SAAS,CAAC;IAElC;;;OAGG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6OG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,CAAC,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,gBAAgB,GACxB,cAAc,CA8GhB"}
|
|
@@ -32,6 +32,10 @@ import { useSPFxPageContext } from './useSPFxPageContext';
|
|
|
32
32
|
* - Memoized for performance (avoids re-initialization on re-renders)
|
|
33
33
|
* - Error handling with detailed error state
|
|
34
34
|
*
|
|
35
|
+
* @see {@link useSPFxPnP} for state-managed PnP operations with invoke/batch helpers
|
|
36
|
+
* @see {@link useSPFxPnPList} for list-specific operations with pagination
|
|
37
|
+
* @see {@link useSPFxPnPSearch} for SharePoint Search integration
|
|
38
|
+
*
|
|
35
39
|
* @param siteUrl - SharePoint site URL (optional)
|
|
36
40
|
* - Undefined: uses current site
|
|
37
41
|
* - Relative: '/sites/hr' (automatically resolves to absolute URL)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSPFxPnPContext.js","sourceRoot":"","sources":["../../src/hooks/useSPFxPnPContext.ts"],"names":[],"mappings":"AAAA,uBAAuB;AACvB,wDAAwD;AAExD,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAQ,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/C,2DAA2D;AAC3D,OAAO,cAAc,CAAC;AACtB,OAAO,kBAAkB,CAAC;AAE1B,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AA4D1D
|
|
1
|
+
{"version":3,"file":"useSPFxPnPContext.js","sourceRoot":"","sources":["../../src/hooks/useSPFxPnPContext.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSPFxPnPSearch.d.ts","sourceRoot":"","sources":["../../src/hooks/useSPFxPnPSearch.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"useSPFxPnPSearch.d.ts","sourceRoot":"","sources":["../../src/hooks/useSPFxPnPSearch.ts"],"names":[],"mappings":"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"}
|
|
@@ -324,6 +324,7 @@ export function useSPFxPnPSearch(options, pnpContext) {
|
|
|
324
324
|
var _g = useState(undefined), error = _g[0], setError = _g[1];
|
|
325
325
|
var _h = useState(false), hasMore = _h[0], setHasMore = _h[1];
|
|
326
326
|
// Tracking for pagination and refetch
|
|
327
|
+
// Type is wrapper function that returns the original callback (to avoid React state comparison issues)
|
|
327
328
|
var _j = useState(null), lastQueryBuilder = _j[0], setLastQueryBuilder = _j[1];
|
|
328
329
|
var _k = useState(null), lastQueryText = _k[0], setLastQueryText = _k[1];
|
|
329
330
|
var _l = useState(undefined), lastPageSize = _l[0], setLastPageSize = _l[1];
|
|
@@ -346,8 +347,8 @@ export function useSPFxPnPSearch(options, pnpContext) {
|
|
|
346
347
|
* Core search execution logic.
|
|
347
348
|
* Builds query with defaults, executes search, parses results.
|
|
348
349
|
*/
|
|
349
|
-
var executeSearch = useCallback(function (query, queryOptions, startRow, appendResults) { return __awaiter(_this, void 0, void 0, function () {
|
|
350
|
-
var err, pageSize, row, builder, refinementFilters_1, searchResults, rawResults, totalRows, parsedResults_1, refinerResults, parsedRefiners,
|
|
350
|
+
var executeSearch = useCallback(function (query, queryOptions, startRow, appendResults, overrideRefiners) { return __awaiter(_this, void 0, void 0, function () {
|
|
351
|
+
var err, pageSize, row, builder, refinersToApply, refinementFilters_1, searchResults, rawResults, totalRows, parsedResults_1, refinerResults, parsedRefiners, finalResultsLength_1, err_1, error_1;
|
|
351
352
|
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
352
353
|
return __generator(this, function (_j) {
|
|
353
354
|
switch (_j.label) {
|
|
@@ -385,10 +386,10 @@ export function useSPFxPnPSearch(options, pnpContext) {
|
|
|
385
386
|
if (row > 0) {
|
|
386
387
|
builder = builder.startRow(row);
|
|
387
388
|
}
|
|
388
|
-
|
|
389
|
-
if (
|
|
389
|
+
refinersToApply = overrideRefiners !== null && overrideRefiners !== void 0 ? overrideRefiners : appliedRefiners;
|
|
390
|
+
if (refinersToApply.size > 0) {
|
|
390
391
|
refinementFilters_1 = [];
|
|
391
|
-
|
|
392
|
+
refinersToApply.forEach(function (values, key) {
|
|
392
393
|
values.forEach(function (value) {
|
|
393
394
|
refinementFilters_1.push(key + ":equals('" + value + "')");
|
|
394
395
|
});
|
|
@@ -434,16 +435,20 @@ export function useSPFxPnPSearch(options, pnpContext) {
|
|
|
434
435
|
if (!mountedRef.current) {
|
|
435
436
|
return [2 /*return*/, parsedResults_1];
|
|
436
437
|
}
|
|
437
|
-
|
|
438
|
+
finalResultsLength_1 = 0;
|
|
438
439
|
if (appendResults) {
|
|
439
|
-
setResults(function (prev) {
|
|
440
|
+
setResults(function (prev) {
|
|
441
|
+
finalResultsLength_1 = prev.length + parsedResults_1.length;
|
|
442
|
+
return prev.concat(parsedResults_1);
|
|
443
|
+
});
|
|
440
444
|
}
|
|
441
445
|
else {
|
|
446
|
+
finalResultsLength_1 = parsedResults_1.length;
|
|
442
447
|
setResults(parsedResults_1);
|
|
443
448
|
}
|
|
444
449
|
setTotalResults(totalRows);
|
|
445
450
|
setRefiners(parsedRefiners);
|
|
446
|
-
setHasMore(
|
|
451
|
+
setHasMore(finalResultsLength_1 < totalRows);
|
|
447
452
|
return [2 /*return*/, parsedResults_1];
|
|
448
453
|
case 3:
|
|
449
454
|
err_1 = _j.sent();
|
|
@@ -453,7 +458,7 @@ export function useSPFxPnPSearch(options, pnpContext) {
|
|
|
453
458
|
case 4: return [2 /*return*/];
|
|
454
459
|
}
|
|
455
460
|
});
|
|
456
|
-
}); }, [sp, context === null || context === void 0 ? void 0 : context.isInitialized, options, defaultPageSize, lastPageSize, appliedRefiners
|
|
461
|
+
}); }, [sp, context === null || context === void 0 ? void 0 : context.isInitialized, options, defaultPageSize, lastPageSize, appliedRefiners]);
|
|
457
462
|
/**
|
|
458
463
|
* Executes a search query.
|
|
459
464
|
*/
|
|
@@ -548,7 +553,7 @@ export function useSPFxPnPSearch(options, pnpContext) {
|
|
|
548
553
|
_a.trys.push([1, , 3, 4]);
|
|
549
554
|
nextStartRow = currentStartRow + lastPageSize;
|
|
550
555
|
query = lastQueryBuilder
|
|
551
|
-
? lastQueryBuilder
|
|
556
|
+
? lastQueryBuilder()
|
|
552
557
|
: lastQueryText;
|
|
553
558
|
return [4 /*yield*/, executeSearch(query, { pageSize: lastPageSize }, nextStartRow, true // Append results
|
|
554
559
|
)];
|
|
@@ -585,7 +590,7 @@ export function useSPFxPnPSearch(options, pnpContext) {
|
|
|
585
590
|
case 1:
|
|
586
591
|
_a.trys.push([1, , 3, 4]);
|
|
587
592
|
query = lastQueryBuilder
|
|
588
|
-
? lastQueryBuilder
|
|
593
|
+
? lastQueryBuilder()
|
|
589
594
|
: lastQueryText;
|
|
590
595
|
return [4 /*yield*/, executeSearch(query, { pageSize: lastPageSize }, 0, false)];
|
|
591
596
|
case 2:
|
|
@@ -604,55 +609,63 @@ export function useSPFxPnPSearch(options, pnpContext) {
|
|
|
604
609
|
* Applies a refiner filter to the current search.
|
|
605
610
|
*/
|
|
606
611
|
var applyRefiner = useCallback(function (refinerName, refinerValue) { return __awaiter(_this, void 0, void 0, function () {
|
|
607
|
-
var err;
|
|
608
|
-
|
|
609
|
-
|
|
612
|
+
var err, newRefiners, existing, index, updated, query;
|
|
613
|
+
var _a;
|
|
614
|
+
return __generator(this, function (_b) {
|
|
615
|
+
switch (_b.label) {
|
|
610
616
|
case 0:
|
|
611
617
|
if (!lastQueryBuilder && !lastQueryText) {
|
|
612
618
|
err = new Error('[useSPFxPnPSearch] No previous search to apply refiner to. Call search() first.');
|
|
613
619
|
setError(err);
|
|
614
620
|
throw err;
|
|
615
621
|
}
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
var updated = existing.slice();
|
|
628
|
-
updated.splice(index, 1);
|
|
629
|
-
if (updated.length === 0) {
|
|
630
|
-
newMap.delete(refinerName);
|
|
631
|
-
}
|
|
632
|
-
else {
|
|
633
|
-
newMap.set(refinerName, updated);
|
|
634
|
-
}
|
|
622
|
+
newRefiners = new Map();
|
|
623
|
+
appliedRefiners.forEach(function (value, key) {
|
|
624
|
+
newRefiners.set(key, value);
|
|
625
|
+
});
|
|
626
|
+
existing = (_a = newRefiners.get(refinerName)) !== null && _a !== void 0 ? _a : [];
|
|
627
|
+
index = existing.indexOf(refinerValue);
|
|
628
|
+
if (index > -1) {
|
|
629
|
+
updated = existing.slice();
|
|
630
|
+
updated.splice(index, 1);
|
|
631
|
+
if (updated.length === 0) {
|
|
632
|
+
newRefiners.delete(refinerName);
|
|
635
633
|
}
|
|
636
634
|
else {
|
|
637
|
-
|
|
635
|
+
newRefiners.set(refinerName, updated);
|
|
638
636
|
}
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
//
|
|
644
|
-
|
|
645
|
-
|
|
637
|
+
}
|
|
638
|
+
else {
|
|
639
|
+
newRefiners.set(refinerName, existing.concat([refinerValue]));
|
|
640
|
+
}
|
|
641
|
+
// Update state for UI
|
|
642
|
+
setAppliedRefiners(newRefiners);
|
|
643
|
+
// Re-execute search with new refiners passed directly
|
|
644
|
+
// This avoids the race condition where state isn't updated yet
|
|
645
|
+
setLoading(true);
|
|
646
|
+
setError(undefined);
|
|
647
|
+
setCurrentStartRow(0);
|
|
648
|
+
_b.label = 1;
|
|
646
649
|
case 1:
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
return [
|
|
650
|
+
_b.trys.push([1, , 3, 4]);
|
|
651
|
+
query = lastQueryBuilder
|
|
652
|
+
? lastQueryBuilder()
|
|
653
|
+
: lastQueryText;
|
|
654
|
+
// Pass newRefiners directly to avoid race condition
|
|
655
|
+
return [4 /*yield*/, executeSearch(query, { pageSize: lastPageSize }, 0, false, newRefiners)];
|
|
656
|
+
case 2:
|
|
657
|
+
// Pass newRefiners directly to avoid race condition
|
|
658
|
+
_b.sent();
|
|
659
|
+
return [3 /*break*/, 4];
|
|
660
|
+
case 3:
|
|
661
|
+
if (mountedRef.current) {
|
|
662
|
+
setLoading(false);
|
|
663
|
+
}
|
|
664
|
+
return [7 /*endfinally*/];
|
|
665
|
+
case 4: return [2 /*return*/];
|
|
653
666
|
}
|
|
654
667
|
});
|
|
655
|
-
}); }, [lastQueryBuilder, lastQueryText,
|
|
668
|
+
}); }, [lastQueryBuilder, lastQueryText, lastPageSize, appliedRefiners, executeSearch]);
|
|
656
669
|
return {
|
|
657
670
|
search: search,
|
|
658
671
|
suggest: suggest,
|