mgwdev-m365-components 0.0.3 → 0.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (78) hide show
  1. package/{lib → dist}/App.d.ts +3 -3
  2. package/{lib → dist}/components/Test.d.ts +4 -4
  3. package/dist/components/common/ConditionalRenderComponent.d.ts +7 -0
  4. package/dist/components/common/GraphGroupMembershipTrimmedComponent.d.ts +10 -0
  5. package/{lib → dist}/components/common/GraphPersona.d.ts +12 -10
  6. package/dist/components/common/SPPermissionTrimmedComponent.d.ts +11 -0
  7. package/{lib → dist}/components/common/graphEntityPicker/AbstractGraphEntityPicker.d.ts +16 -16
  8. package/{lib → dist}/components/common/graphEntityPicker/ChannelPicker.d.ts +11 -11
  9. package/{lib → dist}/components/common/graphEntityPicker/DrivePicker.d.ts +11 -11
  10. package/{lib → dist}/components/common/graphEntityPicker/ListPicker.d.ts +11 -11
  11. package/{lib → dist}/components/common/graphEntityPicker/PeoplePicker.d.ts +8 -8
  12. package/{lib → dist}/components/common/graphEntityPicker/SitePicker.d.ts +8 -8
  13. package/{lib → dist}/components/common/graphEntityPicker/TeamPicker.d.ts +8 -8
  14. package/{lib → dist}/components/common/graphEntityPicker/index.d.ts +6 -6
  15. package/dist/components/common/index.d.ts +4 -0
  16. package/{lib → dist}/components/index.d.ts +2 -2
  17. package/{lib → dist}/components/search/DefaultDocumentCard.d.ts +7 -7
  18. package/{lib → dist}/components/search/M365Search.d.ts +18 -18
  19. package/{lib → dist}/components/search/SearchDefaults.d.ts +1 -1
  20. package/{lib → dist}/components/search/index.d.ts +2 -2
  21. package/{lib → dist}/context/AuthenticationContext.d.ts +11 -11
  22. package/{lib → dist}/context/DataverseContext.d.ts +13 -13
  23. package/{lib → dist}/context/GraphContext.d.ts +11 -11
  24. package/{lib → dist}/context/SPContext.d.ts +13 -13
  25. package/{lib → dist}/context/index.d.ts +4 -4
  26. package/{lib → dist}/index.d.ts +2 -2
  27. package/{lib → dist}/main.d.ts +1 -1
  28. package/{lib → dist}/model/IEntityWithIdAndDisplayName.d.ts +4 -4
  29. package/{lib → dist}/model/ISearchResult.d.ts +19 -19
  30. package/{lib → dist}/model/index.d.ts +1 -1
  31. package/{lib → dist}/model/infra/ICacheEntry.d.ts +4 -4
  32. package/dist/mwdev-m365-components.es.js +15417 -0
  33. package/dist/mwdev-m365-components.umd.js +145 -0
  34. package/{lib → dist}/services/PersonaService.d.ts +12 -12
  35. package/{lib → dist}/utils/FileUtils.d.ts +29 -29
  36. package/{lib → dist}/utils/StringUtils.d.ts +1 -1
  37. package/{lib → dist}/utils/ThumbnailUtils.d.ts +7 -7
  38. package/{lib → dist}/utils/index.d.ts +3 -3
  39. package/dist/vite.svg +1 -0
  40. package/package.json +70 -67
  41. package/lib/App.js +0 -212
  42. package/lib/components/Test.js +0 -37
  43. package/lib/components/common/GraphPersona.js +0 -125
  44. package/lib/components/common/graphEntityPicker/AbstractGraphEntityPicker.js +0 -117
  45. package/lib/components/common/graphEntityPicker/ChannelPicker.js +0 -83
  46. package/lib/components/common/graphEntityPicker/DrivePicker.js +0 -77
  47. package/lib/components/common/graphEntityPicker/ListPicker.js +0 -77
  48. package/lib/components/common/graphEntityPicker/PeoplePicker.js +0 -76
  49. package/lib/components/common/graphEntityPicker/SitePicker.js +0 -73
  50. package/lib/components/common/graphEntityPicker/TeamPicker.js +0 -77
  51. package/lib/components/common/graphEntityPicker/index.js +0 -6
  52. package/lib/components/common/index.d.ts +0 -2
  53. package/lib/components/common/index.js +0 -2
  54. package/lib/components/index.js +0 -2
  55. package/lib/components/provisioning/GetSiteTemplate.d.ts +0 -6
  56. package/lib/components/provisioning/GetSiteTemplate.js +0 -41
  57. package/lib/components/search/DefaultDocumentCard.js +0 -59
  58. package/lib/components/search/M365Search.js +0 -69
  59. package/lib/components/search/SearchDefaults.js +0 -17
  60. package/lib/components/search/index.js +0 -2
  61. package/lib/context/AuthenticationContext.js +0 -50
  62. package/lib/context/DataverseContext.js +0 -29
  63. package/lib/context/GraphContext.js +0 -26
  64. package/lib/context/SPContext.js +0 -30
  65. package/lib/context/index.js +0 -4
  66. package/lib/index.js +0 -2
  67. package/lib/main.js +0 -6
  68. package/lib/model/IEntityWithIdAndDisplayName.js +0 -1
  69. package/lib/model/ISearchResult.js +0 -1
  70. package/lib/model/index.js +0 -1
  71. package/lib/model/infra/ICacheEntry.js +0 -1
  72. package/lib/service-worker/sw.d.ts +0 -3
  73. package/lib/service-worker/sw.js +0 -20
  74. package/lib/services/PersonaService.js +0 -134
  75. package/lib/utils/FileUtils.js +0 -200
  76. package/lib/utils/StringUtils.js +0 -10
  77. package/lib/utils/ThumbnailUtils.js +0 -92
  78. package/lib/utils/index.js +0 -3
