@esri/hub-common 13.8.0 → 13.10.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/dist/esm/ArcGISContextManager.js +68 -0
- package/dist/esm/ArcGISContextManager.js.map +1 -1
- package/dist/esm/core/HubItemEntity.js +12 -0
- package/dist/esm/core/HubItemEntity.js.map +1 -1
- package/dist/esm/core/_internal/PropertyMapper.js +9 -0
- package/dist/esm/core/_internal/PropertyMapper.js.map +1 -1
- package/dist/esm/core/behaviors/IWithDiscussionsBehavior.js +1 -0
- package/dist/esm/core/behaviors/IWithDiscussionsBehavior.js.map +1 -0
- package/dist/esm/core/traits/IWithDiscussions.js +1 -0
- package/dist/esm/core/traits/IWithDiscussions.js.map +1 -0
- package/dist/esm/core/traits/index.js +1 -0
- package/dist/esm/core/traits/index.js.map +1 -1
- package/dist/esm/discussions/constants.js +2 -0
- package/dist/esm/discussions/constants.js.map +1 -0
- package/dist/esm/discussions/index.js +2 -0
- package/dist/esm/discussions/index.js.map +1 -1
- package/dist/esm/discussions/utils.js +13 -0
- package/dist/esm/discussions/utils.js.map +1 -0
- package/dist/esm/utils/sessionLocalStorage.js +10 -0
- package/dist/esm/utils/sessionLocalStorage.js.map +1 -1
- package/dist/node/ArcGISContextManager.js +68 -0
- package/dist/node/ArcGISContextManager.js.map +1 -1
- package/dist/node/core/HubItemEntity.js +12 -0
- package/dist/node/core/HubItemEntity.js.map +1 -1
- package/dist/node/core/_internal/PropertyMapper.js +9 -0
- package/dist/node/core/_internal/PropertyMapper.js.map +1 -1
- package/dist/node/core/behaviors/IWithDiscussionsBehavior.js +3 -0
- package/dist/node/core/behaviors/IWithDiscussionsBehavior.js.map +1 -0
- package/dist/node/core/traits/IWithDiscussions.js +3 -0
- package/dist/node/core/traits/IWithDiscussions.js.map +1 -0
- package/dist/node/core/traits/index.js +1 -0
- package/dist/node/core/traits/index.js.map +1 -1
- package/dist/node/discussions/constants.js +5 -0
- package/dist/node/discussions/constants.js.map +1 -0
- package/dist/node/discussions/index.js +2 -0
- package/dist/node/discussions/index.js.map +1 -1
- package/dist/node/discussions/utils.js +17 -0
- package/dist/node/discussions/utils.js.map +1 -0
- package/dist/node/utils/sessionLocalStorage.js +10 -0
- package/dist/node/utils/sessionLocalStorage.js.map +1 -1
- package/dist/types/ArcGISContextManager.d.ts +15 -0
- package/dist/types/content/_internal/internalContentUtils.d.ts +1 -0
- package/dist/types/core/HubItemEntity.d.ts +7 -1
- package/dist/types/core/behaviors/IWithDiscussionsBehavior.d.ts +10 -0
- package/dist/types/core/traits/IWithDiscussions.d.ts +9 -0
- package/dist/types/core/traits/index.d.ts +1 -0
- package/dist/types/core/types/IHubItemEntity.d.ts +2 -2
- package/dist/types/discussions/constants.d.ts +1 -0
- package/dist/types/discussions/index.d.ts +2 -0
- package/dist/types/discussions/utils.d.ts +10 -0
- package/dist/types/utils/sessionLocalStorage.d.ts +6 -0
- package/package.json +1 -1
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { getSelf, getUser } from "@esri/arcgis-rest-portal";
|
|
2
|
+
import { UserSession, } from "@esri/arcgis-rest-auth";
|
|
2
3
|
import { ArcGISContext, } from "./ArcGISContext";
|
|
4
|
+
import { atob, btoa } from "abab";
|
|
3
5
|
import { getHubApiFromPortalUrl } from "./urls/getHubApiFromPortalUrl";
|
|
4
6
|
import { getPortalBaseFromOrgUrl } from "./urls/getPortalBaseFromOrgUrl";
|
|
5
7
|
import { Level, Logger } from "./utils/logger";
|
|
@@ -74,6 +76,47 @@ export class ArcGISContextManager {
|
|
|
74
76
|
await ctx.initialize();
|
|
75
77
|
return ctx;
|
|
76
78
|
}
|
|
79
|
+
/**
|
|
80
|
+
* Create a new instance of the ArcGISContextManager from a serialized
|
|
81
|
+
* string. This is useful when you want to store the context in a
|
|
82
|
+
* browser's local storage or server side session.
|
|
83
|
+
* @param serializedContext
|
|
84
|
+
* @returns
|
|
85
|
+
*/
|
|
86
|
+
static async deserialize(serializedContext) {
|
|
87
|
+
const decoded = atob(serializedContext);
|
|
88
|
+
const state = JSON.parse(decoded);
|
|
89
|
+
// create opts and populate from state
|
|
90
|
+
const opts = {
|
|
91
|
+
portalUrl: state.portalUrl,
|
|
92
|
+
};
|
|
93
|
+
if (state.session) {
|
|
94
|
+
// re-create the session
|
|
95
|
+
const userSession = UserSession.deserialize(state.session);
|
|
96
|
+
// if the session is still valid, use it and the other properties
|
|
97
|
+
if (userSession.tokenExpires.getTime() > Date.now()) {
|
|
98
|
+
opts.authentication = userSession;
|
|
99
|
+
if (state.portal) {
|
|
100
|
+
opts.portal = state.portal;
|
|
101
|
+
}
|
|
102
|
+
if (state.currentUser) {
|
|
103
|
+
opts.currentUser = state.currentUser;
|
|
104
|
+
}
|
|
105
|
+
if (state.properties) {
|
|
106
|
+
opts.properties = state.properties;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
else {
|
|
111
|
+
// if the session is expired, we can still carry forward the portalUrl
|
|
112
|
+
// we don't need this when auth is passed b/c it will use that instead
|
|
113
|
+
// of portalUrl
|
|
114
|
+
opts.portalUrl = state.portalUrl;
|
|
115
|
+
}
|
|
116
|
+
// system status is safe to carry forward even if session is expired
|
|
117
|
+
opts.systemStatus = state.systemStatus;
|
|
118
|
+
return ArcGISContextManager.create(opts);
|
|
119
|
+
}
|
|
77
120
|
/**
|
|
78
121
|
* Set the Authentication (UserSession) for the context.
|
|
79
122
|
* This should be called when a user signs into a running
|
|
@@ -119,6 +162,31 @@ export class ArcGISContextManager {
|
|
|
119
162
|
get context() {
|
|
120
163
|
return this._context;
|
|
121
164
|
}
|
|
165
|
+
/**
|
|
166
|
+
* Serialize the context into a string that can be stored
|
|
167
|
+
* in a browser's local storage or server side session
|
|
168
|
+
*
|
|
169
|
+
* @returns encoded string representation of the context
|
|
170
|
+
*/
|
|
171
|
+
serialize() {
|
|
172
|
+
const state = {
|
|
173
|
+
portalUrl: this._portalUrl,
|
|
174
|
+
systemStatus: this._systemStatus,
|
|
175
|
+
};
|
|
176
|
+
if (this._authentication) {
|
|
177
|
+
state.session = this._authentication.serialize();
|
|
178
|
+
}
|
|
179
|
+
if (this._portalSelf) {
|
|
180
|
+
state.portal = this._portalSelf;
|
|
181
|
+
}
|
|
182
|
+
if (this._currentUser) {
|
|
183
|
+
state.currentUser = this._currentUser;
|
|
184
|
+
}
|
|
185
|
+
if (this._properties) {
|
|
186
|
+
state.properties = this._properties;
|
|
187
|
+
}
|
|
188
|
+
return btoa(JSON.stringify(state));
|
|
189
|
+
}
|
|
122
190
|
/**
|
|
123
191
|
* If we have a UserSession, fetch portal/self and
|
|
124
192
|
* store that along with current user
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArcGISContextManager.js","sourceRoot":"","sources":["../../src/ArcGISContextManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAW,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"ArcGISContextManager.js","sourceRoot":"","sources":["../../src/ArcGISContextManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,7 @@ import { addPermissionPolicy, checkPermission, removePermissionPolicy, } from ".
|
|
|
7
7
|
import { getItemThumbnailUrl } from "../resources";
|
|
8
8
|
import { cloneObject } from "../util";
|
|
9
9
|
import { sharedWith } from "./_internal/sharedWith";
|
|
10
|
+
import { CANNOT_DISCUSS } from "../discussions";
|
|
10
11
|
const FEATURED_IMAGE_FILENAME = "featuredImage.png";
|
|
11
12
|
/**
|
|
12
13
|
* Base class for all Hub Entities backed by items
|
|
@@ -243,5 +244,16 @@ export class HubItemEntity {
|
|
|
243
244
|
}
|
|
244
245
|
}
|
|
245
246
|
}
|
|
247
|
+
//#endregion IWithFeaturedImageBehavior
|
|
248
|
+
/**
|
|
249
|
+
* Updates the isDiscussable property
|
|
250
|
+
* @param isDiscussable whether to enable or disable discussions
|
|
251
|
+
*/
|
|
252
|
+
updateIsDiscussable(isDiscussable) {
|
|
253
|
+
const typeKeywords = isDiscussable
|
|
254
|
+
? this.entity.typeKeywords.filter((typeKeyword) => typeKeyword !== CANNOT_DISCUSS)
|
|
255
|
+
: [...this.entity.typeKeywords, CANNOT_DISCUSS];
|
|
256
|
+
this.update({ typeKeywords, isDiscussable });
|
|
257
|
+
}
|
|
246
258
|
}
|
|
247
259
|
//# sourceMappingURL=HubItemEntity.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HubItemEntity.js","sourceRoot":"","sources":["../../../src/core/HubItemEntity.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,kBAAkB,EAClB,aAAa,EACb,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAEL,eAAe,GAEhB,MAAM,iBAAiB,CAAC;AACzB,OAAO,QAAQ,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EACL,mBAAmB,EACnB,eAAe,EAIf,sBAAsB,GACvB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAqB,MAAM,cAAc,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAWtC,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD,MAAM,uBAAuB,GAAG,mBAAmB,CAAC;AAEpD;;GAEG;AACH,MAAM,OAAgB,aAAa;
|
|
1
|
+
{"version":3,"file":"HubItemEntity.js","sourceRoot":"","sources":["../../../src/core/HubItemEntity.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { CANNOT_DISCUSS } from "../../discussions";
|
|
2
|
+
import { isDiscussable } from "../../discussions/utils";
|
|
1
3
|
import { deepSet, getProp, setProp } from "../../objects";
|
|
2
4
|
import { cloneObject } from "../../util";
|
|
3
5
|
/**
|
|
@@ -61,6 +63,12 @@ export class PropertyMapper {
|
|
|
61
63
|
* @returns
|
|
62
64
|
*/
|
|
63
65
|
export function mapObjectToModel(object, model, mappings) {
|
|
66
|
+
var _a;
|
|
67
|
+
if ((_a = model.item) === null || _a === void 0 ? void 0 : _a.typeKeywords) {
|
|
68
|
+
model.item.typeKeywords = getProp(object, "isDiscussable")
|
|
69
|
+
? model.item.typeKeywords.filter((typeKeyword) => typeKeyword !== CANNOT_DISCUSS)
|
|
70
|
+
: [...model.item.typeKeywords, CANNOT_DISCUSS];
|
|
71
|
+
}
|
|
64
72
|
return mapProps(object, "objectKey", model, "modelKey", mappings);
|
|
65
73
|
}
|
|
66
74
|
/**
|
|
@@ -72,6 +80,7 @@ export function mapObjectToModel(object, model, mappings) {
|
|
|
72
80
|
* @returns
|
|
73
81
|
*/
|
|
74
82
|
export function mapModelToObject(model, object, mappings) {
|
|
83
|
+
setProp("isDiscussable", isDiscussable(model.item), object);
|
|
75
84
|
return mapProps(model, "modelKey", object, "objectKey", mappings);
|
|
76
85
|
}
|
|
77
86
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PropertyMapper.js","sourceRoot":"","sources":["../../../../src/core/_internal/PropertyMapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAE1D,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC;;;;;GAKG;AACH,MAAM,OAAO,cAAc;IAEzB;;;;OAIG;IACH,YAAY,QAAwB;QAClC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IACD;;;;;;;;;;;OAWG;IACH,aAAa,CAAC,KAAa,EAAE,MAAS;QACpC,MAAM,GAAG,GAAG,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC3D,qDAAqD;QAErD,iCAAiC;QACjC,wBAAwB;QACxB,iCAAiC;QACjC,wCAAwC;QACxC,OAAO,CACL,SAAS,EACT,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,EACpD,GAAG,CACJ,CAAC;QACF,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,WAAW,KAAK,OAAO,EAAE,GAAG,CAAC,CAAC;QAC9D,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;;;;;;OASG;IACH,aAAa,CAAC,MAAS,EAAE,KAAa;QACpC,OAAO,gBAAgB,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACxD,CAAC;CACF;AAeD;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB,CAC9B,MAAS,EACT,KAAa,EACb,QAAwB
|
|
1
|
+
{"version":3,"file":"PropertyMapper.js","sourceRoot":"","sources":["../../../../src/core/_internal/PropertyMapper.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=IWithDiscussionsBehavior.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IWithDiscussionsBehavior.js","sourceRoot":"","sources":["../../../../src/core/behaviors/IWithDiscussionsBehavior.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=IWithDiscussions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IWithDiscussions.js","sourceRoot":"","sources":["../../../../src/core/traits/IWithDiscussions.ts"],"names":[],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/traits/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/traits/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/discussions/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,cAAc,GAAG,eAAe,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/discussions/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/discussions/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { CANNOT_DISCUSS } from "./constants";
|
|
2
|
+
/**
|
|
3
|
+
* Utility to determine if a given IGroup, IItem, IHubContent, or IHubItemEntity
|
|
4
|
+
* is discussable.
|
|
5
|
+
* @export
|
|
6
|
+
* @param {IGroup|IItem|IHubContent|IHubItemEntity} The subject to evaluate
|
|
7
|
+
* @return {boolean}
|
|
8
|
+
*/
|
|
9
|
+
export function isDiscussable(subject) {
|
|
10
|
+
var _a;
|
|
11
|
+
return !((_a = subject.typeKeywords) !== null && _a !== void 0 ? _a : []).includes(CANNOT_DISCUSS);
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/discussions/utils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAC3B,OAAsD;;IAEtD,OAAO,CAAC,OAAC,OAAO,CAAC,YAAY,mCAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;AAChE,CAAC"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { UserSession } from "@esri/arcgis-rest-auth";
|
|
2
2
|
/**
|
|
3
|
+
* DEPRECATED: Applications should manage storage/retrieval of serialized ArcGISContexts.
|
|
4
|
+
* Please see ArcGISContextManager.serialize(...) and ArcGISContextManager.deserialize(...)
|
|
3
5
|
* Remove any serialized sessions associated with the passed clientId
|
|
4
6
|
* from a browser's local storage
|
|
5
7
|
* @param clientId oAuth Client Id
|
|
@@ -13,6 +15,8 @@ win = window) {
|
|
|
13
15
|
}
|
|
14
16
|
}
|
|
15
17
|
/**
|
|
18
|
+
* DEPRECATED: Applications should manage storage/retrieval of serialized ArcGISContexts.
|
|
19
|
+
* Please see ArcGISContextManager.serialize(...) and ArcGISContextManager.deserialize(...)
|
|
16
20
|
* Re-hydrate a UserSession from a browser's local storage.
|
|
17
21
|
* If not found,
|
|
18
22
|
* @param clientId oAuth Client Id
|
|
@@ -23,6 +27,8 @@ export function getSession(clientId,
|
|
|
23
27
|
/* istanbul ignore next */
|
|
24
28
|
win = window) {
|
|
25
29
|
let result = null;
|
|
30
|
+
// tslint:disable-next-line
|
|
31
|
+
console.warn("getSession is deprecated. App should handle storage/retrieval and use ArcGISContextManager.deserialize(...) instead.");
|
|
26
32
|
if (win.localStorage) {
|
|
27
33
|
const serializedSession = win.localStorage.getItem(`__CONTEXT_${clientId}`);
|
|
28
34
|
if (serializedSession) {
|
|
@@ -32,6 +38,8 @@ win = window) {
|
|
|
32
38
|
return result;
|
|
33
39
|
}
|
|
34
40
|
/**
|
|
41
|
+
* DEPRECATED: Applications should manage storage/retrieval of serialized ArcGISContexts.
|
|
42
|
+
* Please see ArcGISContextManager.serialize(...) and ArcGISContextManager.deserialize(...)
|
|
35
43
|
* Serialize a UserSession into a browser's local storage
|
|
36
44
|
* @param clientId oAuth Client Id
|
|
37
45
|
* @param session UserSession
|
|
@@ -40,6 +48,8 @@ win = window) {
|
|
|
40
48
|
export function saveSession(clientId, session,
|
|
41
49
|
/* istanbul ignore next */
|
|
42
50
|
win = window) {
|
|
51
|
+
// tslint:disable-next-line
|
|
52
|
+
console.warn("saveSession is deprecated. App should handle storage/retrieval and use ArcGISContextManager.serialize(...) instead.");
|
|
43
53
|
if (win.localStorage) {
|
|
44
54
|
win.localStorage.setItem(`__CONTEXT_${clientId}`, session.serialize());
|
|
45
55
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sessionLocalStorage.js","sourceRoot":"","sources":["../../../src/utils/sessionLocalStorage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAErD
|
|
1
|
+
{"version":3,"file":"sessionLocalStorage.js","sourceRoot":"","sources":["../../../src/utils/sessionLocalStorage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAErD;;;;;;;GAOG;AACH,MAAM,UAAU,YAAY,CAC1B,QAAgB;AAChB,0BAA0B;AAC1B,MAAW,MAAM;IAEjB,IAAI,GAAG,CAAC,YAAY,EAAE;QACpB,GAAG,CAAC,YAAY,CAAC,UAAU,CAAC,aAAa,QAAQ,EAAE,CAAC,CAAC;KACtD;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,UAAU,CACxB,QAAgB;AAChB,0BAA0B;AAC1B,MAAW,MAAM;IAEjB,IAAI,MAAM,GAAuB,IAAI,CAAC;IACtC,2BAA2B;IAC3B,OAAO,CAAC,IAAI,CACV,sHAAsH,CACvH,CAAC;IACF,IAAI,GAAG,CAAC,YAAY,EAAE;QACpB,MAAM,iBAAiB,GAAG,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,QAAQ,EAAE,CAAC,CAAC;QAC5E,IAAI,iBAAiB,EAAE;YACrB,MAAM,GAAG,WAAW,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;SACrD;KACF;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,WAAW,CACzB,QAAgB,EAChB,OAAoB;AACpB,0BAA0B;AAC1B,MAAW,MAAM;IAEjB,2BAA2B;IAC3B,OAAO,CAAC,IAAI,CACV,qHAAqH,CACtH,CAAC;IACF,IAAI,GAAG,CAAC,YAAY,EAAE;QACpB,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,QAAQ,EAAE,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;KACxE;AACH,CAAC"}
|
|
@@ -2,7 +2,9 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ArcGISContextManager = void 0;
|
|
4
4
|
const arcgis_rest_portal_1 = require("@esri/arcgis-rest-portal");
|
|
5
|
+
const arcgis_rest_auth_1 = require("@esri/arcgis-rest-auth");
|
|
5
6
|
const ArcGISContext_1 = require("./ArcGISContext");
|
|
7
|
+
const abab_1 = require("abab");
|
|
6
8
|
const getHubApiFromPortalUrl_1 = require("./urls/getHubApiFromPortalUrl");
|
|
7
9
|
const getPortalBaseFromOrgUrl_1 = require("./urls/getPortalBaseFromOrgUrl");
|
|
8
10
|
const logger_1 = require("./utils/logger");
|
|
@@ -77,6 +79,47 @@ class ArcGISContextManager {
|
|
|
77
79
|
await ctx.initialize();
|
|
78
80
|
return ctx;
|
|
79
81
|
}
|
|
82
|
+
/**
|
|
83
|
+
* Create a new instance of the ArcGISContextManager from a serialized
|
|
84
|
+
* string. This is useful when you want to store the context in a
|
|
85
|
+
* browser's local storage or server side session.
|
|
86
|
+
* @param serializedContext
|
|
87
|
+
* @returns
|
|
88
|
+
*/
|
|
89
|
+
static async deserialize(serializedContext) {
|
|
90
|
+
const decoded = abab_1.atob(serializedContext);
|
|
91
|
+
const state = JSON.parse(decoded);
|
|
92
|
+
// create opts and populate from state
|
|
93
|
+
const opts = {
|
|
94
|
+
portalUrl: state.portalUrl,
|
|
95
|
+
};
|
|
96
|
+
if (state.session) {
|
|
97
|
+
// re-create the session
|
|
98
|
+
const userSession = arcgis_rest_auth_1.UserSession.deserialize(state.session);
|
|
99
|
+
// if the session is still valid, use it and the other properties
|
|
100
|
+
if (userSession.tokenExpires.getTime() > Date.now()) {
|
|
101
|
+
opts.authentication = userSession;
|
|
102
|
+
if (state.portal) {
|
|
103
|
+
opts.portal = state.portal;
|
|
104
|
+
}
|
|
105
|
+
if (state.currentUser) {
|
|
106
|
+
opts.currentUser = state.currentUser;
|
|
107
|
+
}
|
|
108
|
+
if (state.properties) {
|
|
109
|
+
opts.properties = state.properties;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
else {
|
|
114
|
+
// if the session is expired, we can still carry forward the portalUrl
|
|
115
|
+
// we don't need this when auth is passed b/c it will use that instead
|
|
116
|
+
// of portalUrl
|
|
117
|
+
opts.portalUrl = state.portalUrl;
|
|
118
|
+
}
|
|
119
|
+
// system status is safe to carry forward even if session is expired
|
|
120
|
+
opts.systemStatus = state.systemStatus;
|
|
121
|
+
return ArcGISContextManager.create(opts);
|
|
122
|
+
}
|
|
80
123
|
/**
|
|
81
124
|
* Set the Authentication (UserSession) for the context.
|
|
82
125
|
* This should be called when a user signs into a running
|
|
@@ -122,6 +165,31 @@ class ArcGISContextManager {
|
|
|
122
165
|
get context() {
|
|
123
166
|
return this._context;
|
|
124
167
|
}
|
|
168
|
+
/**
|
|
169
|
+
* Serialize the context into a string that can be stored
|
|
170
|
+
* in a browser's local storage or server side session
|
|
171
|
+
*
|
|
172
|
+
* @returns encoded string representation of the context
|
|
173
|
+
*/
|
|
174
|
+
serialize() {
|
|
175
|
+
const state = {
|
|
176
|
+
portalUrl: this._portalUrl,
|
|
177
|
+
systemStatus: this._systemStatus,
|
|
178
|
+
};
|
|
179
|
+
if (this._authentication) {
|
|
180
|
+
state.session = this._authentication.serialize();
|
|
181
|
+
}
|
|
182
|
+
if (this._portalSelf) {
|
|
183
|
+
state.portal = this._portalSelf;
|
|
184
|
+
}
|
|
185
|
+
if (this._currentUser) {
|
|
186
|
+
state.currentUser = this._currentUser;
|
|
187
|
+
}
|
|
188
|
+
if (this._properties) {
|
|
189
|
+
state.properties = this._properties;
|
|
190
|
+
}
|
|
191
|
+
return abab_1.btoa(JSON.stringify(state));
|
|
192
|
+
}
|
|
125
193
|
/**
|
|
126
194
|
* If we have a UserSession, fetch portal/self and
|
|
127
195
|
* store that along with current user
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArcGISContextManager.js","sourceRoot":"","sources":["../../src/ArcGISContextManager.ts"],"names":[],"mappings":";;;AAAA,iEAAqE;
|
|
1
|
+
{"version":3,"file":"ArcGISContextManager.js","sourceRoot":"","sources":["../../src/ArcGISContextManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,6 +10,7 @@ const permissions_1 = require("../permissions");
|
|
|
10
10
|
const resources_1 = require("../resources");
|
|
11
11
|
const util_1 = require("../util");
|
|
12
12
|
const sharedWith_1 = require("./_internal/sharedWith");
|
|
13
|
+
const discussions_1 = require("../discussions");
|
|
13
14
|
const FEATURED_IMAGE_FILENAME = "featuredImage.png";
|
|
14
15
|
/**
|
|
15
16
|
* Base class for all Hub Entities backed by items
|
|
@@ -246,6 +247,17 @@ class HubItemEntity {
|
|
|
246
247
|
}
|
|
247
248
|
}
|
|
248
249
|
}
|
|
250
|
+
//#endregion IWithFeaturedImageBehavior
|
|
251
|
+
/**
|
|
252
|
+
* Updates the isDiscussable property
|
|
253
|
+
* @param isDiscussable whether to enable or disable discussions
|
|
254
|
+
*/
|
|
255
|
+
updateIsDiscussable(isDiscussable) {
|
|
256
|
+
const typeKeywords = isDiscussable
|
|
257
|
+
? this.entity.typeKeywords.filter((typeKeyword) => typeKeyword !== discussions_1.CANNOT_DISCUSS)
|
|
258
|
+
: [...this.entity.typeKeywords, discussions_1.CANNOT_DISCUSS];
|
|
259
|
+
this.update({ typeKeywords, isDiscussable });
|
|
260
|
+
}
|
|
249
261
|
}
|
|
250
262
|
exports.HubItemEntity = HubItemEntity;
|
|
251
263
|
//# sourceMappingURL=HubItemEntity.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HubItemEntity.js","sourceRoot":"","sources":["../../../src/core/HubItemEntity.ts"],"names":[],"mappings":";;;AAAA,iEAOkC;AAElC,kDAIyB;AACzB,0CAAmC;AACnC,oCAA+C;AAC/C,gEAA6D;AAC7D,gDAOwB;AACxB,4CAAsE;AACtE,kCAAsC;AAWtC,uDAAoD;AAEpD,MAAM,uBAAuB,GAAG,mBAAmB,CAAC;AAEpD;;GAEG;AACH,MAAsB,aAAa;
|
|
1
|
+
{"version":3,"file":"HubItemEntity.js","sourceRoot":"","sources":["../../../src/core/HubItemEntity.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.mapModelToObject = exports.mapObjectToModel = exports.PropertyMapper = void 0;
|
|
4
|
+
const discussions_1 = require("../../discussions");
|
|
5
|
+
const utils_1 = require("../../discussions/utils");
|
|
4
6
|
const objects_1 = require("../../objects");
|
|
5
7
|
const util_1 = require("../../util");
|
|
6
8
|
/**
|
|
@@ -65,6 +67,12 @@ exports.PropertyMapper = PropertyMapper;
|
|
|
65
67
|
* @returns
|
|
66
68
|
*/
|
|
67
69
|
function mapObjectToModel(object, model, mappings) {
|
|
70
|
+
var _a;
|
|
71
|
+
if ((_a = model.item) === null || _a === void 0 ? void 0 : _a.typeKeywords) {
|
|
72
|
+
model.item.typeKeywords = objects_1.getProp(object, "isDiscussable")
|
|
73
|
+
? model.item.typeKeywords.filter((typeKeyword) => typeKeyword !== discussions_1.CANNOT_DISCUSS)
|
|
74
|
+
: [...model.item.typeKeywords, discussions_1.CANNOT_DISCUSS];
|
|
75
|
+
}
|
|
68
76
|
return mapProps(object, "objectKey", model, "modelKey", mappings);
|
|
69
77
|
}
|
|
70
78
|
exports.mapObjectToModel = mapObjectToModel;
|
|
@@ -77,6 +85,7 @@ exports.mapObjectToModel = mapObjectToModel;
|
|
|
77
85
|
* @returns
|
|
78
86
|
*/
|
|
79
87
|
function mapModelToObject(model, object, mappings) {
|
|
88
|
+
objects_1.setProp("isDiscussable", utils_1.isDiscussable(model.item), object);
|
|
80
89
|
return mapProps(model, "modelKey", object, "objectKey", mappings);
|
|
81
90
|
}
|
|
82
91
|
exports.mapModelToObject = mapModelToObject;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PropertyMapper.js","sourceRoot":"","sources":["../../../../src/core/_internal/PropertyMapper.ts"],"names":[],"mappings":";;;AAAA,2CAA0D;AAE1D,qCAAyC;AAEzC;;;;;GAKG;AACH,MAAa,cAAc;IAEzB;;;;OAIG;IACH,YAAY,QAAwB;QAClC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IACD;;;;;;;;;;;OAWG;IACH,aAAa,CAAC,KAAa,EAAE,MAAS;QACpC,MAAM,GAAG,GAAG,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC3D,qDAAqD;QAErD,iCAAiC;QACjC,wBAAwB;QACxB,iCAAiC;QACjC,wCAAwC;QACxC,iBAAO,CACL,SAAS,EACT,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,EACpD,GAAG,CACJ,CAAC;QACF,iBAAO,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,WAAW,KAAK,OAAO,EAAE,GAAG,CAAC,CAAC;QAC9D,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;;;;;;OASG;IACH,aAAa,CAAC,MAAS,EAAE,KAAa;QACpC,OAAO,gBAAgB,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACxD,CAAC;CACF;AApDD,wCAoDC;AAeD;;;;;;;GAOG;AACH,SAAgB,gBAAgB,CAC9B,MAAS,EACT,KAAa,EACb,QAAwB
|
|
1
|
+
{"version":3,"file":"PropertyMapper.js","sourceRoot":"","sources":["../../../../src/core/_internal/PropertyMapper.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IWithDiscussionsBehavior.js","sourceRoot":"","sources":["../../../../src/core/behaviors/IWithDiscussionsBehavior.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IWithDiscussions.js","sourceRoot":"","sources":["../../../../src/core/traits/IWithDiscussions.ts"],"names":[],"mappings":""}
|
|
@@ -7,4 +7,5 @@ tslib_1.__exportStar(require("./IWithSlug"), exports);
|
|
|
7
7
|
tslib_1.__exportStar(require("./IWithPermissions"), exports);
|
|
8
8
|
tslib_1.__exportStar(require("./IWithCatalog"), exports);
|
|
9
9
|
tslib_1.__exportStar(require("./IWithViewSettings"), exports);
|
|
10
|
+
tslib_1.__exportStar(require("./IWithDiscussions"), exports);
|
|
10
11
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/traits/index.ts"],"names":[],"mappings":";;;AAAA,6DAAmC;AACnC,wDAA8B;AAC9B,sDAA4B;AAC5B,6DAAmC;AACnC,yDAA+B;AAC/B,8DAAoC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/traits/index.ts"],"names":[],"mappings":";;;AAAA,6DAAmC;AACnC,wDAA8B;AAC9B,sDAA4B;AAC5B,6DAAmC;AACnC,yDAA+B;AAC/B,8DAAoC;AACpC,6DAAmC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/discussions/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,cAAc,GAAG,eAAe,CAAC"}
|
|
@@ -4,4 +4,6 @@ const tslib_1 = require("tslib");
|
|
|
4
4
|
tslib_1.__exportStar(require("./HubDiscussion"), exports);
|
|
5
5
|
tslib_1.__exportStar(require("./edit"), exports);
|
|
6
6
|
tslib_1.__exportStar(require("./fetch"), exports);
|
|
7
|
+
tslib_1.__exportStar(require("./constants"), exports);
|
|
8
|
+
tslib_1.__exportStar(require("./utils"), exports);
|
|
7
9
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/discussions/index.ts"],"names":[],"mappings":";;;AAAA,0DAAgC;AAChC,iDAAuB;AACvB,kDAAwB"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/discussions/index.ts"],"names":[],"mappings":";;;AAAA,0DAAgC;AAChC,iDAAuB;AACvB,kDAAwB;AACxB,sDAA4B;AAC5B,kDAAwB"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isDiscussable = void 0;
|
|
4
|
+
const constants_1 = require("./constants");
|
|
5
|
+
/**
|
|
6
|
+
* Utility to determine if a given IGroup, IItem, IHubContent, or IHubItemEntity
|
|
7
|
+
* is discussable.
|
|
8
|
+
* @export
|
|
9
|
+
* @param {IGroup|IItem|IHubContent|IHubItemEntity} The subject to evaluate
|
|
10
|
+
* @return {boolean}
|
|
11
|
+
*/
|
|
12
|
+
function isDiscussable(subject) {
|
|
13
|
+
var _a;
|
|
14
|
+
return !((_a = subject.typeKeywords) !== null && _a !== void 0 ? _a : []).includes(constants_1.CANNOT_DISCUSS);
|
|
15
|
+
}
|
|
16
|
+
exports.isDiscussable = isDiscussable;
|
|
17
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/discussions/utils.ts"],"names":[],"mappings":";;;AAEA,2CAA6C;AAE7C;;;;;;GAMG;AACH,SAAgB,aAAa,CAC3B,OAAsD;;IAEtD,OAAO,CAAC,OAAC,OAAO,CAAC,YAAY,mCAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,0BAAc,CAAC,CAAC;AAChE,CAAC;AAJD,sCAIC"}
|
|
@@ -3,6 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.saveSession = exports.getSession = exports.clearSession = void 0;
|
|
4
4
|
const arcgis_rest_auth_1 = require("@esri/arcgis-rest-auth");
|
|
5
5
|
/**
|
|
6
|
+
* DEPRECATED: Applications should manage storage/retrieval of serialized ArcGISContexts.
|
|
7
|
+
* Please see ArcGISContextManager.serialize(...) and ArcGISContextManager.deserialize(...)
|
|
6
8
|
* Remove any serialized sessions associated with the passed clientId
|
|
7
9
|
* from a browser's local storage
|
|
8
10
|
* @param clientId oAuth Client Id
|
|
@@ -17,6 +19,8 @@ win = window) {
|
|
|
17
19
|
}
|
|
18
20
|
exports.clearSession = clearSession;
|
|
19
21
|
/**
|
|
22
|
+
* DEPRECATED: Applications should manage storage/retrieval of serialized ArcGISContexts.
|
|
23
|
+
* Please see ArcGISContextManager.serialize(...) and ArcGISContextManager.deserialize(...)
|
|
20
24
|
* Re-hydrate a UserSession from a browser's local storage.
|
|
21
25
|
* If not found,
|
|
22
26
|
* @param clientId oAuth Client Id
|
|
@@ -27,6 +31,8 @@ function getSession(clientId,
|
|
|
27
31
|
/* istanbul ignore next */
|
|
28
32
|
win = window) {
|
|
29
33
|
let result = null;
|
|
34
|
+
// tslint:disable-next-line
|
|
35
|
+
console.warn("getSession is deprecated. App should handle storage/retrieval and use ArcGISContextManager.deserialize(...) instead.");
|
|
30
36
|
if (win.localStorage) {
|
|
31
37
|
const serializedSession = win.localStorage.getItem(`__CONTEXT_${clientId}`);
|
|
32
38
|
if (serializedSession) {
|
|
@@ -37,6 +43,8 @@ win = window) {
|
|
|
37
43
|
}
|
|
38
44
|
exports.getSession = getSession;
|
|
39
45
|
/**
|
|
46
|
+
* DEPRECATED: Applications should manage storage/retrieval of serialized ArcGISContexts.
|
|
47
|
+
* Please see ArcGISContextManager.serialize(...) and ArcGISContextManager.deserialize(...)
|
|
40
48
|
* Serialize a UserSession into a browser's local storage
|
|
41
49
|
* @param clientId oAuth Client Id
|
|
42
50
|
* @param session UserSession
|
|
@@ -45,6 +53,8 @@ exports.getSession = getSession;
|
|
|
45
53
|
function saveSession(clientId, session,
|
|
46
54
|
/* istanbul ignore next */
|
|
47
55
|
win = window) {
|
|
56
|
+
// tslint:disable-next-line
|
|
57
|
+
console.warn("saveSession is deprecated. App should handle storage/retrieval and use ArcGISContextManager.serialize(...) instead.");
|
|
48
58
|
if (win.localStorage) {
|
|
49
59
|
win.localStorage.setItem(`__CONTEXT_${clientId}`, session.serialize());
|
|
50
60
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sessionLocalStorage.js","sourceRoot":"","sources":["../../../src/utils/sessionLocalStorage.ts"],"names":[],"mappings":";;;AAAA,6DAAqD;AAErD
|
|
1
|
+
{"version":3,"file":"sessionLocalStorage.js","sourceRoot":"","sources":["../../../src/utils/sessionLocalStorage.ts"],"names":[],"mappings":";;;AAAA,6DAAqD;AAErD;;;;;;;GAOG;AACH,SAAgB,YAAY,CAC1B,QAAgB;AAChB,0BAA0B;AAC1B,MAAW,MAAM;IAEjB,IAAI,GAAG,CAAC,YAAY,EAAE;QACpB,GAAG,CAAC,YAAY,CAAC,UAAU,CAAC,aAAa,QAAQ,EAAE,CAAC,CAAC;KACtD;AACH,CAAC;AARD,oCAQC;AAED;;;;;;;;GAQG;AACH,SAAgB,UAAU,CACxB,QAAgB;AAChB,0BAA0B;AAC1B,MAAW,MAAM;IAEjB,IAAI,MAAM,GAAuB,IAAI,CAAC;IACtC,2BAA2B;IAC3B,OAAO,CAAC,IAAI,CACV,sHAAsH,CACvH,CAAC;IACF,IAAI,GAAG,CAAC,YAAY,EAAE;QACpB,MAAM,iBAAiB,GAAG,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,QAAQ,EAAE,CAAC,CAAC;QAC5E,IAAI,iBAAiB,EAAE;YACrB,MAAM,GAAG,8BAAW,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;SACrD;KACF;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAjBD,gCAiBC;AAED;;;;;;;GAOG;AACH,SAAgB,WAAW,CACzB,QAAgB,EAChB,OAAoB;AACpB,0BAA0B;AAC1B,MAAW,MAAM;IAEjB,2BAA2B;IAC3B,OAAO,CAAC,IAAI,CACV,qHAAqH,CACtH,CAAC;IACF,IAAI,GAAG,CAAC,YAAY,EAAE;QACpB,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,QAAQ,EAAE,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;KACxE;AACH,CAAC;AAbD,kCAaC"}
|
|
@@ -99,6 +99,14 @@ export declare class ArcGISContextManager {
|
|
|
99
99
|
* @returns
|
|
100
100
|
*/
|
|
101
101
|
static create(opts?: IArcGISContextManagerOptions): Promise<ArcGISContextManager>;
|
|
102
|
+
/**
|
|
103
|
+
* Create a new instance of the ArcGISContextManager from a serialized
|
|
104
|
+
* string. This is useful when you want to store the context in a
|
|
105
|
+
* browser's local storage or server side session.
|
|
106
|
+
* @param serializedContext
|
|
107
|
+
* @returns
|
|
108
|
+
*/
|
|
109
|
+
static deserialize(serializedContext: string): Promise<ArcGISContextManager>;
|
|
102
110
|
/**
|
|
103
111
|
* Set the Authentication (UserSession) for the context.
|
|
104
112
|
* This should be called when a user signs into a running
|
|
@@ -124,6 +132,13 @@ export declare class ArcGISContextManager {
|
|
|
124
132
|
* like React or Ember can detect changes.
|
|
125
133
|
*/
|
|
126
134
|
get context(): IArcGISContext;
|
|
135
|
+
/**
|
|
136
|
+
* Serialize the context into a string that can be stored
|
|
137
|
+
* in a browser's local storage or server side session
|
|
138
|
+
*
|
|
139
|
+
* @returns encoded string representation of the context
|
|
140
|
+
*/
|
|
141
|
+
serialize(): string;
|
|
127
142
|
/**
|
|
128
143
|
* If we have a UserSession, fetch portal/self and
|
|
129
144
|
* store that along with current user
|
|
@@ -102,6 +102,7 @@ export declare const setContentBoundary: (content: IHubContent, boundary: Geogra
|
|
|
102
102
|
updatedDateSource: string;
|
|
103
103
|
type: string;
|
|
104
104
|
capabilities?: import("../..").EntityCapabilities;
|
|
105
|
+
isDiscussable?: boolean;
|
|
105
106
|
statistics?: any;
|
|
106
107
|
data?: {
|
|
107
108
|
[propName: string]: any;
|
|
@@ -5,10 +5,11 @@ import { IPermissionAccessResponse, IEntityPermissionPolicy, Permission } from "
|
|
|
5
5
|
import { IWithSharingBehavior, IWithStoreBehavior, IWithFeaturedImageBehavior, IWithPermissionBehavior, IWithCapabilityBehavior } from "./behaviors";
|
|
6
6
|
import { IWithThumbnailBehavior } from "./behaviors/IWithThumbnailBehavior";
|
|
7
7
|
import { IHubItemEntity, SettableAccessLevel } from "./types";
|
|
8
|
+
import { IWithDiscussionsBehavior } from "./behaviors/IWithDiscussionsBehavior";
|
|
8
9
|
/**
|
|
9
10
|
* Base class for all Hub Entities backed by items
|
|
10
11
|
*/
|
|
11
|
-
export declare abstract class HubItemEntity<T extends IHubItemEntity> implements IWithStoreBehavior<T>, IWithSharingBehavior, IWithThumbnailBehavior, IWithFeaturedImageBehavior, IWithPermissionBehavior, IWithCapabilityBehavior {
|
|
12
|
+
export declare abstract class HubItemEntity<T extends IHubItemEntity> implements IWithStoreBehavior<T>, IWithSharingBehavior, IWithThumbnailBehavior, IWithFeaturedImageBehavior, IWithPermissionBehavior, IWithCapabilityBehavior, IWithDiscussionsBehavior {
|
|
12
13
|
protected context: IArcGISContext;
|
|
13
14
|
protected entity: T;
|
|
14
15
|
protected isDestroyed: boolean;
|
|
@@ -126,4 +127,9 @@ export declare abstract class HubItemEntity<T extends IHubItemEntity> implements
|
|
|
126
127
|
* Remove the featured image from the item
|
|
127
128
|
*/
|
|
128
129
|
clearFeaturedImage(): Promise<void>;
|
|
130
|
+
/**
|
|
131
|
+
* Updates the isDiscussable property
|
|
132
|
+
* @param isDiscussable whether to enable or disable discussions
|
|
133
|
+
*/
|
|
134
|
+
updateIsDiscussable(isDiscussable: boolean): void;
|
|
129
135
|
}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { IHubEntityBase } from "./IHubEntityBase";
|
|
2
2
|
import { IHubGeography } from "../../types";
|
|
3
3
|
import { AccessLevel } from "./types";
|
|
4
|
-
import { IWithPermissions, IWithViewSettings } from "../traits";
|
|
4
|
+
import { IWithPermissions, IWithViewSettings, IWithDiscussions } from "../traits";
|
|
5
5
|
import { IHubLocation } from "./IHubLocation";
|
|
6
6
|
/**
|
|
7
7
|
* Properties exposed by Entities that are backed by Items
|
|
8
8
|
*/
|
|
9
|
-
export interface IHubItemEntity extends IHubEntityBase, IWithPermissions {
|
|
9
|
+
export interface IHubItemEntity extends IHubEntityBase, IWithPermissions, IWithDiscussions {
|
|
10
10
|
/**
|
|
11
11
|
* Access level of the item ("private" | "org" | "public")
|
|
12
12
|
*/
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const CANNOT_DISCUSS = "cannotDiscuss";
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { IGroup, IItem } from "@esri/arcgis-rest-types";
|
|
2
|
+
import { IHubContent, IHubItemEntity } from "../core";
|
|
3
|
+
/**
|
|
4
|
+
* Utility to determine if a given IGroup, IItem, IHubContent, or IHubItemEntity
|
|
5
|
+
* is discussable.
|
|
6
|
+
* @export
|
|
7
|
+
* @param {IGroup|IItem|IHubContent|IHubItemEntity} The subject to evaluate
|
|
8
|
+
* @return {boolean}
|
|
9
|
+
*/
|
|
10
|
+
export declare function isDiscussable(subject: IGroup | IItem | IHubContent | IHubItemEntity): boolean;
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { UserSession } from "@esri/arcgis-rest-auth";
|
|
2
2
|
/**
|
|
3
|
+
* DEPRECATED: Applications should manage storage/retrieval of serialized ArcGISContexts.
|
|
4
|
+
* Please see ArcGISContextManager.serialize(...) and ArcGISContextManager.deserialize(...)
|
|
3
5
|
* Remove any serialized sessions associated with the passed clientId
|
|
4
6
|
* from a browser's local storage
|
|
5
7
|
* @param clientId oAuth Client Id
|
|
@@ -7,6 +9,8 @@ import { UserSession } from "@esri/arcgis-rest-auth";
|
|
|
7
9
|
*/
|
|
8
10
|
export declare function clearSession(clientId: string, win?: any): void;
|
|
9
11
|
/**
|
|
12
|
+
* DEPRECATED: Applications should manage storage/retrieval of serialized ArcGISContexts.
|
|
13
|
+
* Please see ArcGISContextManager.serialize(...) and ArcGISContextManager.deserialize(...)
|
|
10
14
|
* Re-hydrate a UserSession from a browser's local storage.
|
|
11
15
|
* If not found,
|
|
12
16
|
* @param clientId oAuth Client Id
|
|
@@ -15,6 +19,8 @@ export declare function clearSession(clientId: string, win?: any): void;
|
|
|
15
19
|
*/
|
|
16
20
|
export declare function getSession(clientId: string, win?: any): UserSession | null;
|
|
17
21
|
/**
|
|
22
|
+
* DEPRECATED: Applications should manage storage/retrieval of serialized ArcGISContexts.
|
|
23
|
+
* Please see ArcGISContextManager.serialize(...) and ArcGISContextManager.deserialize(...)
|
|
18
24
|
* Serialize a UserSession into a browser's local storage
|
|
19
25
|
* @param clientId oAuth Client Id
|
|
20
26
|
* @param session UserSession
|