mgwdev-m365-components 0.0.2 → 0.0.3

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 (76) hide show
  1. package/{dist → lib}/App.d.ts +3 -3
  2. package/lib/App.js +212 -0
  3. package/{dist → lib}/components/Test.d.ts +4 -4
  4. package/lib/components/Test.js +37 -0
  5. package/lib/components/common/GraphPersona.d.ts +10 -0
  6. package/lib/components/common/GraphPersona.js +125 -0
  7. package/lib/components/common/graphEntityPicker/AbstractGraphEntityPicker.d.ts +16 -0
  8. package/lib/components/common/graphEntityPicker/AbstractGraphEntityPicker.js +117 -0
  9. package/lib/components/common/graphEntityPicker/ChannelPicker.d.ts +11 -0
  10. package/lib/components/common/graphEntityPicker/ChannelPicker.js +83 -0
  11. package/lib/components/common/graphEntityPicker/DrivePicker.d.ts +11 -0
  12. package/lib/components/common/graphEntityPicker/DrivePicker.js +77 -0
  13. package/lib/components/common/graphEntityPicker/ListPicker.d.ts +11 -0
  14. package/lib/components/common/graphEntityPicker/ListPicker.js +77 -0
  15. package/lib/components/common/graphEntityPicker/PeoplePicker.d.ts +8 -0
  16. package/lib/components/common/graphEntityPicker/PeoplePicker.js +76 -0
  17. package/lib/components/common/graphEntityPicker/SitePicker.d.ts +8 -0
  18. package/lib/components/common/graphEntityPicker/SitePicker.js +73 -0
  19. package/lib/components/common/graphEntityPicker/TeamPicker.d.ts +8 -0
  20. package/lib/components/common/graphEntityPicker/TeamPicker.js +77 -0
  21. package/lib/components/common/graphEntityPicker/index.d.ts +6 -0
  22. package/lib/components/common/graphEntityPicker/index.js +6 -0
  23. package/lib/components/common/index.d.ts +2 -0
  24. package/lib/components/common/index.js +2 -0
  25. package/lib/components/index.d.ts +2 -0
  26. package/lib/components/index.js +2 -0
  27. package/lib/components/provisioning/GetSiteTemplate.d.ts +6 -0
  28. package/lib/components/provisioning/GetSiteTemplate.js +41 -0
  29. package/lib/components/search/DefaultDocumentCard.d.ts +7 -0
  30. package/lib/components/search/DefaultDocumentCard.js +59 -0
  31. package/lib/components/search/M365Search.d.ts +18 -0
  32. package/lib/components/search/M365Search.js +69 -0
  33. package/lib/components/search/SearchDefaults.d.ts +1 -0
  34. package/lib/components/search/SearchDefaults.js +17 -0
  35. package/lib/components/search/index.d.ts +2 -0
  36. package/lib/components/search/index.js +2 -0
  37. package/{dist → lib}/context/AuthenticationContext.d.ts +11 -13
  38. package/lib/context/AuthenticationContext.js +50 -0
  39. package/lib/context/DataverseContext.d.ts +13 -0
  40. package/lib/context/DataverseContext.js +29 -0
  41. package/{dist → lib}/context/GraphContext.d.ts +11 -11
  42. package/lib/context/GraphContext.js +26 -0
  43. package/{dist → lib}/context/SPContext.d.ts +13 -13
  44. package/lib/context/SPContext.js +30 -0
  45. package/{dist → lib}/context/index.d.ts +4 -3
  46. package/lib/context/index.js +4 -0
  47. package/lib/index.d.ts +2 -0
  48. package/lib/index.js +2 -0
  49. package/{dist → lib}/main.d.ts +1 -1
  50. package/lib/main.js +6 -0
  51. package/lib/model/IEntityWithIdAndDisplayName.d.ts +4 -0
  52. package/lib/model/IEntityWithIdAndDisplayName.js +1 -0
  53. package/lib/model/ISearchResult.d.ts +19 -0
  54. package/lib/model/ISearchResult.js +1 -0
  55. package/lib/model/index.d.ts +1 -0
  56. package/lib/model/index.js +1 -0
  57. package/lib/model/infra/ICacheEntry.d.ts +4 -0
  58. package/lib/model/infra/ICacheEntry.js +1 -0
  59. package/lib/service-worker/sw.d.ts +3 -0
  60. package/lib/service-worker/sw.js +20 -0
  61. package/lib/services/PersonaService.d.ts +12 -0
  62. package/lib/services/PersonaService.js +134 -0
  63. package/lib/utils/FileUtils.d.ts +29 -0
  64. package/lib/utils/FileUtils.js +200 -0
  65. package/lib/utils/StringUtils.d.ts +1 -0
  66. package/lib/utils/StringUtils.js +10 -0
  67. package/lib/utils/ThumbnailUtils.d.ts +7 -0
  68. package/lib/utils/ThumbnailUtils.js +92 -0
  69. package/lib/utils/index.d.ts +3 -0
  70. package/lib/utils/index.js +3 -0
  71. package/package.json +2 -5
  72. package/dist/components/index.d.ts +0 -0
  73. package/dist/index.d.ts +0 -1
  74. package/dist/mwdev-m365-components.es.js +0 -10570
  75. package/dist/mwdev-m365-components.umd.js +0 -57
  76. package/dist/vite.svg +0 -1
