@apvee/spfx-react-toolkit 1.2.0 → 1.3.0
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/extensions/spFxReactToolkitTest/SpFxReactToolkitTestApplicationCustomizer.d.ts +14 -0
- package/lib/extensions/spFxReactToolkitTest/SpFxReactToolkitTestApplicationCustomizer.d.ts.map +1 -0
- package/lib/extensions/spFxReactToolkitTest/SpFxReactToolkitTestApplicationCustomizer.js +41 -0
- package/lib/extensions/spFxReactToolkitTest/SpFxReactToolkitTestApplicationCustomizer.js.map +1 -0
- package/lib/extensions/spFxReactToolkitTest/SpFxReactToolkitTestApplicationCustomizer.manifest.json +17 -0
- package/lib/extensions/spFxReactToolkitTest/loc/en-us.js +5 -0
- 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 +46 -0
- package/lib/hooks/useSPFxAadHttpClient.d.ts.map +1 -1
- package/lib/hooks/useSPFxAadHttpClient.js +55 -80
- 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 +22 -2
- package/lib/hooks/useSPFxHttpClient.d.ts.map +1 -1
- package/lib/hooks/useSPFxHttpClient.js +19 -76
- package/lib/hooks/useSPFxHttpClient.js.map +1 -1
- package/lib/hooks/useSPFxMSGraphClient.d.ts +50 -3
- package/lib/hooks/useSPFxMSGraphClient.d.ts.map +1 -1
- package/lib/hooks/useSPFxMSGraphClient.js +60 -77
- package/lib/hooks/useSPFxMSGraphClient.js.map +1 -1
- package/lib/hooks/useSPFxOneDriveAppData.d.ts +0 -1
- package/lib/hooks/useSPFxOneDriveAppData.d.ts.map +1 -1
- package/lib/hooks/useSPFxOneDriveAppData.js +352 -101
- package/lib/hooks/useSPFxOneDriveAppData.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 +18 -2
- package/lib/hooks/useSPFxSPHttpClient.d.ts.map +1 -1
- package/lib/hooks/useSPFxSPHttpClient.js +15 -75
- 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 +30 -746
- 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 +14 -12
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
11
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
12
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
13
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
14
|
+
function step(op) {
|
|
15
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
16
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
17
|
+
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;
|
|
18
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
19
|
+
switch (op[0]) {
|
|
20
|
+
case 0: case 1: t = op; break;
|
|
21
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
22
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
23
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
24
|
+
default:
|
|
25
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
26
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
27
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
28
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
29
|
+
if (t[2]) _.ops.pop();
|
|
30
|
+
_.trys.pop(); continue;
|
|
31
|
+
}
|
|
32
|
+
op = body.call(thisArg, _);
|
|
33
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
34
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
import * as React from 'react';
|
|
38
|
+
import { Stack, TextField, PrimaryButton, DefaultButton, MessageBar, Separator, Label, Icon, } from '@fluentui/react';
|
|
39
|
+
import { useSPFxPnPList } from '../../../../hooks';
|
|
40
|
+
import '@pnp/sp/webs';
|
|
41
|
+
import '@pnp/sp/lists';
|
|
42
|
+
import '@pnp/sp/items';
|
|
43
|
+
/**
|
|
44
|
+
* Example 7: useSPFxPnPList - CRUD Operations
|
|
45
|
+
*/
|
|
46
|
+
export var PnPListDemo = function () {
|
|
47
|
+
var _a = React.useState(''), listTitle = _a[0], setListTitle = _a[1];
|
|
48
|
+
var _b = React.useState(''), newTitle = _b[0], setNewTitle = _b[1];
|
|
49
|
+
var _c = React.useState(null), editingId = _c[0], setEditingId = _c[1];
|
|
50
|
+
var _d = React.useState(''), editTitle = _d[0], setEditTitle = _d[1];
|
|
51
|
+
var _e = useSPFxPnPList(listTitle, { pageSize: 10 }), query = _e.query, items = _e.items, loading = _e.loading, error = _e.error, isEmpty = _e.isEmpty, hasMore = _e.hasMore, loadMore = _e.loadMore, clearError = _e.clearError, create = _e.create, update = _e.update, remove = _e.remove;
|
|
52
|
+
var handleLoadList = React.useCallback(function () {
|
|
53
|
+
query(function (q) { return q.select('Id', 'Title').orderBy('Id', false); }).catch(function (err) { return console.error('Load error:', err); });
|
|
54
|
+
}, [query]);
|
|
55
|
+
var handleCreate = React.useCallback(function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
56
|
+
var err_1;
|
|
57
|
+
return __generator(this, function (_a) {
|
|
58
|
+
switch (_a.label) {
|
|
59
|
+
case 0:
|
|
60
|
+
if (!newTitle || !listTitle)
|
|
61
|
+
return [2 /*return*/];
|
|
62
|
+
_a.label = 1;
|
|
63
|
+
case 1:
|
|
64
|
+
_a.trys.push([1, 3, , 4]);
|
|
65
|
+
return [4 /*yield*/, create({ Title: newTitle })];
|
|
66
|
+
case 2:
|
|
67
|
+
_a.sent();
|
|
68
|
+
setNewTitle('');
|
|
69
|
+
return [3 /*break*/, 4];
|
|
70
|
+
case 3:
|
|
71
|
+
err_1 = _a.sent();
|
|
72
|
+
console.error('Create error:', err_1);
|
|
73
|
+
return [3 /*break*/, 4];
|
|
74
|
+
case 4: return [2 /*return*/];
|
|
75
|
+
}
|
|
76
|
+
});
|
|
77
|
+
}); }, [create, newTitle, listTitle]);
|
|
78
|
+
var handleUpdate = React.useCallback(function (id) { return __awaiter(void 0, void 0, void 0, function () {
|
|
79
|
+
var err_2;
|
|
80
|
+
return __generator(this, function (_a) {
|
|
81
|
+
switch (_a.label) {
|
|
82
|
+
case 0:
|
|
83
|
+
if (!editTitle)
|
|
84
|
+
return [2 /*return*/];
|
|
85
|
+
_a.label = 1;
|
|
86
|
+
case 1:
|
|
87
|
+
_a.trys.push([1, 3, , 4]);
|
|
88
|
+
return [4 /*yield*/, update(id, { Title: editTitle })];
|
|
89
|
+
case 2:
|
|
90
|
+
_a.sent();
|
|
91
|
+
setEditingId(null);
|
|
92
|
+
setEditTitle('');
|
|
93
|
+
return [3 /*break*/, 4];
|
|
94
|
+
case 3:
|
|
95
|
+
err_2 = _a.sent();
|
|
96
|
+
console.error('Update error:', err_2);
|
|
97
|
+
return [3 /*break*/, 4];
|
|
98
|
+
case 4: return [2 /*return*/];
|
|
99
|
+
}
|
|
100
|
+
});
|
|
101
|
+
}); }, [update, editTitle]);
|
|
102
|
+
var handleDelete = React.useCallback(function (id) { return __awaiter(void 0, void 0, void 0, function () {
|
|
103
|
+
var err_3;
|
|
104
|
+
return __generator(this, function (_a) {
|
|
105
|
+
switch (_a.label) {
|
|
106
|
+
case 0:
|
|
107
|
+
if (!confirm('Delete this item?'))
|
|
108
|
+
return [2 /*return*/];
|
|
109
|
+
_a.label = 1;
|
|
110
|
+
case 1:
|
|
111
|
+
_a.trys.push([1, 3, , 4]);
|
|
112
|
+
return [4 /*yield*/, remove(id)];
|
|
113
|
+
case 2:
|
|
114
|
+
_a.sent();
|
|
115
|
+
return [3 /*break*/, 4];
|
|
116
|
+
case 3:
|
|
117
|
+
err_3 = _a.sent();
|
|
118
|
+
console.error('Delete error:', err_3);
|
|
119
|
+
return [3 /*break*/, 4];
|
|
120
|
+
case 4: return [2 /*return*/];
|
|
121
|
+
}
|
|
122
|
+
});
|
|
123
|
+
}); }, [remove]);
|
|
124
|
+
return (React.createElement(Stack, { tokens: { childrenGap: 10 }, styles: { root: { padding: '16px', border: '1px solid #edebe9', borderRadius: '4px' } } },
|
|
125
|
+
React.createElement("h3", null,
|
|
126
|
+
React.createElement(Icon, { iconName: "BulletedList", style: { marginRight: '8px' } }),
|
|
127
|
+
"Example 3: useSPFxPnPList - CRUD Operations"),
|
|
128
|
+
React.createElement(Separator, null),
|
|
129
|
+
React.createElement(Stack, { horizontal: true, tokens: { childrenGap: 6 } },
|
|
130
|
+
React.createElement(TextField, { label: "List Title", value: listTitle, onChange: function (_, newValue) { return setListTitle(newValue !== null && newValue !== void 0 ? newValue : ''); }, placeholder: "e.g., Site Pages", styles: { root: { flexGrow: 1 } } }),
|
|
131
|
+
React.createElement(PrimaryButton, { text: "Load", onClick: handleLoadList, disabled: !listTitle || loading, styles: { root: { marginTop: '28px' } } })),
|
|
132
|
+
error && (React.createElement(MessageBar, { onDismiss: clearError }, error.message)),
|
|
133
|
+
listTitle && (React.createElement(Stack, { horizontal: true, tokens: { childrenGap: 6 }, styles: { root: { padding: '8px', backgroundColor: '#f3f2f1', borderRadius: '4px' } } },
|
|
134
|
+
React.createElement(TextField, { value: newTitle, onChange: function (_, newValue) { return setNewTitle(newValue !== null && newValue !== void 0 ? newValue : ''); }, placeholder: "New item title...", styles: { root: { flexGrow: 1 } } }),
|
|
135
|
+
React.createElement(PrimaryButton, { text: "Create", onClick: handleCreate, disabled: !newTitle || loading }))),
|
|
136
|
+
loading && React.createElement(MessageBar, null, "Loading..."),
|
|
137
|
+
isEmpty && !loading && React.createElement(MessageBar, null, "No items found."),
|
|
138
|
+
items.length > 0 && (React.createElement(Stack, { tokens: { childrenGap: 3 } },
|
|
139
|
+
React.createElement(Label, null,
|
|
140
|
+
"Items (",
|
|
141
|
+
items.length,
|
|
142
|
+
"):"),
|
|
143
|
+
items.map(function (item) { return (React.createElement(Stack, { key: item.Id, horizontal: true, tokens: { childrenGap: 6 }, styles: { root: { padding: '6px', backgroundColor: '#faf9f8', borderRadius: '4px' } } }, editingId === item.Id ? (React.createElement(React.Fragment, null,
|
|
144
|
+
React.createElement(TextField, { value: editTitle, onChange: function (_, v) { return setEditTitle(v !== null && v !== void 0 ? v : ''); }, styles: { root: { flexGrow: 1 } } }),
|
|
145
|
+
React.createElement(DefaultButton, { text: "Save", onClick: function () { return handleUpdate(item.Id); } }),
|
|
146
|
+
React.createElement(DefaultButton, { text: "Cancel", onClick: function () { setEditingId(null); setEditTitle(''); } }))) : (React.createElement(React.Fragment, null,
|
|
147
|
+
React.createElement("div", { style: { flexGrow: 1 } },
|
|
148
|
+
"#",
|
|
149
|
+
item.Id,
|
|
150
|
+
" - ",
|
|
151
|
+
item.Title),
|
|
152
|
+
React.createElement(DefaultButton, { text: "Edit", onClick: function () { setEditingId(item.Id); setEditTitle(item.Title); } }),
|
|
153
|
+
React.createElement(DefaultButton, { text: "Delete", onClick: function () { return handleDelete(item.Id); } }))))); }),
|
|
154
|
+
hasMore && React.createElement(PrimaryButton, { text: "Load More", onClick: loadMore, disabled: loading }))),
|
|
155
|
+
React.createElement(Label, null,
|
|
156
|
+
React.createElement(Icon, { iconName: "InfoSolid", style: { marginRight: '4px', color: '#0078d4' } }),
|
|
157
|
+
"Complete CRUD with auto-refetch. Try with \"Site Pages\" or \"Documents\".")));
|
|
158
|
+
};
|
|
159
|
+
//# sourceMappingURL=PnPListDemo.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PnPListDemo.js","sourceRoot":"","sources":["../../../../../src/webparts/spFxReactToolkitTest/components/demos/PnPListDemo.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import '@pnp/sp/webs';
|
|
3
|
+
import '@pnp/sp/lists';
|
|
4
|
+
import '@pnp/sp/site-users';
|
|
5
|
+
/**
|
|
6
|
+
* Example 2: useSPFxPnP
|
|
7
|
+
* Shows invoke() for single operations and batch() for multiple operations
|
|
8
|
+
*/
|
|
9
|
+
export declare const PnPOperationsDemo: React.FC;
|
|
10
|
+
//# sourceMappingURL=PnPOperationsDemo.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PnPOperationsDemo.d.ts","sourceRoot":"","sources":["../../../../../src/webparts/spFxReactToolkitTest/components/demos/PnPOperationsDemo.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAY/B,OAAO,cAAc,CAAC;AACtB,OAAO,eAAe,CAAC;AACvB,OAAO,oBAAoB,CAAC;AAE5B;;;GAGG;AACH,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAgHrC,CAAC"}
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
11
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
12
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
13
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
14
|
+
function step(op) {
|
|
15
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
16
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
17
|
+
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;
|
|
18
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
19
|
+
switch (op[0]) {
|
|
20
|
+
case 0: case 1: t = op; break;
|
|
21
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
22
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
23
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
24
|
+
default:
|
|
25
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
26
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
27
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
28
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
29
|
+
if (t[2]) _.ops.pop();
|
|
30
|
+
_.trys.pop(); continue;
|
|
31
|
+
}
|
|
32
|
+
op = body.call(thisArg, _);
|
|
33
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
34
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
import * as React from 'react';
|
|
38
|
+
import { Stack, PrimaryButton, MessageBar, MessageBarType, Separator, Label, Icon, } from '@fluentui/react';
|
|
39
|
+
import { useSPFxPnP } from '../../../../hooks';
|
|
40
|
+
import { InfoRow } from '../shared';
|
|
41
|
+
import '@pnp/sp/webs';
|
|
42
|
+
import '@pnp/sp/lists';
|
|
43
|
+
import '@pnp/sp/site-users';
|
|
44
|
+
/**
|
|
45
|
+
* Example 2: useSPFxPnP
|
|
46
|
+
* Shows invoke() for single operations and batch() for multiple operations
|
|
47
|
+
*/
|
|
48
|
+
export var PnPOperationsDemo = function () {
|
|
49
|
+
var _a = useSPFxPnP(), invoke = _a.invoke, batch = _a.batch, isLoading = _a.isLoading, error = _a.error, clearError = _a.clearError;
|
|
50
|
+
var _b = React.useState([]), lists = _b[0], setLists = _b[1];
|
|
51
|
+
var _c = React.useState(null), batchData = _c[0], setBatchData = _c[1];
|
|
52
|
+
var handleInvokeLists = React.useCallback(function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
53
|
+
var result, err_1;
|
|
54
|
+
return __generator(this, function (_a) {
|
|
55
|
+
switch (_a.label) {
|
|
56
|
+
case 0:
|
|
57
|
+
_a.trys.push([0, 2, , 3]);
|
|
58
|
+
clearError();
|
|
59
|
+
return [4 /*yield*/, invoke(function (sp) {
|
|
60
|
+
return sp.web.lists
|
|
61
|
+
.select('Title', 'ItemCount')
|
|
62
|
+
.filter('Hidden eq false')
|
|
63
|
+
.top(10)();
|
|
64
|
+
})];
|
|
65
|
+
case 1:
|
|
66
|
+
result = _a.sent();
|
|
67
|
+
setLists(result);
|
|
68
|
+
return [3 /*break*/, 3];
|
|
69
|
+
case 2:
|
|
70
|
+
err_1 = _a.sent();
|
|
71
|
+
console.error('Invoke error:', err_1);
|
|
72
|
+
return [3 /*break*/, 3];
|
|
73
|
+
case 3: return [2 /*return*/];
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
}); }, [invoke, clearError]);
|
|
77
|
+
var handleBatchOperations = React.useCallback(function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
78
|
+
var results, listsResult, userResult, webResult, err_2;
|
|
79
|
+
return __generator(this, function (_a) {
|
|
80
|
+
switch (_a.label) {
|
|
81
|
+
case 0:
|
|
82
|
+
_a.trys.push([0, 2, , 3]);
|
|
83
|
+
clearError();
|
|
84
|
+
return [4 /*yield*/, batch(function (batchedSP) { return __awaiter(void 0, void 0, void 0, function () {
|
|
85
|
+
var listsPromise, userPromise, webPromise;
|
|
86
|
+
return __generator(this, function (_a) {
|
|
87
|
+
listsPromise = batchedSP.web.lists.select('Title').top(5)();
|
|
88
|
+
userPromise = batchedSP.web.currentUser.select('Title')();
|
|
89
|
+
webPromise = batchedSP.web.select('Title')();
|
|
90
|
+
// Wait for all batched operations to complete
|
|
91
|
+
return [2 /*return*/, Promise.all([listsPromise, userPromise, webPromise])];
|
|
92
|
+
});
|
|
93
|
+
}); })];
|
|
94
|
+
case 1:
|
|
95
|
+
results = _a.sent();
|
|
96
|
+
listsResult = results[0], userResult = results[1], webResult = results[2];
|
|
97
|
+
setBatchData({
|
|
98
|
+
lists: listsResult,
|
|
99
|
+
user: userResult,
|
|
100
|
+
webTitle: webResult.Title
|
|
101
|
+
});
|
|
102
|
+
return [3 /*break*/, 3];
|
|
103
|
+
case 2:
|
|
104
|
+
err_2 = _a.sent();
|
|
105
|
+
console.error('Batch error:', err_2);
|
|
106
|
+
return [3 /*break*/, 3];
|
|
107
|
+
case 3: return [2 /*return*/];
|
|
108
|
+
}
|
|
109
|
+
});
|
|
110
|
+
}); }, [batch, clearError]);
|
|
111
|
+
return (React.createElement(Stack, { tokens: { childrenGap: 10 }, styles: { root: { padding: '16px', border: '1px solid #edebe9', borderRadius: '4px' } } },
|
|
112
|
+
React.createElement("h3", null,
|
|
113
|
+
React.createElement(Icon, { iconName: "CloudUpload", style: { marginRight: '8px' } }),
|
|
114
|
+
"Example 2: useSPFxPnP - Operations & Batching"),
|
|
115
|
+
React.createElement(Separator, null),
|
|
116
|
+
error && (React.createElement(MessageBar, { messageBarType: MessageBarType.error, onDismiss: clearError }, error.message)),
|
|
117
|
+
React.createElement(Stack, { tokens: { childrenGap: 8 } },
|
|
118
|
+
React.createElement(Label, null, "Single Operation with invoke()"),
|
|
119
|
+
React.createElement(PrimaryButton, { text: isLoading ? 'Loading...' : 'Load Lists (invoke)', onClick: handleInvokeLists, disabled: isLoading, iconProps: { iconName: 'BulletedList' } }),
|
|
120
|
+
lists.length > 0 && (React.createElement(Stack, { tokens: { childrenGap: 4 }, styles: { root: { padding: '12px', backgroundColor: '#f3f2f1', borderRadius: '4px' } } },
|
|
121
|
+
React.createElement(Label, null, "Lists (top 10, non-hidden):"),
|
|
122
|
+
lists.map(function (list, idx) { return (React.createElement("div", { key: idx, style: { padding: '4px 0', borderBottom: idx < lists.length - 1 ? '1px solid #edebe9' : 'none' } },
|
|
123
|
+
React.createElement("strong", null, list.Title),
|
|
124
|
+
" - ",
|
|
125
|
+
list.ItemCount,
|
|
126
|
+
" items")); })))),
|
|
127
|
+
React.createElement(Stack, { tokens: { childrenGap: 8 } },
|
|
128
|
+
React.createElement(Label, null, "Batch Operations with batch()"),
|
|
129
|
+
React.createElement(PrimaryButton, { text: isLoading ? 'Loading...' : 'Load Multiple (batch)', onClick: handleBatchOperations, disabled: isLoading, iconProps: { iconName: 'Streaming' } }),
|
|
130
|
+
batchData && (React.createElement(Stack, { tokens: { childrenGap: 8 }, styles: { root: { padding: '12px', backgroundColor: '#f3f2f1', borderRadius: '4px' } } },
|
|
131
|
+
React.createElement(InfoRow, { label: "Web Title", value: batchData.webTitle, icon: "CityNext" }),
|
|
132
|
+
React.createElement(InfoRow, { label: "Current User", value: batchData.user.Title, icon: "Contact" }),
|
|
133
|
+
React.createElement(Label, null, "Lists (top 5):"),
|
|
134
|
+
batchData.lists.map(function (list, idx) { return (React.createElement("div", { key: idx, style: { paddingLeft: '16px' } },
|
|
135
|
+
"\u2022 ",
|
|
136
|
+
list.Title)); })))),
|
|
137
|
+
React.createElement(Label, null,
|
|
138
|
+
React.createElement(Icon, { iconName: "InfoSolid", style: { marginRight: '4px', color: '#0078d4' } }),
|
|
139
|
+
"invoke() for single operations, batch() combines multiple requests into ONE HTTP call for better performance.")));
|
|
140
|
+
};
|
|
141
|
+
//# sourceMappingURL=PnPOperationsDemo.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PnPOperationsDemo.js","sourceRoot":"","sources":["../../../../../src/webparts/spFxReactToolkitTest/components/demos/PnPOperationsDemo.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EACL,KAAK,EACL,aAAa,EACb,UAAU,EACV,cAAc,EACd,SAAS,EACT,KAAK,EACL,IAAI,GACL,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,cAAc,CAAC;AACtB,OAAO,eAAe,CAAC;AACvB,OAAO,oBAAoB,CAAC;AAE5B;;;GAGG;AACH,MAAM,CAAC,IAAM,iBAAiB,GAAa;IACnC,IAAA,KAAkD,UAAU,EAAE,EAA5D,MAAM,YAAA,EAAE,KAAK,WAAA,EAAE,SAAS,eAAA,EAAE,KAAK,WAAA,EAAE,UAAU,gBAAiB,CAAC;IAC/D,IAAA,KAAoB,KAAK,CAAC,QAAQ,CAA8C,EAAE,CAAC,EAAlF,KAAK,QAAA,EAAE,QAAQ,QAAmE,CAAC;IACpF,IAAA,KAA4B,KAAK,CAAC,QAAQ,CAItC,IAAI,CAAC,EAJR,SAAS,QAAA,EAAE,YAAY,QAIf,CAAC;IAEhB,IAAM,iBAAiB,GAAG,KAAK,CAAC,WAAW,CAAC;;;;;;oBAExC,UAAU,EAAE,CAAC;oBACE,qBAAM,MAAM,CAAC,UAAA,EAAE;4BAC5B,OAAA,EAAE,CAAC,GAAG,CAAC,KAAK;iCACT,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC;iCAC5B,MAAM,CAAC,iBAAiB,CAAC;iCACzB,GAAG,CAAC,EAAE,CAAC,EAAE;wBAHZ,CAGY,CACb,EAAA;;oBALK,MAAM,GAAG,SAKd;oBACD,QAAQ,CAAC,MAAM,CAAC,CAAC;;;;oBAEjB,OAAO,CAAC,KAAK,CAAC,eAAe,EAAE,KAAG,CAAC,CAAC;;;;;SAEvC,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;IAEzB,IAAM,qBAAqB,GAAG,KAAK,CAAC,WAAW,CAAC;;;;;;oBAE5C,UAAU,EAAE,CAAC;oBAEG,qBAAM,KAAK,CAAC,UAAO,SAAS;;;gCAEpC,YAAY,GAAG,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gCAC5D,WAAW,GAAG,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;gCAC1D,UAAU,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;gCAEnD,8CAA8C;gCAC9C,sBAAO,OAAO,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC,EAAC;;6BAC7D,CAAC,EAAA;;oBARI,OAAO,GAAG,SAQd;oBAEK,WAAW,GAA2B,OAAO,GAAlC,EAAE,UAAU,GAAe,OAAO,GAAtB,EAAE,SAAS,GAAI,OAAO,GAAX,CAAY;oBAErD,YAAY,CAAC;wBACX,KAAK,EAAE,WAAW;wBAClB,IAAI,EAAE,UAAU;wBAChB,QAAQ,EAAE,SAAS,CAAC,KAAK;qBAC1B,CAAC,CAAC;;;;oBAEH,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,KAAG,CAAC,CAAC;;;;;SAEtC,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC;IAExB,OAAO,CACL,oBAAC,KAAK,IAAC,MAAM,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB,EAAE,YAAY,EAAE,KAAK,EAAE,EAAE;QACzH;YACE,oBAAC,IAAI,IAAC,QAAQ,EAAC,aAAa,EAAC,KAAK,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,GAAI;4DAE3D;QACL,oBAAC,SAAS,OAAG;QAEZ,KAAK,IAAI,CACR,oBAAC,UAAU,IAAC,cAAc,EAAE,cAAc,CAAC,KAAK,EAAE,SAAS,EAAE,UAAU,IACpE,KAAK,CAAC,OAAO,CACH,CACd;QAGD,oBAAC,KAAK,IAAC,MAAM,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE;YAC/B,oBAAC,KAAK,yCAAuC;YAC7C,oBAAC,aAAa,IACZ,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,qBAAqB,EACtD,OAAO,EAAE,iBAAiB,EAC1B,QAAQ,EAAE,SAAS,EACnB,SAAS,EAAE,EAAE,QAAQ,EAAE,cAAc,EAAE,GACvC;YACD,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,CACnB,oBAAC,KAAK,IAAC,MAAM,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,EAAE;gBACvH,oBAAC,KAAK,sCAAoC;gBACzC,KAAK,CAAC,GAAG,CAAC,UAAC,IAAI,EAAE,GAAG,IAAK,OAAA,CACxB,6BAAK,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,MAAM,EAAE;oBAC7G,oCAAS,IAAI,CAAC,KAAK,CAAU;;oBAAI,IAAI,CAAC,SAAS;6BAC3C,CACP,EAJyB,CAIzB,CAAC,CACI,CACT,CACK;QAGR,oBAAC,KAAK,IAAC,MAAM,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE;YAC/B,oBAAC,KAAK,wCAAsC;YAC5C,oBAAC,aAAa,IACZ,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,uBAAuB,EACxD,OAAO,EAAE,qBAAqB,EAC9B,QAAQ,EAAE,SAAS,EACnB,SAAS,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,GACpC;YACD,SAAS,IAAI,CACZ,oBAAC,KAAK,IAAC,MAAM,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,EAAE;gBACvH,oBAAC,OAAO,IAAC,KAAK,EAAC,WAAW,EAAC,KAAK,EAAE,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAC,UAAU,GAAG;gBACxE,oBAAC,OAAO,IAAC,KAAK,EAAC,cAAc,EAAC,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAC,SAAS,GAAG;gBAC5E,oBAAC,KAAK,yBAAuB;gBAC5B,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,UAAC,IAAI,EAAE,GAAG,IAAK,OAAA,CAClC,6BAAK,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE;;oBAAK,IAAI,CAAC,KAAK,CAAO,CACpE,EAFmC,CAEnC,CAAC,CACI,CACT,CACK;QAER,oBAAC,KAAK;YACJ,oBAAC,IAAI,IAAC,QAAQ,EAAC,WAAW,EAAC,KAAK,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,GAAI;4HAExE,CACF,CACT,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PnPSearchAdvancedDemo.d.ts","sourceRoot":"","sources":["../../../../../src/webparts/spFxReactToolkitTest/components/demos/PnPSearchAdvancedDemo.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAa/B;;GAEG;AACH,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EA6GzC,CAAC"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { Stack, PrimaryButton, DefaultButton, MessageBar, MessageBarType, Separator, Label, Icon, } from '@fluentui/react';
|
|
3
|
+
import { useSPFxPnPSearch, SearchVerticals } from '../../../../hooks';
|
|
4
|
+
/**
|
|
5
|
+
* Example 4: Advanced Search with Builder and Verticals
|
|
6
|
+
*/
|
|
7
|
+
export var PnPSearchAdvancedDemo = function () {
|
|
8
|
+
var _a = React.useState('All'), selectedVertical = _a[0], setSelectedVertical = _a[1];
|
|
9
|
+
var _b = useSPFxPnPSearch({
|
|
10
|
+
pageSize: 5,
|
|
11
|
+
selectProperties: ['Title', 'Path', 'Author', 'LastModifiedTime', 'FileType']
|
|
12
|
+
}), search = _b.search, results = _b.results, totalResults = _b.totalResults, loading = _b.loading, loadMore = _b.loadMore, hasMore = _b.hasMore, error = _b.error, clearError = _b.clearError;
|
|
13
|
+
var getVerticalSourceId = function (vertical) {
|
|
14
|
+
switch (vertical) {
|
|
15
|
+
case 'People': return SearchVerticals.People;
|
|
16
|
+
case 'Documents': return SearchVerticals.Documents;
|
|
17
|
+
case 'Pages': return SearchVerticals.Pages;
|
|
18
|
+
case 'Videos': return SearchVerticals.Videos;
|
|
19
|
+
default: return undefined;
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
var handleSearch = React.useCallback(function (query) {
|
|
23
|
+
search(function (builder) {
|
|
24
|
+
var result = builder.text(query).sortList({ Property: 'LastModifiedTime', Direction: 1 });
|
|
25
|
+
var sourceId = getVerticalSourceId(selectedVertical);
|
|
26
|
+
if (sourceId)
|
|
27
|
+
result = result.sourceId(sourceId);
|
|
28
|
+
return result;
|
|
29
|
+
}).catch(function (err) { return console.error('Search error:', err); });
|
|
30
|
+
}, [search, selectedVertical]);
|
|
31
|
+
return (React.createElement(Stack, { tokens: { childrenGap: 10 }, styles: { root: { padding: '16px', border: '1px solid #edebe9', borderRadius: '4px' } } },
|
|
32
|
+
React.createElement("h3", null,
|
|
33
|
+
React.createElement(Icon, { iconName: "SearchAndApps", style: { marginRight: '8px' } }),
|
|
34
|
+
"Example 2: Advanced Search with Builder"),
|
|
35
|
+
React.createElement(Separator, null),
|
|
36
|
+
error && (React.createElement(MessageBar, { messageBarType: MessageBarType.error, onDismiss: clearError }, error.message)),
|
|
37
|
+
React.createElement(Stack, { horizontal: true, tokens: { childrenGap: 6 }, wrap: true }, ['All', 'Documents', 'Pages', 'People', 'Videos'].map(function (v) { return (React.createElement(DefaultButton, { key: v, text: v, onClick: function () { return setSelectedVertical(v); }, primary: selectedVertical === v })); })),
|
|
38
|
+
React.createElement(Stack, { horizontal: true, tokens: { childrenGap: 6 } },
|
|
39
|
+
React.createElement(PrimaryButton, { text: "Search All", onClick: function () { return handleSearch('*'); }, disabled: loading }),
|
|
40
|
+
React.createElement(DefaultButton, { text: "Search Documents", onClick: function () { return handleSearch('filetype:docx OR filetype:pdf'); }, disabled: loading })),
|
|
41
|
+
totalResults !== undefined && (React.createElement(MessageBar, { messageBarType: MessageBarType.info },
|
|
42
|
+
"Found ",
|
|
43
|
+
totalResults,
|
|
44
|
+
" result",
|
|
45
|
+
totalResults !== 1 ? 's' : '',
|
|
46
|
+
" in \"",
|
|
47
|
+
selectedVertical,
|
|
48
|
+
"\"")),
|
|
49
|
+
results.length > 0 && (React.createElement(Stack, { tokens: { childrenGap: 6 } },
|
|
50
|
+
results.map(function (result) { return (React.createElement(Stack, { key: result.id, tokens: { childrenGap: 2 }, styles: { root: { padding: '10px', backgroundColor: '#f3f2f1', borderRadius: '4px' } } },
|
|
51
|
+
React.createElement("div", { style: { fontWeight: 600 } }, result.data.Title || '(No Title)'),
|
|
52
|
+
React.createElement(Label, null,
|
|
53
|
+
result.data.Author,
|
|
54
|
+
" - ",
|
|
55
|
+
result.data.LastModifiedTime ? new Date(result.data.LastModifiedTime).toLocaleDateString() : 'N/A'),
|
|
56
|
+
React.createElement("a", { href: result.data.Path, target: "_blank", rel: "noopener noreferrer", style: { fontSize: '11px' } }, result.data.Path))); }),
|
|
57
|
+
hasMore && (React.createElement(PrimaryButton, { text: loading ? 'Loading...' : 'Load More', onClick: loadMore, disabled: loading })))),
|
|
58
|
+
React.createElement(Label, null,
|
|
59
|
+
React.createElement(Icon, { iconName: "InfoSolid", style: { marginRight: '4px', color: '#0078d4' } }),
|
|
60
|
+
"Builder API with verticals (People, Documents, Pages, Videos) and pagination.")));
|
|
61
|
+
};
|
|
62
|
+
//# sourceMappingURL=PnPSearchAdvancedDemo.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PnPSearchAdvancedDemo.js","sourceRoot":"","sources":["../../../../../src/webparts/spFxReactToolkitTest/components/demos/PnPSearchAdvancedDemo.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PnPSearchBasicDemo.d.ts","sourceRoot":"","sources":["../../../../../src/webparts/spFxReactToolkitTest/components/demos/PnPSearchBasicDemo.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAa/B;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EA0FtC,CAAC"}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
11
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
12
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
13
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
14
|
+
function step(op) {
|
|
15
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
16
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
17
|
+
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;
|
|
18
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
19
|
+
switch (op[0]) {
|
|
20
|
+
case 0: case 1: t = op; break;
|
|
21
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
22
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
23
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
24
|
+
default:
|
|
25
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
26
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
27
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
28
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
29
|
+
if (t[2]) _.ops.pop();
|
|
30
|
+
_.trys.pop(); continue;
|
|
31
|
+
}
|
|
32
|
+
op = body.call(thisArg, _);
|
|
33
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
34
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
import * as React from 'react';
|
|
38
|
+
import { Stack, TextField, PrimaryButton, MessageBar, MessageBarType, Separator, Label, Icon, } from '@fluentui/react';
|
|
39
|
+
import { useSPFxPnPSearch } from '../../../../hooks';
|
|
40
|
+
/**
|
|
41
|
+
* Example 3: useSPFxPnPSearch - Basic Search
|
|
42
|
+
*/
|
|
43
|
+
export var PnPSearchBasicDemo = function () {
|
|
44
|
+
var _a = React.useState(''), searchText = _a[0], setSearchText = _a[1];
|
|
45
|
+
var _b = useSPFxPnPSearch({
|
|
46
|
+
pageSize: 10
|
|
47
|
+
}), search = _b.search, results = _b.results, totalResults = _b.totalResults, loading = _b.loading, error = _b.error, clearError = _b.clearError;
|
|
48
|
+
var handleSearch = React.useCallback(function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
49
|
+
var err_1;
|
|
50
|
+
return __generator(this, function (_a) {
|
|
51
|
+
switch (_a.label) {
|
|
52
|
+
case 0:
|
|
53
|
+
if (!searchText.trim())
|
|
54
|
+
return [2 /*return*/];
|
|
55
|
+
_a.label = 1;
|
|
56
|
+
case 1:
|
|
57
|
+
_a.trys.push([1, 3, , 4]);
|
|
58
|
+
return [4 /*yield*/, search(searchText)];
|
|
59
|
+
case 2:
|
|
60
|
+
_a.sent();
|
|
61
|
+
return [3 /*break*/, 4];
|
|
62
|
+
case 3:
|
|
63
|
+
err_1 = _a.sent();
|
|
64
|
+
console.error('Search error:', err_1);
|
|
65
|
+
return [3 /*break*/, 4];
|
|
66
|
+
case 4: return [2 /*return*/];
|
|
67
|
+
}
|
|
68
|
+
});
|
|
69
|
+
}); }, [searchText, search]);
|
|
70
|
+
return (React.createElement(Stack, { tokens: { childrenGap: 10 }, styles: { root: { padding: '16px', border: '1px solid #edebe9', borderRadius: '4px' } } },
|
|
71
|
+
React.createElement("h3", null,
|
|
72
|
+
React.createElement(Icon, { iconName: "Search", style: { marginRight: '8px' } }),
|
|
73
|
+
"Example 1: Basic Search"),
|
|
74
|
+
React.createElement(Separator, null),
|
|
75
|
+
error && (React.createElement(MessageBar, { messageBarType: MessageBarType.error, onDismiss: clearError }, error.message)),
|
|
76
|
+
React.createElement(Stack, { horizontal: true, tokens: { childrenGap: 8 } },
|
|
77
|
+
React.createElement(TextField, { value: searchText, onChange: function (_, newValue) { return setSearchText(newValue !== null && newValue !== void 0 ? newValue : ''); }, placeholder: "Search SharePoint...", styles: { root: { flexGrow: 1 } }, onKeyDown: function (e) {
|
|
78
|
+
if (e.key === 'Enter') {
|
|
79
|
+
handleSearch().catch(function (err) { return console.error('Search error:', err); });
|
|
80
|
+
}
|
|
81
|
+
} }),
|
|
82
|
+
React.createElement(PrimaryButton, { text: loading ? 'Searching...' : 'Search', onClick: handleSearch, disabled: !searchText.trim() || loading, iconProps: { iconName: 'Search' } })),
|
|
83
|
+
totalResults !== undefined && (React.createElement(MessageBar, { messageBarType: MessageBarType.info },
|
|
84
|
+
"Found ",
|
|
85
|
+
totalResults,
|
|
86
|
+
" result",
|
|
87
|
+
totalResults !== 1 ? 's' : '')),
|
|
88
|
+
results.length > 0 ? (React.createElement(Stack, { tokens: { childrenGap: 6 } }, results.map(function (result) { return (React.createElement(Stack, { key: result.id, tokens: { childrenGap: 4 }, styles: { root: { padding: '10px', backgroundColor: '#faf9f8', borderRadius: '4px' } } },
|
|
89
|
+
React.createElement("div", { style: { fontWeight: 600 } }, result.data.Title || '(No Title)'),
|
|
90
|
+
React.createElement("a", { href: result.data.Path, target: "_blank", rel: "noopener noreferrer", style: { fontSize: '12px' } }, result.data.Path),
|
|
91
|
+
result.data.FileType && React.createElement(Label, null,
|
|
92
|
+
"Type: ",
|
|
93
|
+
result.data.FileType))); }))) : totalResults === 0 ? (React.createElement(MessageBar, null, "No results found. Try a different query.")) : null,
|
|
94
|
+
React.createElement(Label, null,
|
|
95
|
+
React.createElement(Icon, { iconName: "InfoSolid", style: { marginRight: '4px', color: '#0078d4' } }),
|
|
96
|
+
"Simple text search. Try: \"document\", \"report\", \"ContentType:Document\"")));
|
|
97
|
+
};
|
|
98
|
+
//# sourceMappingURL=PnPSearchBasicDemo.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PnPSearchBasicDemo.js","sourceRoot":"","sources":["../../../../../src/webparts/spFxReactToolkitTest/components/demos/PnPSearchBasicDemo.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PnPSearchRefinersDemo.d.ts","sourceRoot":"","sources":["../../../../../src/webparts/spFxReactToolkitTest/components/demos/PnPSearchRefinersDemo.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAa/B;;GAEG;AACH,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EA2FzC,CAAC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { Stack, PrimaryButton, DefaultButton, MessageBar, MessageBarType, Separator, Label, Icon, } from '@fluentui/react';
|
|
3
|
+
import { useSPFxPnPSearch } from '../../../../hooks';
|
|
4
|
+
/**
|
|
5
|
+
* Example 5: Faceted Search with Refiners
|
|
6
|
+
*/
|
|
7
|
+
export var PnPSearchRefinersDemo = function () {
|
|
8
|
+
var _a = useSPFxPnPSearch({
|
|
9
|
+
pageSize: 10,
|
|
10
|
+
selectProperties: ['Title', 'Path', 'FileType', 'Author'],
|
|
11
|
+
refiners: 'FileType,Author'
|
|
12
|
+
}), search = _a.search, results = _a.results, refiners = _a.refiners, totalResults = _a.totalResults, loading = _a.loading, applyRefiner = _a.applyRefiner, error = _a.error, clearError = _a.clearError;
|
|
13
|
+
var handleSearch = React.useCallback(function () {
|
|
14
|
+
search('*').catch(function (err) { return console.error('Search error:', err); });
|
|
15
|
+
}, [search]);
|
|
16
|
+
return (React.createElement(Stack, { tokens: { childrenGap: 10 }, styles: { root: { padding: '16px', border: '1px solid #edebe9', borderRadius: '4px' } } },
|
|
17
|
+
React.createElement("h3", null,
|
|
18
|
+
React.createElement(Icon, { iconName: "FilterSettings", style: { marginRight: '8px' } }),
|
|
19
|
+
"Example 3: Faceted Search with Refiners"),
|
|
20
|
+
React.createElement(Separator, null),
|
|
21
|
+
error && (React.createElement(MessageBar, { messageBarType: MessageBarType.error, onDismiss: clearError }, error.message)),
|
|
22
|
+
React.createElement(PrimaryButton, { text: loading ? 'Loading...' : 'Search All Content', onClick: handleSearch, disabled: loading, iconProps: { iconName: 'Search' } }),
|
|
23
|
+
totalResults !== undefined && (React.createElement(Label, null,
|
|
24
|
+
React.createElement(Icon, { iconName: "SearchIssue", style: { marginRight: '4px', color: '#0078d4' } }),
|
|
25
|
+
"Found ",
|
|
26
|
+
totalResults,
|
|
27
|
+
" results")),
|
|
28
|
+
React.createElement(Stack, { horizontal: true, tokens: { childrenGap: 12 }, styles: { root: { alignItems: 'flex-start' } } },
|
|
29
|
+
refiners.length > 0 && (React.createElement(Stack, { tokens: { childrenGap: 8 }, styles: { root: { width: '200px', padding: '8px', backgroundColor: '#f3f2f1', borderRadius: '4px' } } },
|
|
30
|
+
React.createElement(Label, { style: { fontWeight: 600 } }, "Filters"),
|
|
31
|
+
refiners.map(function (refiner) { return (React.createElement(Stack, { key: refiner.name, tokens: { childrenGap: 2 } },
|
|
32
|
+
React.createElement(Label, null, refiner.name),
|
|
33
|
+
refiner.entries.slice(0, 5).map(function (entry) { return (React.createElement(DefaultButton, { key: entry.value, text: "".concat(entry.value, " (").concat(entry.count, ")"), onClick: function () { return applyRefiner(refiner.name, entry.value); }, styles: { root: { height: '28px', fontSize: '12px' } } })); }))); }))),
|
|
34
|
+
React.createElement(Stack, { tokens: { childrenGap: 6 }, styles: { root: { flexGrow: 1 } } }, results.length > 0 ? (results.map(function (result) { return (React.createElement(Stack, { key: result.id, tokens: { childrenGap: 2 }, styles: { root: { padding: '8px', backgroundColor: '#faf9f8', borderRadius: '4px' } } },
|
|
35
|
+
React.createElement("div", { style: { fontWeight: 600 } }, result.data.Title || '(No Title)'),
|
|
36
|
+
React.createElement(Label, null,
|
|
37
|
+
result.data.FileType,
|
|
38
|
+
" | ",
|
|
39
|
+
result.data.Author),
|
|
40
|
+
React.createElement("a", { href: result.data.Path, target: "_blank", rel: "noopener noreferrer", style: { fontSize: '11px' } }, result.data.Path))); })) : (React.createElement(Label, null, "Click \"Search All Content\" to see results.")))),
|
|
41
|
+
React.createElement(Label, null,
|
|
42
|
+
React.createElement(Icon, { iconName: "InfoSolid", style: { marginRight: '4px', color: '#0078d4' } }),
|
|
43
|
+
"Faceted search with FileType and Author refiners. Click to filter/toggle.")));
|
|
44
|
+
};
|
|
45
|
+
//# sourceMappingURL=PnPSearchRefinersDemo.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PnPSearchRefinersDemo.js","sourceRoot":"","sources":["../../../../../src/webparts/spFxReactToolkitTest/components/demos/PnPSearchRefinersDemo.tsx"],"names":[],"mappings":"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"}
|