@@ -1,77 +0,0 @@
1
- var __assign = (this && this.__assign) || function () {
2
- __assign = Object.assign || function(t) {
3
- for (var s, i = 1, n = arguments.length; i < n; i++) {
4
- s = arguments[i];
5
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
- t[p] = s[p];
7
- }
8
- return t;
9
- };
10
- return __assign.apply(this, arguments);
11
- };
12
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
13
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
14
- return new (P || (P = Promise))(function (resolve, reject) {
15
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
16
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
17
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
18
- step((generator = generator.apply(thisArg, _arguments || [])).next());
19
- });
20
- };
21
- var __generator = (this && this.__generator) || function (thisArg, body) {
22
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
23
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
24
- function verb(n) { return function (v) { return step([n, v]); }; }
25
- function step(op) {
26
- if (f) throw new TypeError("Generator is already executing.");
27
- while (_) try {
28
- 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;
29
- if (y = 0, t) op = [op[0] & 2, t.value];
30
- switch (op[0]) {
31
- case 0: case 1: t = op; break;
32
- case 4: _.label++; return { value: op[1], done: false };
33
- case 5: _.label++; y = op[1]; op = [0]; continue;
34
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
35
- default:
36
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
37
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
38
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
39
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
40
- if (t[2]) _.ops.pop();
41
- _.trys.pop(); continue;
42
- }
43
- op = body.call(thisArg, _);
44
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
45
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
46
- }
47
- };
48
- import * as React from "react";
49
- import { AbstractGraphEntityPicker } from "./AbstractGraphEntityPicker";
50
- import { useGraph } from "../../../context";
51
- export function TeamPicker(props) {
52
- var graphClient = useGraph().graphClient;
53
- return React.createElement(TeamPickerStandalone, __assign({}, props, { graphClient: graphClient }));
54
- }
55
- export function TeamPickerStandalone(props) {
56
- var _this = this;
57
- var getData = function (search) { return __awaiter(_this, void 0, void 0, function () {
58
- var api, response, result;
59
- return __generator(this, function (_a) {
60
- switch (_a.label) {
61
- case 0:
62
- api = "/teams?$select=id,displayName&$top=8";
63
- if (search) {
64
- api += "&$filter=startswith(displayName, '".concat(search, "')");
65
- }
66
- return [4 /*yield*/, props.graphClient.get(api)];
67
- case 1:
68
- response = _a.sent();
69
- return [4 /*yield*/, response.json()];
70
- case 2:
71
- result = _a.sent();
72
- return [2 /*return*/, result.value];
73
- }
74
- });
75
- }); };
76
- return React.createElement(AbstractGraphEntityPicker, __assign({ additionalKey: "team-site-picker" }, props, { onDataRequested: getData }));
77
- }
@@ -1,6 +0,0 @@
1
- export * from "./AbstractGraphEntityPicker";
2
- export * from "./ChannelPicker";
3
- export * from "./DrivePicker";
4
- export * from "./TeamPicker";
5
- export * from "./PeoplePicker";
6
- export * from "./SitePicker";
@@ -1,2 +0,0 @@
1
- export * from "./GraphPersona";
2
- export * from "./graphEntityPicker";
@@ -1,2 +0,0 @@
1
- export * from "./GraphPersona";
2
- export * from "./graphEntityPicker";
@@ -1,2 +0,0 @@
1
- export * from "./search";
2
- export * from "./common";
@@ -1,6 +0,0 @@
1
- import * as React from "react";
2
- export interface IGetSiteTemplateProps {
3
- siteUrl: string;
4
- }
5
- export declare function GetSiteTemplate(props: IGetSiteTemplateProps): React.JSX.Element;
6
- export declare function GetSiteTemplateContext(): React.JSX.Element;
@@ -1,41 +0,0 @@
1
- import { Button } from "@fluentui/react-components";
2
- import * as React from "react";
3
- import { useSP } from "../../context";
4
- import { TemplateProvider } from "mgwdev-m365-helpers/lib/services/provisioning/TemplateProvider";
5
- export function GetSiteTemplate(props) {
6
- var _a = React.useState(undefined), template = _a[0], setTemplate = _a[1];
7
- var _b = React.useState(0), progress = _b[0], setProgress = _b[1];
8
- var _c = React.useState(false), loading = _c[0], setLoading = _c[1];
9
- var _d = React.useState(""), stage = _d[0], setStage = _d[1];
10
- var _e = useSP(), spClient = _e.spClient, siteUrl = _e.siteUrl;
11
- var provider = React.useRef(new TemplateProvider(spClient, siteUrl));
12
- provider.current.onProgress = function (message, percent) {
13
- setProgress(percent);
14
- setStage(message);
15
- };
16
- return (React.createElement("div", null,
17
- React.createElement(Button, { appearance: "primary", onClick: function () {
18
- setLoading(true);
19
- setProgress(0);
20
- setStage("Lists");
21
- provider.current.getSiteTemplate().then(function (template) {
22
- setTemplate(template);
23
- setLoading(false);
24
- ;
25
- });
26
- } }, "Get template"),
27
- React.createElement(Button, { disabled: !template, appearance: "primary", onClick: function () {
28
- var blob = new Blob([JSON.stringify(template, null, 2)], { type: "application/json" });
29
- var url = URL.createObjectURL(blob);
30
- var a = document.createElement('a');
31
- a.href = url;
32
- a.download = "template.json";
33
- document.body.appendChild(a);
34
- a.click();
35
- window.URL.revokeObjectURL(url);
36
- } }, "Download Template")));
37
- }
38
- export function GetSiteTemplateContext() {
39
- var siteUrl = useSP().siteUrl;
40
- return React.createElement(GetSiteTemplate, { siteUrl: siteUrl });
41
- }
@@ -1,59 +0,0 @@
1
- var __assign = (this && this.__assign) || function () {
2
- __assign = Object.assign || function(t) {
3
- for (var s, i = 1, n = arguments.length; i < n; i++) {
4
- s = arguments[i];
5
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
- t[p] = s[p];
7
- }
8
- return t;
9
- };
10
- return __assign.apply(this, arguments);
11
- };
12
- import * as React from "react";
13
- import { useGraph } from "../../context";
14
- import { ThumbnailUtils } from "../../utils";
15
- import { Body1, Button, Caption1, Card, CardFooter, CardHeader, CardPreview, makeStyles, shorthands, tokens } from "@fluentui/react-components";
16
- import FileUtils from "../../utils/FileUtils";
17
- var useStyles = makeStyles({
18
- title: __assign({}, shorthands.margin(0, 0, "12px")),
19
- description: __assign({}, shorthands.margin(0, 0, "12px")),
20
- card: {
21
- width: "20rem",
22
- maxWidth: "100%",
23
- height: "fit-content",
24
- },
25
- image: {
26
- width: "20rem",
27
- height: "7rem",
28
- },
29
- text: __assign({}, shorthands.margin(0)),
30
- imageIconWrapper: {
31
- width: "20rem!important",
32
- height: "7rem!important",
33
- display: "flex!important",
34
- justifyContent: "center",
35
- alignItems: "center",
36
- backgroundColor: tokens.colorNeutralBackground3,
37
- }
38
- });
39
- export var DefaultDocumentCard = function (props) {
40
- var graphClient = useGraph().graphClient;
41
- var styles = useStyles();
42
- var _a = React.useState(undefined), thumbnail = _a[0], setThumbnail = _a[1];
43
- React.useEffect(function () {
44
- ThumbnailUtils.getThumbnailImageFromGraph(props.document.fields, graphClient).then(function (thumbnail) {
45
- setThumbnail(thumbnail);
46
- }).catch(function (error) {
47
- console.error(error);
48
- });
49
- }, []);
50
- return React.createElement(Card, { className: styles.card },
51
- React.createElement(CardPreview, null, thumbnail ? React.createElement("img", { src: thumbnail, alt: props.document.fields.title, className: styles.image }) :
52
- React.createElement("div", { className: styles.imageIconWrapper },
53
- React.createElement("div", null,
54
- React.createElement("img", { src: FileUtils.getFileImageUrl(props.document.fields.path), width: "32px", height: "32px", alt: props.document.fields.title })))),
55
- React.createElement(CardHeader, { image: React.createElement("img", { src: FileUtils.getFileImageUrl(props.document.fields.path), width: "32px", height: "32px", alt: props.document.fields.title }), header: React.createElement(Body1, null,
56
- React.createElement("b", null, props.document.fields.title)), description: React.createElement(Caption1, null, props.document.fields.author), action: React.createElement(Button, { appearance: "transparent", "aria-label": "More options" }) }),
57
- React.createElement("p", { className: styles.text }, props.document.fields.description),
58
- React.createElement(CardFooter, null));
59
- };
@@ -1,69 +0,0 @@
1
- var __assign = (this && this.__assign) || function () {
2
- __assign = Object.assign || function(t) {
3
- for (var s, i = 1, n = arguments.length; i < n; i++) {
4
- s = arguments[i];
5
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
- t[p] = s[p];
7
- }
8
- return t;
9
- };
10
- return __assign.apply(this, arguments);
11
- };
12
- import * as React from "react";
13
- import { useGraph } from "../../context";
14
- import { GraphSearchPagedDataProvider } from "mgwdev-m365-helpers";
15
- import { Input, Spinner, makeStyles, shorthands, tokens } from "@fluentui/react-components";
16
- import { Search20Regular } from "@fluentui/react-icons";
17
- import { defaultSelectFields } from "./SearchDefaults";
18
- import { DefaultDocumentCard } from "./DefaultDocumentCard";
19
- var useSearchStyles = makeStyles({
20
- wrapper: {},
21
- searchInput: {},
22
- searchResults: __assign({ display: "flex", flexWrap: "wrap", flexDirection: "row" }, shorthands.gap(tokens.spacingHorizontalL, tokens.spacingVerticalL)),
23
- });
24
- export var M365Search = function (props) {
25
- var _a, _b;
26
- var graphClient = useGraph().graphClient;
27
- var classNames = useSearchStyles();
28
- var searchClient = React.useMemo(function () {
29
- var _a, _b, _c, _d, _e, _f, _g, _h;
30
- var provider = new GraphSearchPagedDataProvider(graphClient, [(_b = (_a = props.dataProviderProps) === null || _a === void 0 ? void 0 : _a.entityType) !== null && _b !== void 0 ? _b : "listItem"], ((_c = props.dataProviderProps) === null || _c === void 0 ? void 0 : _c.selectFields) || defaultSelectFields);
31
- provider.queryTemplate = (_d = props.dataProviderProps) === null || _d === void 0 ? void 0 : _d.queryTemplate;
32
- provider.pageSize = (_e = props.dataProviderProps) === null || _e === void 0 ? void 0 : _e.pageSize;
33
- provider.setRefiners((_f = props.dataProviderProps) === null || _f === void 0 ? void 0 : _f.aggregations);
34
- provider.setQuery((_h = (_g = props.dataProviderProps) === null || _g === void 0 ? void 0 : _g.initialQuery) !== null && _h !== void 0 ? _h : "");
35
- return provider;
36
- }, [graphClient, props.dataProviderProps]);
37
- var _c = React.useState(true), loading = _c[0], setLoading = _c[1];
38
- var _d = React.useState((_b = (_a = props.dataProviderProps) === null || _a === void 0 ? void 0 : _a.initialQuery) !== null && _b !== void 0 ? _b : ""), query = _d[0], setQuery = _d[1];
39
- var _e = React.useState([]), results = _e[0], setResults = _e[1];
40
- var _f = React.useState(undefined), error = _f[0], setError = _f[1];
41
- React.useEffect(function () {
42
- searchClient.setQuery(query);
43
- setLoading(true);
44
- searchClient.getData().then(function (data) {
45
- setResults(data);
46
- setError(undefined);
47
- }).catch(function (error) {
48
- setError(error.message);
49
- }).finally(function () {
50
- setLoading(false);
51
- });
52
- }, [query]);
53
- var renderSearchInput = function () {
54
- if (props === null || props === void 0 ? void 0 : props.searchInputComponent) {
55
- return React.createElement(props.searchInputComponent, { onSearch: function (query) { setQuery(query); } });
56
- }
57
- return React.createElement(Input, { contentBefore: React.createElement(Search20Regular, null), placeholder: "Search", value: query, onChange: function (e) { setQuery(e.target.value); } });
58
- };
59
- return (React.createElement("div", null,
60
- React.createElement("div", null, renderSearchInput()),
61
- React.createElement("div", null,
62
- loading && React.createElement(Spinner, { label: "Loading..." }),
63
- !loading && error && React.createElement("div", null,
64
- "Error: ",
65
- error)),
66
- React.createElement("div", { className: classNames.searchResults }, results.map(function (result, index) {
67
- return React.createElement("div", { key: index }, (props === null || props === void 0 ? void 0 : props.onResultRendering) ? props.onResultRendering(result) : React.createElement(DefaultDocumentCard, { document: result }));
68
- }))));
69
- };
@@ -1,17 +0,0 @@
1
- export var defaultSelectFields = [
2
- "Title",
3
- "Path",
4
- "Description",
5
- "ListItemId",
6
- "IdentityListItemId",
7
- "IdentityListId",
8
- "IdentitySiteCollectionId",
9
- "IdentityWebId",
10
- "LastModifiedTime",
11
- "ViewsLifeTime",
12
- "ViewsRecent",
13
- "owstaxidmetadataalltagsinfo",
14
- "DriveId",
15
- "Author",
16
- "AuthorOwsUser",
17
- ];
@@ -1,2 +0,0 @@
1
- export * from "./M365Search";
2
- export * from "./SearchDefaults";
@@ -1,50 +0,0 @@
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 (_) 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
- export var AuthenticationContext = React.createContext({
39
- authProvider: {
40
- getAccessToken: function () { return __awaiter(void 0, void 0, void 0, function () { return __generator(this, function (_a) {
41
- throw new Error("No auth provider available");
42
- }); }); }
43
- }
44
- });
45
- export var useAuthentication = function () { return React.useContext(AuthenticationContext); };
46
- export var AuthenticationContextProvider = function (props) {
47
- return (React.createElement(AuthenticationContext.Provider, { value: {
48
- authProvider: props.authProvider
49
- } }, props.children));
50
- };
@@ -1,29 +0,0 @@
1
- import * as React from "react";
2
- import { useAuthentication } from "./AuthenticationContext";
3
- import { AuthHttpClient, FetchHttpClient } from "mgwdev-m365-helpers";
4
- export var DataverseContext = React.createContext({
5
- dataverseClient: new FetchHttpClient()
6
- });
7
- export var useDataverse = function () { return React.useContext(DataverseContext); };
8
- export var DataverseContextProvider = function (props) {
9
- var authProvider = useAuthentication().authProvider;
10
- var getDataverseClient = function () {
11
- if (props.dataverseClient) {
12
- return props.dataverseClient;
13
- }
14
- else if (authProvider) {
15
- var authHttpClient = new AuthHttpClient(authProvider, new FetchHttpClient());
16
- authHttpClient.resourceUri = props.dataverseResource;
17
- return authHttpClient;
18
- }
19
- return undefined;
20
- };
21
- var _a = React.useState(getDataverseClient()), dataverseClient = _a[0], setDataverseClient = _a[1];
22
- React.useEffect(function () {
23
- setDataverseClient(getDataverseClient());
24
- }, [props.dataverseClient, authProvider]);
25
- return (dataverseClient && React.createElement(DataverseContext.Provider, { value: {
26
- dataverseClient: dataverseClient,
27
- dataverseResource: props.dataverseResource
28
- } }, props.children));
29
- };
@@ -1,26 +0,0 @@
1
- import * as React from "react";
2
- import { useAuthentication } from "./AuthenticationContext";
3
- import { AuthHttpClient, BatchGraphClient, FetchHttpClient } from "mgwdev-m365-helpers";
4
- export var GraphContext = React.createContext({
5
- graphClient: new FetchHttpClient()
6
- });
7
- export var useGraph = function () { return React.useContext(GraphContext); };
8
- export var GraphContextProvider = function (props) {
9
- var authProvider = useAuthentication().authProvider;
10
- var getGraphClient = function () {
11
- if (props.graphClient) {
12
- return props.graphClient;
13
- }
14
- else if (authProvider) {
15
- return new BatchGraphClient(new AuthHttpClient(authProvider, new FetchHttpClient()));
16
- }
17
- return undefined;
18
- };
19
- var _a = React.useState(getGraphClient()), graphClient = _a[0], setGraphClient = _a[1];
20
- React.useEffect(function () {
21
- setGraphClient(getGraphClient());
22
- }, [props.graphClient, authProvider]);
23
- return (graphClient && React.createElement(GraphContext.Provider, { value: {
24
- graphClient: graphClient
25
- } }, props.children));
26
- };
@@ -1,30 +0,0 @@
1
- import * as React from "react";
2
- import { useAuthentication } from "./AuthenticationContext";
3
- import { AuthHttpClient, FetchHttpClient } from "mgwdev-m365-helpers";
4
- export var SPContext = React.createContext({
5
- spClient: new FetchHttpClient(),
6
- siteUrl: ""
7
- });
8
- export var useSP = function () { return React.useContext(SPContext); };
9
- export var SPContextProvider = function (props) {
10
- var authProvider = useAuthentication().authProvider;
11
- var getSPClient = function () {
12
- if (props.spClient) {
13
- return props.spClient;
14
- }
15
- else if (authProvider) {
16
- var authClient = new AuthHttpClient(authProvider, new FetchHttpClient());
17
- authClient.resourceUri = new URL(props.siteUrl).origin;
18
- return authClient;
19
- }
20
- return undefined;
21
- };
22
- var _a = React.useState(getSPClient()), spClient = _a[0], setSPClient = _a[1];
23
- React.useEffect(function () {
24
- setSPClient(getSPClient());
25
- }, [props.spClient, authProvider]);
26
- return (spClient && React.createElement(SPContext.Provider, { value: {
27
- spClient: spClient,
28
- siteUrl: props.siteUrl
29
- } }, props.children));
30
- };
@@ -1,4 +0,0 @@
1
- export * from "./AuthenticationContext";
2
- export * from "./GraphContext";
3
- export * from "./SPContext";
4
- export * from "./DataverseContext";
package/lib/index.js DELETED
@@ -1,2 +0,0 @@
1
- export * from "./context";
2
- export * from "./components";
package/lib/main.js DELETED
@@ -1,6 +0,0 @@
1
- import * as React from 'react';
2
- import * as ReactDOM from 'react-dom/client';
3
- import { FluentProvider, teamsLightTheme } from '@fluentui/react-components';
4
- import App from './App';
5
- ReactDOM.createRoot(document.getElementById('root')).render(React.createElement(FluentProvider, { theme: teamsLightTheme },
6
- React.createElement(App, null)));
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export * from "./ISearchResult";
@@ -1 +0,0 @@
1
- export {};
@@ -1,3 +0,0 @@
1
- /// <reference lib="webworker" />
2
- declare const _default: any;
3
- export default _default;
@@ -1,20 +0,0 @@
1
- /// <reference lib="webworker" />
2
- self.addEventListener("notificationclick", function (event) {
3
- event.notification.close();
4
- if (event.action === "open") {
5
- //@ts-ignore
6
- clients.openWindow(event.notification.data.url);
7
- }
8
- }, false);
9
- self.addEventListener('install', function (event) {
10
- console.log('Service worker installed');
11
- self.skipWaiting();
12
- });
13
- self.addEventListener('activate', function (event) {
14
- console.log('Service worker activated');
15
- self.clients.claim();
16
- });
17
- self.addEventListener("periodicsync", function (event) {
18
- console.log("periodicsync", event);
19
- });
20
- export default self;
@@ -1,134 +0,0 @@
1
- var __assign = (this && this.__assign) || function () {
2
- __assign = Object.assign || function(t) {
3
- for (var s, i = 1, n = arguments.length; i < n; i++) {
4
- s = arguments[i];
5
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
- t[p] = s[p];
7
- }
8
- return t;
9
- };
10
- return __assign.apply(this, arguments);
11
- };
12
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
13
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
14
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
15
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
16
- return c > 3 && r && Object.defineProperty(target, key, r), r;
17
- };
18
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
19
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
20
- return new (P || (P = Promise))(function (resolve, reject) {
21
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
22
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
23
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
24
- step((generator = generator.apply(thisArg, _arguments || [])).next());
25
- });
26
- };
27
- var __generator = (this && this.__generator) || function (thisArg, body) {
28
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
29
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
30
- function verb(n) { return function (v) { return step([n, v]); }; }
31
- function step(op) {
32
- if (f) throw new TypeError("Generator is already executing.");
33
- while (_) try {
34
- 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;
35
- if (y = 0, t) op = [op[0] & 2, t.value];
36
- switch (op[0]) {
37
- case 0: case 1: t = op; break;
38
- case 4: _.label++; return { value: op[1], done: false };
39
- case 5: _.label++; y = op[1]; op = [0]; continue;
40
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
41
- default:
42
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
43
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
44
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
45
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
46
- if (t[2]) _.ops.pop();
47
- _.trys.pop(); continue;
48
- }
49
- op = body.call(thisArg, _);
50
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
51
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
52
- }
53
- };
54
- import { LocalStorageCacheService } from "mgwdev-m365-helpers/lib/services/cache";
55
- import { queueRequest } from "mgwdev-m365-helpers/lib/utils/FunctionUtils";
56
- var PersonaService = /** @class */ (function () {
57
- function PersonaService(graphClient, updatePresence) {
58
- this.graphClient = graphClient;
59
- this.updatePresence = updatePresence;
60
- this.key = "persona-cache-";
61
- this.cacheExpiration = 1000 * 60 * 60 * 4;
62
- this.storageService = new LocalStorageCacheService();
63
- }
64
- PersonaService.prototype.getUser = function (id, size) {
65
- if (size === void 0) { size = "48x48"; }
66
- return __awaiter(this, void 0, void 0, function () {
67
- var userId, userQuery_1, userRequest, userResult, userCache, user, userQuery, _a, userInfoRequest, userPhotoRequest, presenceInfo, _b, userResult, photo, presence, presenceInfo, presence;
68
- return __generator(this, function (_c) {
69
- switch (_c.label) {
70
- case 0:
71
- userId = id;
72
- if (!(id && id.indexOf("@") > -1)) return [3 /*break*/, 3];
73
- userQuery_1 = "/users/".concat(id, "?$select=id");
74
- return [4 /*yield*/, this.graphClient.get(userQuery_1)];
75
- case 1:
76
- userRequest = _c.sent();
77
- if (userRequest.status === 404) {
78
- return [2 /*return*/, null];
79
- }
80
- return [4 /*yield*/, userRequest.json()];
81
- case 2:
82
- userResult = _c.sent();
83
- userId = userResult.id;
84
- _c.label = 3;
85
- case 3:
86
- userCache = this.storageService.get(this.key + id);
87
- user = userCache === null || userCache === void 0 ? void 0 : userCache.data;
88
- userQuery = userId ? "/users/".concat(userId) : "/me";
89
- if (!(!user || userCache.expiration < new Date().getTime())) return [3 /*break*/, 6];
90
- return [4 /*yield*/, Promise.all([
91
- this.graphClient.get(userQuery + "?$select=id,displayName,mail,jobTitle,department,officeLocation,mobilePhone,businessPhones,userPrincipalName,usageLocation"),
92
- this.graphClient.get(userQuery + "/photos/".concat(size, "/$value")),
93
- this.graphClient.get(userQuery + "/presence"),
94
- ])];
95
- case 4:
96
- _a = _c.sent(), userInfoRequest = _a[0], userPhotoRequest = _a[1], presenceInfo = _a[2];
97
- return [4 /*yield*/, Promise.all([
98
- userInfoRequest.json(),
99
- userPhotoRequest.text(),
100
- presenceInfo.json(),
101
- ])];
102
- case 5:
103
- _b = _c.sent(), userResult = _b[0], photo = _b[1], presence = _b[2];
104
- user = __assign(__assign({}, userResult), { photo: "data:image/png;base64,".concat(photo.replace('"', "").replace('"', "")), presence: presence });
105
- this.storageService.set(this.key + id, {
106
- data: user,
107
- expiration: new Date().getTime() + this.cacheExpiration
108
- });
109
- return [3 /*break*/, 9];
110
- case 6:
111
- if (!this.updatePresence) return [3 /*break*/, 9];
112
- return [4 /*yield*/, this.graphClient.get(userQuery + "/presence")];
113
- case 7:
114
- presenceInfo = _c.sent();
115
- return [4 /*yield*/, presenceInfo.json()];
116
- case 8:
117
- presence = _c.sent();
118
- user = __assign(__assign({}, user), { presence: presence });
119
- this.storageService.set(this.key + id, {
120
- data: user,
121
- expiration: new Date().getTime() + this.cacheExpiration
122
- });
123
- _c.label = 9;
124
- case 9: return [2 /*return*/, user];
125
- }
126
- });
127
- });
128
- };
129
- __decorate([
130
- queueRequest("getUser-{0}")
131
- ], PersonaService.prototype, "getUser", null);
132
- return PersonaService;
133
- }());
134
- export { PersonaService };