@@ -0,0 +1,69 @@
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
+ };
@@ -0,0 +1 @@
1
+ export declare const defaultSelectFields: string[];
@@ -0,0 +1,17 @@
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
+ ];
@@ -0,0 +1,2 @@
1
+ export * from "./M365Search";
2
+ export * from "./SearchDefaults";
@@ -0,0 +1,2 @@
1
+ export * from "./M365Search";
2
+ export * from "./SearchDefaults";
@@ -1,13 +1,11 @@
1
- import { IAuthenticationService, IMsalAuthenticationConfig } from "mgwdev-m365-helpers";
2
- import * as React from "react";
3
- export interface IAuthenticationContextProps {
4
- authProvider: IAuthenticationService;
5
- }
6
- export interface IAuthenticationContextProviderProps extends React.PropsWithChildren<{}> {
7
- authProvider?: IAuthenticationService;
8
- authProviderFactory?: () => Promise<IAuthenticationService>;
9
- msalAuthConfig?: IMsalAuthenticationConfig;
10
- }
11
- export declare const AuthenticationContext: React.Context<IAuthenticationContextProps>;
12
- export declare const useAuthentication: () => IAuthenticationContextProps;
13
- export declare const AuthenticationContextProvider: (props: IAuthenticationContextProviderProps) => React.JSX.Element;
1
+ import { IAuthenticationService } from "mgwdev-m365-helpers";
2
+ import * as React from "react";
3
+ export interface IAuthenticationContextProps {
4
+ authProvider: IAuthenticationService;
5
+ }
6
+ export interface IAuthenticationContextProviderProps extends React.PropsWithChildren<{}> {
7
+ authProvider?: IAuthenticationService;
8
+ }
9
+ export declare const AuthenticationContext: React.Context<IAuthenticationContextProps>;
10
+ export declare const useAuthentication: () => IAuthenticationContextProps;
11
+ export declare const AuthenticationContextProvider: (props: IAuthenticationContextProviderProps) => React.JSX.Element;
@@ -0,0 +1,50 @@
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
+ };
@@ -0,0 +1,13 @@
1
+ import * as React from "react";
2
+ import { IHttpClient } from "mgwdev-m365-helpers";
3
+ export interface IDataverseContextProps {
4
+ dataverseClient: IHttpClient;
5
+ dataverseResource?: string;
6
+ }
7
+ export interface IDataverseContextProviderProps extends React.PropsWithChildren<{}> {
8
+ dataverseResource: string;
9
+ dataverseClient?: IHttpClient;
10
+ }
11
+ export declare const DataverseContext: React.Context<IDataverseContextProps>;
12
+ export declare const useDataverse: () => IDataverseContextProps;
13
+ export declare const DataverseContextProvider: (props: IDataverseContextProviderProps) => React.JSX.Element;
@@ -0,0 +1,29 @@
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,11 +1,11 @@
1
- import * as React from "react";
2
- import { IHttpClient } from "mgwdev-m365-helpers";
3
- export interface IGraphContextProps {
4
- graphClient: IHttpClient;
5
- }
6
- export interface IGraphContextProviderProps extends React.PropsWithChildren<{}> {
7
- graphClient?: IHttpClient;
8
- }
9
- export declare const GraphContext: React.Context<IGraphContextProps>;
10
- export declare const useGraph: () => IGraphContextProps;
11
- export declare const GraphContextProvider: (props: IGraphContextProviderProps) => React.JSX.Element;
1
+ import * as React from "react";
2
+ import { IHttpClient } from "mgwdev-m365-helpers";
3
+ export interface IGraphContextProps {
4
+ graphClient: IHttpClient;
5
+ }
6
+ export interface IGraphContextProviderProps extends React.PropsWithChildren<{}> {
7
+ graphClient?: IHttpClient;
8
+ }
9
+ export declare const GraphContext: React.Context<IGraphContextProps>;
10
+ export declare const useGraph: () => IGraphContextProps;
11
+ export declare const GraphContextProvider: (props: IGraphContextProviderProps) => React.JSX.Element;
@@ -0,0 +1,26 @@
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,13 +1,13 @@
1
- import * as React from "react";
2
- import { IHttpClient } from "mgwdev-m365-helpers";
3
- export interface ISPContextProps {
4
- siteUrl: string;
5
- spClient: IHttpClient;
6
- }
7
- export interface ISPContextProviderProps extends React.PropsWithChildren<{}> {
8
- siteUrl: string;
9
- spClient?: IHttpClient;
10
- }
11
- export declare const SPContext: React.Context<ISPContextProps>;
12
- export declare const useSP: () => ISPContextProps;
13
- export declare const SPContextProvider: (props: ISPContextProviderProps) => React.JSX.Element;
1
+ import * as React from "react";
2
+ import { IHttpClient } from "mgwdev-m365-helpers";
3
+ export interface ISPContextProps {
4
+ spClient: IHttpClient;
5
+ siteUrl: string;
6
+ }
7
+ export interface ISPContextProviderProps extends React.PropsWithChildren<{}> {
8
+ spClient?: IHttpClient;
9
+ siteUrl: string;
10
+ }
11
+ export declare const SPContext: React.Context<ISPContextProps>;
12
+ export declare const useSP: () => ISPContextProps;
13
+ export declare const SPContextProvider: (props: ISPContextProviderProps) => React.JSX.Element;
@@ -0,0 +1,30 @@
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,3 +1,4 @@
1
- export * from "./AuthenticationContext";
2
- export * from "./GraphContext";
3
- export * from "./SPContext";
1
+ export * from "./AuthenticationContext";
2
+ export * from "./GraphContext";
3
+ export * from "./SPContext";
4
+ export * from "./DataverseContext";
@@ -0,0 +1,4 @@
1
+ export * from "./AuthenticationContext";
2
+ export * from "./GraphContext";
3
+ export * from "./SPContext";
4
+ export * from "./DataverseContext";
package/lib/index.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ export * from "./context";
2
+ export * from "./components";
package/lib/index.js ADDED
@@ -0,0 +1,2 @@
1
+ export * from "./context";
2
+ export * from "./components";
@@ -1 +1 @@
1
- export {};
1
+ export {};
package/lib/main.js ADDED
@@ -0,0 +1,6 @@
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)));
@@ -0,0 +1,4 @@
1
+ export interface IEntityWithIdAndDisplayName {
2
+ id: string;
3
+ displayName: string;
4
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,19 @@
1
+ export interface IGraphSearchResult<T> {
2
+ fields: T;
3
+ }
4
+ export interface IDocumentSearchResult {
5
+ title: string;
6
+ path: string;
7
+ author: string;
8
+ description: string;
9
+ listItemId: string;
10
+ identityListItemId: string;
11
+ identityListId: string;
12
+ identitySiteCollectionId: string;
13
+ identityWebId: string;
14
+ lastModifiedTime: string;
15
+ viewsLifeTime: string;
16
+ viewsRecent: string;
17
+ owstaxidmetadataalltagsinfo: string;
18
+ driveId: string;
19
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export * from "./ISearchResult";
@@ -0,0 +1 @@
1
+ export * from "./ISearchResult";
@@ -0,0 +1,4 @@
1
+ export interface ICacheEntry<T> {
2
+ data: T;
3
+ expiration: number;
4
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,3 @@
1
+ /// <reference lib="webworker" />
2
+ declare const _default: any;
3
+ export default _default;
@@ -0,0 +1,20 @@
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;
@@ -0,0 +1,12 @@
1
+ import { IHttpClient } from "mgwdev-m365-helpers/lib/dal/http/IHttpClient";
2
+ import { ICacheService } from "mgwdev-m365-helpers/lib/services/cache";
3
+ import { IUser } from "mgwdev-m365-helpers";
4
+ export declare class PersonaService {
5
+ protected graphClient: IHttpClient;
6
+ updatePresence?: boolean;
7
+ storageService: ICacheService;
8
+ protected key: string;
9
+ cacheExpiration: number;
10
+ constructor(graphClient: IHttpClient, updatePresence?: boolean);
11
+ getUser(id?: string, size?: "48x48" | "64x64" | "96x96" | "120x120" | "240x240"): Promise<IUser>;
12
+ }
@@ -0,0 +1,134 @@
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 };
@@ -0,0 +1,29 @@
1
+ export declare const DOCICONURL_XLSX = "https://static2.sharepointonline.com/files/fabric/assets/item-types/32/xlsx.png";
2
+ export declare const DOCICONURL_DOCX = "https://static2.sharepointonline.com/files/fabric/assets/item-types/32/docx.png";
3
+ export declare const DOCICONURL_PPTX = "https://static2.sharepointonline.com/files/fabric/assets/item-types/32/pptx.png";
4
+ export declare const DOCICONURL_MPPX = "https://static2.sharepointonline.com/files/fabric/assets/item-types/32/mpp.png";
5
+ export declare const DOCICONURL_PHOTO = "https://static2.sharepointonline.com/files/fabric/assets/item-types/32/photo.png";
6
+ export declare const DOCICONURL_PDF = "https://static2.sharepointonline.com/files/fabric/assets/item-types/32/pdf.png";
7
+ export declare const DOCICONURL_TXT = "https://static2.sharepointonline.com/files/fabric/assets/item-types/32/txt.png";
8
+ export declare const DOCICONURL_EMAIL = "https://static2.sharepointonline.com/files/fabric/assets/item-types/32/email.png";
9
+ export declare const DOCICONURL_CSV = "https://static2.sharepointonline.com/files/fabric/assets/item-types/32/csv.png";
10
+ export declare const DOCICONURL_ONE = "https://static2.sharepointonline.com/files/fabric/assets/item-types/32/one.png";
11
+ export declare const DOCICONURL_VSDX = "https://static2.sharepointonline.com/files/fabric/assets/item-types/32/vsdx.png";
12
+ export declare const DOCICONURL_VSSX = "https://static2.sharepointonline.com/files/fabric/assets/item-types/32/vssx.png";
13
+ export declare const DOCICONURL_PUB = "https://static2.sharepointonline.com/files/fabric/assets/item-types/32/pub.png";
14
+ export declare const DOCICONURL_ACCDB = "https://static2.sharepointonline.com/files/fabric/assets/item-types/32/accdb.png";
15
+ export declare const DOCICONURL_ZIP = "https://static2.sharepointonline.com/files/fabric/assets/item-types/32/zip.png";
16
+ export declare const DOCICONURL_GENERIC = "https://static2.sharepointonline.com/files/fabric/assets/item-types/32/genericfile.png";
17
+ export declare const DOCICONURL_CODE = "https://static2.sharepointonline.com/files/fabric/assets/item-types/32/code.png";
18
+ export declare const DOCICONURL_HTML = "https://static2.sharepointonline.com/files/fabric/assets/item-types/32/html.png";
19
+ export declare const DOCICONURL_XML = "https://static2.sharepointonline.com/files/fabric/assets/item-types/32/xml.png";
20
+ export declare const DOCICONURL_SPO = "https://static2.sharepointonline.com/files/fabric/assets/item-types/32/spo.png";
21
+ export declare const DOCICONURL_VIDEO = "https://static2.sharepointonline.com/files/fabric/assets/item-types/32/video.png";
22
+ export default class FileUtils {
23
+ /**
24
+ * GetFileImageUrl
25
+ */
26
+ static getFileImageUrl(_file: string): string;
27
+ static getShortName: (name: string) => string;
28
+ static isOndrive: (name: string) => Promise<boolean>;
29
+ }