@esri/hub-common 9.14.1 → 9.15.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/es2017/ArcGISContext.js +11 -0
- package/dist/es2017/ArcGISContext.js.map +1 -1
- package/dist/es2017/ArcGISContextManager.js +13 -5
- package/dist/es2017/ArcGISContextManager.js.map +1 -1
- package/dist/es2017/Hub.js +70 -0
- package/dist/es2017/Hub.js.map +1 -0
- package/dist/es2017/HubError.js +34 -0
- package/dist/es2017/HubError.js.map +1 -0
- package/dist/es2017/collections.js +23 -0
- package/dist/es2017/collections.js.map +1 -1
- package/dist/es2017/content/_internal.js.map +1 -1
- package/dist/es2017/content/index.js +13 -14
- package/dist/es2017/content/index.js.map +1 -1
- package/dist/es2017/core/helpers/PropertyMapper.js +95 -0
- package/dist/es2017/core/helpers/PropertyMapper.js.map +1 -0
- package/dist/es2017/core/index.js +3 -0
- package/dist/es2017/core/index.js.map +1 -0
- package/dist/es2017/core/traits/WithBannerImage.js +1 -0
- package/dist/es2017/core/traits/WithBannerImage.js.map +1 -0
- package/dist/es2017/core/traits/WithLayout.js +1 -0
- package/dist/es2017/core/traits/WithLayout.js.map +1 -0
- package/dist/es2017/core/traits/WithSlug.js +1 -0
- package/dist/es2017/core/traits/WithSlug.js.map +1 -0
- package/dist/es2017/core/traits/index.js +4 -0
- package/dist/es2017/core/traits/index.js.map +1 -0
- package/dist/es2017/core/types/IContentEnrichments.js +1 -0
- package/dist/es2017/core/types/IContentEnrichments.js.map +1 -0
- package/dist/es2017/core/types/IHubContent.js +1 -0
- package/dist/es2017/core/types/IHubContent.js.map +1 -0
- package/dist/es2017/core/types/IHubEntityBase.js +1 -0
- package/dist/es2017/core/types/IHubEntityBase.js.map +1 -0
- package/dist/es2017/core/types/IHubEntityManager.js +1 -0
- package/dist/es2017/core/types/IHubEntityManager.js.map +1 -0
- package/dist/es2017/core/types/IHubEvent.js +1 -0
- package/dist/es2017/core/types/IHubEvent.js.map +1 -0
- package/dist/es2017/core/types/IHubImage.js +1 -0
- package/dist/es2017/core/types/IHubImage.js.map +1 -0
- package/dist/es2017/core/types/IHubInitiative.js +1 -0
- package/dist/es2017/core/types/IHubInitiative.js.map +1 -0
- package/dist/es2017/core/types/IHubItemEntity.js +1 -0
- package/dist/es2017/core/types/IHubItemEntity.js.map +1 -0
- package/dist/es2017/core/types/IHubLayout.js +1 -0
- package/dist/es2017/core/types/IHubLayout.js.map +1 -0
- package/dist/es2017/core/types/IHubPage.js +1 -0
- package/dist/es2017/core/types/IHubPage.js.map +1 -0
- package/dist/es2017/core/types/IHubProject.js +1 -0
- package/dist/es2017/core/types/IHubProject.js.map +1 -0
- package/dist/es2017/core/types/IHubSite.js +1 -0
- package/dist/es2017/core/types/IHubSite.js.map +1 -0
- package/dist/es2017/core/types/IHubTimeline.js +1 -0
- package/dist/es2017/core/types/IHubTimeline.js.map +1 -0
- package/dist/es2017/core/types/IItemEnrichments.js +1 -0
- package/dist/es2017/core/types/IItemEnrichments.js.map +1 -0
- package/dist/es2017/core/types/index.js +15 -0
- package/dist/es2017/core/types/index.js.map +1 -0
- package/dist/es2017/index.js +11 -6
- package/dist/es2017/index.js.map +1 -1
- package/dist/es2017/items/fail-safe-update.js +2 -2
- package/dist/es2017/items/fail-safe-update.js.map +1 -1
- package/dist/es2017/items/get-model-from-options.js +2 -2
- package/dist/es2017/items/get-model-from-options.js.map +1 -1
- package/dist/es2017/items/index.js +2 -3
- package/dist/es2017/items/index.js.map +1 -1
- package/dist/es2017/items/slugs.js +92 -0
- package/dist/es2017/items/slugs.js.map +1 -0
- package/dist/es2017/models/index.js +98 -0
- package/dist/es2017/models/index.js.map +1 -0
- package/dist/es2017/{items/serialize-model.js → models/serializeModel.js} +1 -1
- package/dist/es2017/models/serializeModel.js.map +1 -0
- package/dist/es2017/projects/HubProjectManager.js +115 -0
- package/dist/es2017/projects/HubProjectManager.js.map +1 -0
- package/dist/es2017/projects/HubProjects.js +194 -0
- package/dist/es2017/projects/HubProjects.js.map +1 -0
- package/dist/es2017/projects/index.js +3 -0
- package/dist/es2017/projects/index.js.map +1 -0
- package/dist/es2017/utils/dasherize.js +25 -0
- package/dist/es2017/utils/dasherize.js.map +1 -0
- package/dist/es2017/utils/index.js +1 -0
- package/dist/es2017/utils/index.js.map +1 -1
- package/dist/esm/ArcGISContext.js +15 -0
- package/dist/esm/ArcGISContext.js.map +1 -1
- package/dist/esm/ArcGISContextManager.js +13 -5
- package/dist/esm/ArcGISContextManager.js.map +1 -1
- package/dist/esm/Hub.js +89 -0
- package/dist/esm/Hub.js.map +1 -0
- package/dist/esm/HubError.js +40 -0
- package/dist/esm/HubError.js.map +1 -0
- package/dist/esm/collections.js +23 -0
- package/dist/esm/collections.js.map +1 -1
- package/dist/esm/content/_internal.js.map +1 -1
- package/dist/esm/content/index.js +13 -14
- package/dist/esm/content/index.js.map +1 -1
- package/dist/esm/core/helpers/PropertyMapper.js +97 -0
- package/dist/esm/core/helpers/PropertyMapper.js.map +1 -0
- package/dist/esm/core/index.js +3 -0
- package/dist/esm/core/index.js.map +1 -0
- package/dist/esm/core/traits/WithBannerImage.js +1 -0
- package/dist/esm/core/traits/WithBannerImage.js.map +1 -0
- package/dist/esm/core/traits/WithLayout.js +1 -0
- package/dist/esm/core/traits/WithLayout.js.map +1 -0
- package/dist/esm/core/traits/WithSlug.js +1 -0
- package/dist/esm/core/traits/WithSlug.js.map +1 -0
- package/dist/esm/core/traits/index.js +4 -0
- package/dist/esm/core/traits/index.js.map +1 -0
- package/dist/esm/core/types/IContentEnrichments.js +1 -0
- package/dist/esm/core/types/IContentEnrichments.js.map +1 -0
- package/dist/esm/core/types/IHubContent.js +1 -0
- package/dist/esm/core/types/IHubContent.js.map +1 -0
- package/dist/esm/core/types/IHubEntityBase.js +1 -0
- package/dist/esm/core/types/IHubEntityBase.js.map +1 -0
- package/dist/esm/core/types/IHubEntityManager.js +1 -0
- package/dist/esm/core/types/IHubEntityManager.js.map +1 -0
- package/dist/esm/core/types/IHubEvent.js +1 -0
- package/dist/esm/core/types/IHubEvent.js.map +1 -0
- package/dist/esm/core/types/IHubImage.js +1 -0
- package/dist/esm/core/types/IHubImage.js.map +1 -0
- package/dist/esm/core/types/IHubInitiative.js +1 -0
- package/dist/esm/core/types/IHubInitiative.js.map +1 -0
- package/dist/esm/core/types/IHubItemEntity.js +1 -0
- package/dist/esm/core/types/IHubItemEntity.js.map +1 -0
- package/dist/esm/core/types/IHubLayout.js +1 -0
- package/dist/esm/core/types/IHubLayout.js.map +1 -0
- package/dist/esm/core/types/IHubPage.js +1 -0
- package/dist/esm/core/types/IHubPage.js.map +1 -0
- package/dist/esm/core/types/IHubProject.js +1 -0
- package/dist/esm/core/types/IHubProject.js.map +1 -0
- package/dist/esm/core/types/IHubSite.js +1 -0
- package/dist/esm/core/types/IHubSite.js.map +1 -0
- package/dist/esm/core/types/IHubTimeline.js +1 -0
- package/dist/esm/core/types/IHubTimeline.js.map +1 -0
- package/dist/esm/core/types/IItemEnrichments.js +1 -0
- package/dist/esm/core/types/IItemEnrichments.js.map +1 -0
- package/dist/esm/core/types/index.js +15 -0
- package/dist/esm/core/types/index.js.map +1 -0
- package/dist/esm/index.js +11 -6
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/items/fail-safe-update.js +2 -2
- package/dist/esm/items/fail-safe-update.js.map +1 -1
- package/dist/esm/items/get-model-from-options.js +2 -2
- package/dist/esm/items/get-model-from-options.js.map +1 -1
- package/dist/esm/items/index.js +2 -3
- package/dist/esm/items/index.js.map +1 -1
- package/dist/esm/items/slugs.js +93 -0
- package/dist/esm/items/slugs.js.map +1 -0
- package/dist/esm/models/index.js +99 -0
- package/dist/esm/models/index.js.map +1 -0
- package/dist/esm/{items/serialize-model.js → models/serializeModel.js} +1 -1
- package/dist/esm/models/serializeModel.js.map +1 -0
- package/dist/esm/projects/HubProjectManager.js +142 -0
- package/dist/esm/projects/HubProjectManager.js.map +1 -0
- package/dist/esm/projects/HubProjects.js +225 -0
- package/dist/esm/projects/HubProjects.js.map +1 -0
- package/dist/esm/projects/index.js +3 -0
- package/dist/esm/projects/index.js.map +1 -0
- package/dist/esm/utils/dasherize.js +25 -0
- package/dist/esm/utils/dasherize.js.map +1 -0
- package/dist/esm/utils/index.js +1 -0
- package/dist/esm/utils/index.js.map +1 -1
- package/dist/node/ArcGISContext.js +11 -0
- package/dist/node/ArcGISContext.js.map +1 -1
- package/dist/node/ArcGISContextManager.js +13 -5
- package/dist/node/ArcGISContextManager.js.map +1 -1
- package/dist/node/Hub.js +74 -0
- package/dist/node/Hub.js.map +1 -0
- package/dist/node/HubError.js +37 -0
- package/dist/node/HubError.js.map +1 -0
- package/dist/node/collections.js +24 -1
- package/dist/node/collections.js.map +1 -1
- package/dist/node/content/_internal.js.map +1 -1
- package/dist/node/content/index.js +13 -14
- package/dist/node/content/index.js.map +1 -1
- package/dist/node/core/helpers/PropertyMapper.js +101 -0
- package/dist/node/core/helpers/PropertyMapper.js.map +1 -0
- package/dist/node/core/index.js +6 -0
- package/dist/node/core/index.js.map +1 -0
- package/dist/node/core/traits/WithBannerImage.js +3 -0
- package/dist/node/core/traits/WithBannerImage.js.map +1 -0
- package/dist/node/core/traits/WithLayout.js +3 -0
- package/dist/node/core/traits/WithLayout.js.map +1 -0
- package/dist/node/core/traits/WithSlug.js +3 -0
- package/dist/node/core/traits/WithSlug.js.map +1 -0
- package/dist/node/core/traits/index.js +7 -0
- package/dist/node/core/traits/index.js.map +1 -0
- package/dist/node/core/types/IContentEnrichments.js +3 -0
- package/dist/node/core/types/IContentEnrichments.js.map +1 -0
- package/dist/node/core/types/IHubContent.js +3 -0
- package/dist/node/core/types/IHubContent.js.map +1 -0
- package/dist/node/core/types/IHubEntityBase.js +3 -0
- package/dist/node/core/types/IHubEntityBase.js.map +1 -0
- package/dist/node/core/types/IHubEntityManager.js +3 -0
- package/dist/node/core/types/IHubEntityManager.js.map +1 -0
- package/dist/node/core/types/IHubEvent.js +3 -0
- package/dist/node/core/types/IHubEvent.js.map +1 -0
- package/dist/node/core/types/IHubImage.js +3 -0
- package/dist/node/core/types/IHubImage.js.map +1 -0
- package/dist/node/core/types/IHubInitiative.js +3 -0
- package/dist/node/core/types/IHubInitiative.js.map +1 -0
- package/dist/node/core/types/IHubItemEntity.js +3 -0
- package/dist/node/core/types/IHubItemEntity.js.map +1 -0
- package/dist/node/core/types/IHubLayout.js +3 -0
- package/dist/node/core/types/IHubLayout.js.map +1 -0
- package/dist/node/core/types/IHubPage.js +3 -0
- package/dist/node/core/types/IHubPage.js.map +1 -0
- package/dist/node/core/types/IHubProject.js +3 -0
- package/dist/node/core/types/IHubProject.js.map +1 -0
- package/dist/node/core/types/IHubSite.js +3 -0
- package/dist/node/core/types/IHubSite.js.map +1 -0
- package/dist/node/core/types/IHubTimeline.js +3 -0
- package/dist/node/core/types/IHubTimeline.js.map +1 -0
- package/dist/node/core/types/IItemEnrichments.js +3 -0
- package/dist/node/core/types/IItemEnrichments.js.map +1 -0
- package/dist/node/core/types/index.js +18 -0
- package/dist/node/core/types/index.js.map +1 -0
- package/dist/node/index.js +12 -6
- package/dist/node/index.js.map +1 -1
- package/dist/node/items/fail-safe-update.js +3 -3
- package/dist/node/items/fail-safe-update.js.map +1 -1
- package/dist/node/items/get-model-from-options.js +3 -3
- package/dist/node/items/get-model-from-options.js.map +1 -1
- package/dist/node/items/index.js +2 -3
- package/dist/node/items/index.js.map +1 -1
- package/dist/node/items/slugs.js +99 -0
- package/dist/node/items/slugs.js.map +1 -0
- package/dist/node/models/index.js +106 -0
- package/dist/node/models/index.js.map +1 -0
- package/dist/node/{items/serialize-model.js → models/serializeModel.js} +1 -1
- package/dist/node/models/serializeModel.js.map +1 -0
- package/dist/node/projects/HubProjectManager.js +119 -0
- package/dist/node/projects/HubProjectManager.js.map +1 -0
- package/dist/node/projects/HubProjects.js +201 -0
- package/dist/node/projects/HubProjects.js.map +1 -0
- package/dist/node/projects/index.js +6 -0
- package/dist/node/projects/index.js.map +1 -0
- package/dist/node/utils/dasherize.js +29 -0
- package/dist/node/utils/dasherize.js.map +1 -0
- package/dist/node/utils/index.js +1 -0
- package/dist/node/utils/index.js.map +1 -1
- package/dist/types/ArcGISContext.d.ts +16 -1
- package/dist/types/ArcGISContextManager.d.ts +14 -0
- package/dist/types/Hub.d.ts +72 -0
- package/dist/types/HubError.d.ts +17 -0
- package/dist/types/collections.d.ts +12 -0
- package/dist/types/content/_internal.d.ts +57 -38
- package/dist/types/content/index.d.ts +8 -8
- package/dist/types/core/helpers/PropertyMapper.d.ts +69 -0
- package/dist/types/core/index.d.ts +2 -0
- package/dist/types/core/traits/WithBannerImage.d.ts +30 -0
- package/dist/types/core/traits/WithLayout.d.ts +54 -0
- package/dist/types/core/traits/WithSlug.d.ts +15 -0
- package/dist/types/core/traits/index.d.ts +3 -0
- package/dist/types/core/types/IContentEnrichments.d.ts +10 -0
- package/dist/types/core/types/IHubContent.d.ts +77 -0
- package/dist/types/core/types/IHubEntityBase.d.ts +41 -0
- package/dist/types/core/types/IHubEntityManager.d.ts +33 -0
- package/dist/types/core/types/IHubEvent.d.ts +10 -0
- package/dist/types/core/types/IHubImage.d.ts +25 -0
- package/dist/types/core/types/IHubInitiative.d.ts +8 -0
- package/dist/types/core/types/IHubItemEntity.d.ts +42 -0
- package/dist/types/core/types/IHubLayout.d.ts +20 -0
- package/dist/types/core/types/IHubPage.d.ts +8 -0
- package/dist/types/core/types/IHubProject.d.ts +15 -0
- package/dist/types/core/types/IHubSite.d.ts +11 -0
- package/dist/types/core/types/IHubTimeline.d.ts +41 -0
- package/dist/types/core/types/IItemEnrichments.d.ts +23 -0
- package/dist/types/core/types/index.d.ts +14 -0
- package/dist/types/index.d.ts +11 -6
- package/dist/types/items/index.d.ts +2 -3
- package/dist/types/items/slugs.d.ts +43 -0
- package/dist/types/models/index.d.ts +42 -0
- package/dist/types/{items/serialize-model.d.ts → models/serializeModel.d.ts} +0 -0
- package/dist/types/projects/HubProjectManager.d.ts +81 -0
- package/dist/types/projects/HubProjects.d.ts +31 -0
- package/dist/types/projects/index.d.ts +2 -0
- package/dist/types/types.d.ts +2 -92
- package/dist/types/utils/dasherize.d.ts +17 -0
- package/dist/types/utils/index.d.ts +1 -0
- package/dist/umd/common.umd.js +4557 -3687
- package/dist/umd/common.umd.js.map +1 -1
- package/dist/umd/common.umd.min.js +1 -1
- package/dist/umd/common.umd.min.js.map +1 -1
- package/package.json +1 -1
- package/dist/es2017/items/get-model.js +0 -19
- package/dist/es2017/items/get-model.js.map +0 -1
- package/dist/es2017/items/serialize-model.js.map +0 -1
- package/dist/esm/items/get-model.js +0 -19
- package/dist/esm/items/get-model.js.map +0 -1
- package/dist/esm/items/serialize-model.js.map +0 -1
- package/dist/node/items/get-model.js +0 -23
- package/dist/node/items/get-model.js.map +0 -1
- package/dist/node/items/serialize-model.js.map +0 -1
- package/dist/types/items/get-model.d.ts +0 -8
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import { __assign } from "tslib";
|
|
2
|
+
export * from "./serializeModel";
|
|
3
|
+
import { createItem, getItem, getItemData, updateItem, } from "@esri/arcgis-rest-portal";
|
|
4
|
+
import { cloneObject, getItemBySlug } from "..";
|
|
5
|
+
/**
|
|
6
|
+
* Gets the full item/data model for an item id
|
|
7
|
+
* @param {string} id
|
|
8
|
+
* @param {Object} requestOptions
|
|
9
|
+
*/
|
|
10
|
+
export function getModel(id, requestOptions) {
|
|
11
|
+
return Promise.all([
|
|
12
|
+
getItem(id, requestOptions),
|
|
13
|
+
getItemData(id, requestOptions),
|
|
14
|
+
]).then(function (result) {
|
|
15
|
+
// shape this into a model
|
|
16
|
+
return {
|
|
17
|
+
item: result[0],
|
|
18
|
+
data: result[1],
|
|
19
|
+
};
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Get a model by it's slug
|
|
24
|
+
*
|
|
25
|
+
* This uses the [Filter](https://developers.arcgis.com/rest/users-groups-and-items/search-reference.htm) option of the
|
|
26
|
+
* to search for an item that has a typekeyword of `slug|{slug-value}`
|
|
27
|
+
*
|
|
28
|
+
* This is useful for applications that want to use human-readable urls instead
|
|
29
|
+
* of using item ids.
|
|
30
|
+
*
|
|
31
|
+
* @param slug
|
|
32
|
+
* @param requestOptions
|
|
33
|
+
* @returns
|
|
34
|
+
*/
|
|
35
|
+
export function getModelBySlug(slug, requestOptions) {
|
|
36
|
+
return getItemBySlug(slug, requestOptions)
|
|
37
|
+
.then(function (item) {
|
|
38
|
+
var prms = [Promise.resolve(item)];
|
|
39
|
+
if (item) {
|
|
40
|
+
prms.push(getItemData(item.id, requestOptions));
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
prms.push(Promise.resolve(null));
|
|
44
|
+
}
|
|
45
|
+
return Promise.all(prms);
|
|
46
|
+
})
|
|
47
|
+
.then(function (result) {
|
|
48
|
+
if (result[0]) {
|
|
49
|
+
return {
|
|
50
|
+
item: result[0],
|
|
51
|
+
data: result[1],
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
return null;
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Create an item to back and IModel.
|
|
61
|
+
*
|
|
62
|
+
* @param {IModel}
|
|
63
|
+
* @param {IRequestOptions} requestOptions
|
|
64
|
+
* @returns {Promise<IModel>}
|
|
65
|
+
*/
|
|
66
|
+
export function createModel(model, requestOptions) {
|
|
67
|
+
var clone = cloneObject(model);
|
|
68
|
+
var item = cloneObject(model.item);
|
|
69
|
+
item.data = cloneObject(model.data);
|
|
70
|
+
var opts = __assign({ item: item }, requestOptions);
|
|
71
|
+
return createItem(opts).then(function (response) {
|
|
72
|
+
clone.item.id = response.id;
|
|
73
|
+
clone.item.created = new Date().getTime();
|
|
74
|
+
clone.item.modified = clone.item.created;
|
|
75
|
+
return clone;
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Update an IModel. Generic function that will be used across all
|
|
80
|
+
* type-specific update functions
|
|
81
|
+
*
|
|
82
|
+
* @export
|
|
83
|
+
* @param {IModel} "model" object (i.e. `{item:{...}, data:{...}}`)
|
|
84
|
+
* @param {IRequestOptions} requestOptions
|
|
85
|
+
* @returns {Promise<IModel>}
|
|
86
|
+
*/
|
|
87
|
+
export function updateModel(model, requestOptions) {
|
|
88
|
+
var clone = cloneObject(model);
|
|
89
|
+
var item = cloneObject(model.item);
|
|
90
|
+
item.data = cloneObject(model.data);
|
|
91
|
+
var opts = __assign({ item: item }, requestOptions);
|
|
92
|
+
return updateItem(opts).then(function () {
|
|
93
|
+
// update the modified prop
|
|
94
|
+
// this won't be exact, but it will be very close
|
|
95
|
+
clone.item.modified = new Date().getTime();
|
|
96
|
+
return clone;
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/models/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serializeModel.js","sourceRoot":"","sources":["../../../src/models/serializeModel.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAMtC;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,KAAa;IAC1C,IAAM,UAAU,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAqB,CAAC;IAC/D,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7C,OAAO,UAAU,CAAC;AACpB,CAAC"}
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
import { __awaiter, __generator } from "tslib";
|
|
2
|
+
import { createProject, updateProject, destroyProject, getProject, } from "./HubProjects";
|
|
3
|
+
// Node has issues if this is not directly imported
|
|
4
|
+
import { ArcGISContextManager } from "../ArcGISContextManager";
|
|
5
|
+
import { HubError } from "..";
|
|
6
|
+
/**
|
|
7
|
+
* Centralized functions used to manage IHubProject instances
|
|
8
|
+
*
|
|
9
|
+
* This class is a convenience wrapper over util functions which
|
|
10
|
+
* are also directly accessible for use in scenarios where
|
|
11
|
+
* classes are inconvenient.
|
|
12
|
+
*/
|
|
13
|
+
var HubProjectManager = /** @class */ (function () {
|
|
14
|
+
/**
|
|
15
|
+
* Private so we can employ a factory function should we need
|
|
16
|
+
* async work during creation
|
|
17
|
+
* @param contextOrManager
|
|
18
|
+
*/
|
|
19
|
+
function HubProjectManager(contextOrManager) {
|
|
20
|
+
if (contextOrManager instanceof ArcGISContextManager) {
|
|
21
|
+
this._contextManager = contextOrManager;
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
this._context = contextOrManager;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Factory function to construct a new HubProjectManager instance.
|
|
29
|
+
*
|
|
30
|
+
* Note: Used so that we could do async actions in the ctor.
|
|
31
|
+
* @param contextOrManager
|
|
32
|
+
* @returns
|
|
33
|
+
*/
|
|
34
|
+
HubProjectManager.init = function (contextOrManager) {
|
|
35
|
+
return new HubProjectManager(contextOrManager);
|
|
36
|
+
};
|
|
37
|
+
Object.defineProperty(HubProjectManager.prototype, "context", {
|
|
38
|
+
/**
|
|
39
|
+
* Getter to abstract how we store the context
|
|
40
|
+
*/
|
|
41
|
+
get: function () {
|
|
42
|
+
if (this._contextManager) {
|
|
43
|
+
return this._contextManager.context;
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
return this._context;
|
|
47
|
+
}
|
|
48
|
+
},
|
|
49
|
+
enumerable: false,
|
|
50
|
+
configurable: true
|
|
51
|
+
});
|
|
52
|
+
/**
|
|
53
|
+
* Create and store new project.
|
|
54
|
+
*
|
|
55
|
+
* Projects are stored as Items in the Sharing API
|
|
56
|
+
* @param project
|
|
57
|
+
* @param requestOptions
|
|
58
|
+
* @returns
|
|
59
|
+
*/
|
|
60
|
+
HubProjectManager.prototype.create = function (project, requestOptions) {
|
|
61
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
62
|
+
return __generator(this, function (_a) {
|
|
63
|
+
if (requestOptions || this.context.isAuthenticated) {
|
|
64
|
+
// ammend in the orgUrlKey
|
|
65
|
+
if (!project.orgUrlKey) {
|
|
66
|
+
project.orgUrlKey = this.context.portal.urlKey;
|
|
67
|
+
}
|
|
68
|
+
return [2 /*return*/, createProject(project, requestOptions || this.context.userRequestOptions)];
|
|
69
|
+
}
|
|
70
|
+
else {
|
|
71
|
+
throw new HubError("Create Project", "Creating Hub Projects requires authentication.");
|
|
72
|
+
}
|
|
73
|
+
return [2 /*return*/];
|
|
74
|
+
});
|
|
75
|
+
});
|
|
76
|
+
};
|
|
77
|
+
/**
|
|
78
|
+
* Update a project
|
|
79
|
+
* @param project
|
|
80
|
+
* @param requestOptions
|
|
81
|
+
* @returns
|
|
82
|
+
*/
|
|
83
|
+
HubProjectManager.prototype.update = function (project, requestOptions) {
|
|
84
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
85
|
+
return __generator(this, function (_a) {
|
|
86
|
+
if (requestOptions || this.context.isAuthenticated) {
|
|
87
|
+
return [2 /*return*/, updateProject(project, requestOptions || this.context.userRequestOptions)];
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
throw new HubError("Update Project", "Updating Hub Projects requires authentication.");
|
|
91
|
+
}
|
|
92
|
+
return [2 /*return*/];
|
|
93
|
+
});
|
|
94
|
+
});
|
|
95
|
+
};
|
|
96
|
+
/**
|
|
97
|
+
* Destroy a project.
|
|
98
|
+
* This permanently removes the backing Item
|
|
99
|
+
* @param id
|
|
100
|
+
* @param requestOptions
|
|
101
|
+
* @returns
|
|
102
|
+
*/
|
|
103
|
+
HubProjectManager.prototype.destroy = function (id, requestOptions) {
|
|
104
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
105
|
+
return __generator(this, function (_a) {
|
|
106
|
+
if (requestOptions || this.context.isAuthenticated) {
|
|
107
|
+
return [2 /*return*/, destroyProject(id, requestOptions || this.context.userRequestOptions)];
|
|
108
|
+
}
|
|
109
|
+
else {
|
|
110
|
+
throw new HubError("Destroy Project", "Destroying Hub Projects requires authentication.");
|
|
111
|
+
}
|
|
112
|
+
return [2 /*return*/];
|
|
113
|
+
});
|
|
114
|
+
});
|
|
115
|
+
};
|
|
116
|
+
/**
|
|
117
|
+
* Fetch a Project via id or it's slug
|
|
118
|
+
*
|
|
119
|
+
* This function does not require a user to be
|
|
120
|
+
* authenticated, but it does require an `IRequestOptions`
|
|
121
|
+
* which contains the portal instance to communicate with
|
|
122
|
+
* @param identifier
|
|
123
|
+
* @param requestOptions
|
|
124
|
+
* @returns
|
|
125
|
+
*/
|
|
126
|
+
HubProjectManager.prototype.fetch = function (identifier, requestOptions) {
|
|
127
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
128
|
+
return __generator(this, function (_a) {
|
|
129
|
+
if (requestOptions || this.context.requestOptions) {
|
|
130
|
+
return [2 /*return*/, getProject(identifier, requestOptions || this.context.requestOptions)];
|
|
131
|
+
}
|
|
132
|
+
else {
|
|
133
|
+
throw new HubError("Get Project", "Can not retrieve context.requestOptions from Context Manager. HubProjectManager is configured incorrectly.");
|
|
134
|
+
}
|
|
135
|
+
return [2 /*return*/];
|
|
136
|
+
});
|
|
137
|
+
});
|
|
138
|
+
};
|
|
139
|
+
return HubProjectManager;
|
|
140
|
+
}());
|
|
141
|
+
export { HubProjectManager };
|
|
142
|
+
//# sourceMappingURL=HubProjectManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HubProjectManager.js","sourceRoot":"","sources":["../../../src/projects/HubProjectManager.ts"],"names":[],"mappings":";AAEA,OAAO,EACL,aAAa,EACb,aAAa,EACb,cAAc,EACd,UAAU,GACX,MAAM,eAAe,CAAC;AACvB,mDAAmD;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAkB,MAAM,IAAI,CAAC;AAG9C;;;;;;GAMG;AACH;IAgBE;;;;OAIG;IACH,2BAAoB,gBAAuD;QACzE,IAAI,gBAAgB,YAAY,oBAAoB,EAAE;YACpD,IAAI,CAAC,eAAe,GAAG,gBAAgB,CAAC;SACzC;aAAM;YACL,IAAI,CAAC,QAAQ,GAAG,gBAAgB,CAAC;SAClC;IACH,CAAC;IAED;;;;;;OAMG;IACI,sBAAI,GAAX,UACE,gBAAuD;QAEvD,OAAO,IAAI,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;IACjD,CAAC;IAKD,sBAAY,sCAAO;QAHnB;;WAEG;aACH;YACE,IAAI,IAAI,CAAC,eAAe,EAAE;gBACxB,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC;aACrC;iBAAM;gBACL,OAAO,IAAI,CAAC,QAAQ,CAAC;aACtB;QACH,CAAC;;;OAAA;IAED;;;;;;;OAOG;IACG,kCAAM,GAAZ,UACE,OAA6B,EAC7B,cAAoC;;;gBAEpC,IAAI,cAAc,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE;oBAClD,0BAA0B;oBAC1B,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE;wBACtB,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;qBAChD;oBACD,sBAAO,aAAa,CAClB,OAAO,EACP,cAAc,IAAI,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAClD,EAAC;iBACH;qBAAM;oBACL,MAAM,IAAI,QAAQ,CAChB,gBAAgB,EAChB,gDAAgD,CACjD,CAAC;iBACH;;;;KACF;IAED;;;;;OAKG;IACG,kCAAM,GAAZ,UACE,OAAoB,EACpB,cAAoC;;;gBAEpC,IAAI,cAAc,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE;oBAClD,sBAAO,aAAa,CAClB,OAAO,EACP,cAAc,IAAI,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAClD,EAAC;iBACH;qBAAM;oBACL,MAAM,IAAI,QAAQ,CAChB,gBAAgB,EAChB,gDAAgD,CACjD,CAAC;iBACH;;;;KACF;IAED;;;;;;OAMG;IACG,mCAAO,GAAb,UACE,EAAU,EACV,cAAoC;;;gBAEpC,IAAI,cAAc,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE;oBAClD,sBAAO,cAAc,CACnB,EAAE,EACF,cAAc,IAAI,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAClD,EAAC;iBACH;qBAAM;oBACL,MAAM,IAAI,QAAQ,CAChB,iBAAiB,EACjB,kDAAkD,CACnD,CAAC;iBACH;;;;KACF;IACD;;;;;;;;;OASG;IACG,iCAAK,GAAX,UACE,UAAkB,EAClB,cAAgC;;;gBAEhC,IAAI,cAAc,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE;oBACjD,sBAAO,UAAU,CACf,UAAU,EACV,cAAc,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc,CAC9C,EAAC;iBACH;qBAAM;oBACL,MAAM,IAAI,QAAQ,CAChB,aAAa,EACb,4GAA4G,CAC7G,CAAC;iBACH;;;;KACF;IAgBH,wBAAC;AAAD,CAAC,AAzKD,IAyKC"}
|
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
import { __assign, __awaiter, __generator } from "tslib";
|
|
2
|
+
// Note - we separate these imports so we can cleanly spy on things in tests
|
|
3
|
+
import { createModel, getModel, getModelBySlug, updateModel } from "../models";
|
|
4
|
+
import { constructSlug, getUniqueSlug, setSlugKeyword } from "../items/slugs";
|
|
5
|
+
import { isGuid, cloneObject, } from "..";
|
|
6
|
+
import { removeItem } from "@esri/arcgis-rest-portal";
|
|
7
|
+
import { PropertyMapper } from "../core/helpers/PropertyMapper";
|
|
8
|
+
export var HUB_PROJECT_ITEM_TYPE = "Web Mapping Application";
|
|
9
|
+
/**
|
|
10
|
+
* Default values of a IHubProject
|
|
11
|
+
*/
|
|
12
|
+
var DEFAULT_PROJECT = {
|
|
13
|
+
name: "No title provided",
|
|
14
|
+
tags: [],
|
|
15
|
+
typeKeywords: ["IHubProject", "HubProject"],
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* Default values for a new HubProject Model
|
|
19
|
+
*/
|
|
20
|
+
var DEFAULT_PROJECT_MODEL = {
|
|
21
|
+
item: {
|
|
22
|
+
type: HUB_PROJECT_ITEM_TYPE,
|
|
23
|
+
title: "No Title Provided",
|
|
24
|
+
description: "No Description Provided",
|
|
25
|
+
snippet: "",
|
|
26
|
+
tags: [],
|
|
27
|
+
typeKeywords: [],
|
|
28
|
+
properties: {
|
|
29
|
+
slug: "",
|
|
30
|
+
},
|
|
31
|
+
},
|
|
32
|
+
data: {
|
|
33
|
+
display: "about",
|
|
34
|
+
timeline: {},
|
|
35
|
+
org: {},
|
|
36
|
+
status: "inactive",
|
|
37
|
+
contacts: [],
|
|
38
|
+
schemaVersion: 1,
|
|
39
|
+
},
|
|
40
|
+
};
|
|
41
|
+
/**
|
|
42
|
+
* Returns an Array of IPropertyMap objects
|
|
43
|
+
* We could define these directly, but since the
|
|
44
|
+
* properties of IHubProject map directly to properties
|
|
45
|
+
* on item or data, it's slightly less verbose to
|
|
46
|
+
* generate the structure.
|
|
47
|
+
* @returns
|
|
48
|
+
*/
|
|
49
|
+
function getProjectPropertyMap() {
|
|
50
|
+
var itemProps = [
|
|
51
|
+
"created",
|
|
52
|
+
"culture",
|
|
53
|
+
"description",
|
|
54
|
+
"extent",
|
|
55
|
+
"id",
|
|
56
|
+
"modified",
|
|
57
|
+
"owner",
|
|
58
|
+
"snippet",
|
|
59
|
+
"tags",
|
|
60
|
+
"typeKeywords",
|
|
61
|
+
"url",
|
|
62
|
+
"type",
|
|
63
|
+
];
|
|
64
|
+
var dataProps = [
|
|
65
|
+
"contacts",
|
|
66
|
+
"display",
|
|
67
|
+
"geometry",
|
|
68
|
+
"headerImage",
|
|
69
|
+
"layout",
|
|
70
|
+
"location",
|
|
71
|
+
"status",
|
|
72
|
+
];
|
|
73
|
+
var map = [];
|
|
74
|
+
itemProps.forEach(function (entry) {
|
|
75
|
+
map.push({ objectKey: entry, modelKey: "item." + entry });
|
|
76
|
+
});
|
|
77
|
+
dataProps.forEach(function (entry) {
|
|
78
|
+
map.push({ objectKey: entry, modelKey: "data." + entry });
|
|
79
|
+
});
|
|
80
|
+
// Deeper mappings
|
|
81
|
+
map.push({
|
|
82
|
+
objectKey: "slug",
|
|
83
|
+
modelKey: "item.properties.slug",
|
|
84
|
+
});
|
|
85
|
+
map.push({
|
|
86
|
+
objectKey: "orgUrlKey",
|
|
87
|
+
modelKey: "item.properties.orgUrlKey",
|
|
88
|
+
});
|
|
89
|
+
map.push({
|
|
90
|
+
objectKey: "name",
|
|
91
|
+
modelKey: "item.title",
|
|
92
|
+
});
|
|
93
|
+
return map;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Create a new Hub Project item
|
|
97
|
+
*
|
|
98
|
+
* Minimal properties are name and org
|
|
99
|
+
*
|
|
100
|
+
* @param project
|
|
101
|
+
* @param requestOptions
|
|
102
|
+
*/
|
|
103
|
+
export function createProject(partialProject, requestOptions) {
|
|
104
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
105
|
+
var project, _a, mapper, model, newProject;
|
|
106
|
+
return __generator(this, function (_b) {
|
|
107
|
+
switch (_b.label) {
|
|
108
|
+
case 0:
|
|
109
|
+
project = __assign(__assign({}, DEFAULT_PROJECT), partialProject);
|
|
110
|
+
// Create a slug from the title if one is not passed in
|
|
111
|
+
if (!project.slug) {
|
|
112
|
+
project.slug = constructSlug(project.name, project.orgUrlKey);
|
|
113
|
+
}
|
|
114
|
+
// Ensure slug is unique
|
|
115
|
+
_a = project;
|
|
116
|
+
return [4 /*yield*/, getUniqueSlug(project.slug, requestOptions)];
|
|
117
|
+
case 1:
|
|
118
|
+
// Ensure slug is unique
|
|
119
|
+
_a.slug = _b.sent();
|
|
120
|
+
// add slug to keywords
|
|
121
|
+
project.typeKeywords = setSlugKeyword(project.typeKeywords, project.slug);
|
|
122
|
+
mapper = new PropertyMapper(getProjectPropertyMap());
|
|
123
|
+
model = mapper.objectToModel(project, cloneObject(DEFAULT_PROJECT_MODEL));
|
|
124
|
+
return [4 /*yield*/, createModel(model, requestOptions)];
|
|
125
|
+
case 2:
|
|
126
|
+
// create the item
|
|
127
|
+
model = _b.sent();
|
|
128
|
+
newProject = mapper.modelToObject(model, {});
|
|
129
|
+
// and return it
|
|
130
|
+
return [2 /*return*/, newProject];
|
|
131
|
+
}
|
|
132
|
+
});
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Update a Hub Project
|
|
137
|
+
* @param project
|
|
138
|
+
* @param requestOptions
|
|
139
|
+
*/
|
|
140
|
+
export function updateProject(project, requestOptions) {
|
|
141
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
142
|
+
var _a, model, mapper, modelToUpdate, updatedModel, updatedProject;
|
|
143
|
+
return __generator(this, function (_b) {
|
|
144
|
+
switch (_b.label) {
|
|
145
|
+
case 0:
|
|
146
|
+
// verify that the slug is unique
|
|
147
|
+
// TODO: if the slug has not changed, we don't want to do this because
|
|
148
|
+
// the existing item will cause this to increment
|
|
149
|
+
_a = project;
|
|
150
|
+
return [4 /*yield*/, getUniqueSlug(project.slug, requestOptions)];
|
|
151
|
+
case 1:
|
|
152
|
+
// verify that the slug is unique
|
|
153
|
+
// TODO: if the slug has not changed, we don't want to do this because
|
|
154
|
+
// the existing item will cause this to increment
|
|
155
|
+
_a.slug = _b.sent();
|
|
156
|
+
return [4 /*yield*/, getModel(project.id, requestOptions)];
|
|
157
|
+
case 2:
|
|
158
|
+
model = _b.sent();
|
|
159
|
+
mapper = new PropertyMapper(getProjectPropertyMap());
|
|
160
|
+
modelToUpdate = mapper.objectToModel(project, model);
|
|
161
|
+
return [4 /*yield*/, updateModel(modelToUpdate, requestOptions)];
|
|
162
|
+
case 3:
|
|
163
|
+
updatedModel = _b.sent();
|
|
164
|
+
updatedProject = mapper.modelToObject(updatedModel, project);
|
|
165
|
+
// the casting is needed because modelToObject returns a `Partial<T>`
|
|
166
|
+
// where as this function returns a `T`
|
|
167
|
+
return [2 /*return*/, updatedProject];
|
|
168
|
+
}
|
|
169
|
+
});
|
|
170
|
+
});
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* Get a Hub Project by id or slug
|
|
174
|
+
* @param identifier item id or slug
|
|
175
|
+
* @param requestOptions
|
|
176
|
+
*/
|
|
177
|
+
export function getProject(identifier, requestOptions) {
|
|
178
|
+
var getPrms;
|
|
179
|
+
if (isGuid(identifier)) {
|
|
180
|
+
// get item by id
|
|
181
|
+
getPrms = getModel(identifier, requestOptions);
|
|
182
|
+
}
|
|
183
|
+
else {
|
|
184
|
+
// search for item using filter=typekeywords:slug|identifier
|
|
185
|
+
getPrms = getModelBySlug(identifier, requestOptions);
|
|
186
|
+
}
|
|
187
|
+
return getPrms.then(function (model) {
|
|
188
|
+
// transform the model into a HubProject
|
|
189
|
+
var mapper = new PropertyMapper(getProjectPropertyMap());
|
|
190
|
+
var project = mapper.modelToObject(model, {});
|
|
191
|
+
return project;
|
|
192
|
+
});
|
|
193
|
+
}
|
|
194
|
+
/**
|
|
195
|
+
* Remove a Hub Project
|
|
196
|
+
* @param id
|
|
197
|
+
* @param requestOptions
|
|
198
|
+
*/
|
|
199
|
+
export function destroyProject(id, requestOptions) {
|
|
200
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
201
|
+
var ro;
|
|
202
|
+
return __generator(this, function (_a) {
|
|
203
|
+
switch (_a.label) {
|
|
204
|
+
case 0:
|
|
205
|
+
ro = __assign(__assign({}, requestOptions), { id: id });
|
|
206
|
+
return [4 /*yield*/, removeItem(ro)];
|
|
207
|
+
case 1:
|
|
208
|
+
_a.sent();
|
|
209
|
+
return [2 /*return*/];
|
|
210
|
+
}
|
|
211
|
+
});
|
|
212
|
+
});
|
|
213
|
+
}
|
|
214
|
+
// WIP: Need to resolve how best to execute this
|
|
215
|
+
// i.e. delegate to searchContent or just do an item search
|
|
216
|
+
// and convert to IHubProject objects.
|
|
217
|
+
//
|
|
218
|
+
// export async function searchProjects(
|
|
219
|
+
// filter: Filter<"content">,
|
|
220
|
+
// opts: IHubSearchOptions
|
|
221
|
+
// ): Promise<ISearchResponse<IHubProject>> {
|
|
222
|
+
// return _searchContent(filter, opts).then((results) => {
|
|
223
|
+
// })
|
|
224
|
+
// }
|
|
225
|
+
//# sourceMappingURL=HubProjects.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HubProjects.js","sourceRoot":"","sources":["../../../src/projects/HubProjects.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/projects/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Dasherize a string
|
|
3
|
+
*
|
|
4
|
+
* ```javascript
|
|
5
|
+
* import { dasherize } from '@esri/hub-common';
|
|
6
|
+
* dasherize('innerHTML'); // 'inner-html'
|
|
7
|
+
* dasherize('action_name'); // 'action-name'
|
|
8
|
+
* dasherize('css-class-name'); // 'css-class-name'
|
|
9
|
+
* dasherize('my favorite items'); // 'my-favorite-items'
|
|
10
|
+
* dasherize('privateDocs/ownerInvoice'; // 'private-docs/owner-invoice'
|
|
11
|
+
* ```
|
|
12
|
+
*
|
|
13
|
+
* Extracted and modified from Ember.js source code - MIT license
|
|
14
|
+
* @param value
|
|
15
|
+
* @returns
|
|
16
|
+
*/
|
|
17
|
+
export function dasherize(value) {
|
|
18
|
+
var DECAMELIZE_REGEXP = /([a-z\d])([A-Z])/g;
|
|
19
|
+
var DASHERIZE_REGEXP = /[ _]/g;
|
|
20
|
+
return value
|
|
21
|
+
.replace(DECAMELIZE_REGEXP, "$1_$2")
|
|
22
|
+
.toLowerCase()
|
|
23
|
+
.replace(DASHERIZE_REGEXP, "-");
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=dasherize.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dasherize.js","sourceRoot":"","sources":["../../../src/utils/dasherize.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,SAAS,CAAC,KAAa;IACrC,IAAM,iBAAiB,GAAG,mBAAmB,CAAC;IAC9C,IAAM,gBAAgB,GAAG,OAAO,CAAC;IACjC,OAAO,KAAK;SACT,OAAO,CAAC,iBAAiB,EAAE,OAAO,CAAC;SACnC,WAAW,EAAE;SACb,OAAO,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAC;AACpC,CAAC"}
|
package/dist/esm/utils/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,aAAa,CAAC;AAC5B,cAAc,0BAA0B,CAAC;AACzC,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,UAAU,CAAC;AACzB,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,aAAa,CAAC;AAC5B,cAAc,0BAA0B,CAAC;AACzC,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,UAAU,CAAC;AACzB,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,aAAa,CAAC"}
|
|
@@ -42,6 +42,9 @@ class ArcGISContext {
|
|
|
42
42
|
if (opts.currentUser) {
|
|
43
43
|
this._currentUser = opts.currentUser;
|
|
44
44
|
}
|
|
45
|
+
if (opts.properties) {
|
|
46
|
+
this._properties = opts.properties;
|
|
47
|
+
}
|
|
45
48
|
}
|
|
46
49
|
/**
|
|
47
50
|
* Return the UserSession if authenticated
|
|
@@ -239,6 +242,14 @@ class ArcGISContext {
|
|
|
239
242
|
get portal() {
|
|
240
243
|
return this._portalSelf;
|
|
241
244
|
}
|
|
245
|
+
/**
|
|
246
|
+
* Return the properties hash that was passed in.
|
|
247
|
+
* Useful for app-specific context such as the active
|
|
248
|
+
* Site for ArcGIS Hub
|
|
249
|
+
*/
|
|
250
|
+
get properties() {
|
|
251
|
+
return this._properties;
|
|
252
|
+
}
|
|
242
253
|
}
|
|
243
254
|
exports.ArcGISContext = ArcGISContext;
|
|
244
255
|
//# sourceMappingURL=ArcGISContext.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArcGISContext.js","sourceRoot":"","sources":["../../src/ArcGISContext.ts"],"names":[],"mappings":";;;AAOA,wBAAgE;AAEhE;;;GAGG;AACH,MAAM,eAAe,GAAG;IACtB,OAAO,EAAE,iBAAiB;IAC1B,MAAM,EAAE,kBAAkB;IAC1B,WAAW,EAAE,qBAAqB;CACnC,CAAC;
|
|
1
|
+
{"version":3,"file":"ArcGISContext.js","sourceRoot":"","sources":["../../src/ArcGISContext.ts"],"names":[],"mappings":"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"}
|
|
@@ -36,6 +36,9 @@ class ArcGISContextManager {
|
|
|
36
36
|
}
|
|
37
37
|
_1.Logger.setLogLevel(this._logLevel);
|
|
38
38
|
_1.Logger.debug(`ArcGISContextManager:ctor: Creating ${this.id}`);
|
|
39
|
+
if (opts.properties) {
|
|
40
|
+
this._properties = opts.properties;
|
|
41
|
+
}
|
|
39
42
|
if (opts.authentication) {
|
|
40
43
|
this._authentication = opts.authentication;
|
|
41
44
|
this._portalUrl = this._authentication.portal.replace("/sharing/rest", "");
|
|
@@ -81,6 +84,14 @@ class ArcGISContextManager {
|
|
|
81
84
|
this._portalUrl = auth.portal.replace("/sharing/rest", "");
|
|
82
85
|
await this.initialize();
|
|
83
86
|
}
|
|
87
|
+
/**
|
|
88
|
+
* Set the properties hash and re-create the context
|
|
89
|
+
* @param properties
|
|
90
|
+
*/
|
|
91
|
+
setProperties(properties) {
|
|
92
|
+
this._properties = properties;
|
|
93
|
+
this._context = new ArcGISContext_1.ArcGISContext(this.contextOpts);
|
|
94
|
+
}
|
|
84
95
|
/**
|
|
85
96
|
* Clear the Authentication (UserSession). This should be
|
|
86
97
|
* called when a user signs out of an application, but
|
|
@@ -96,11 +107,7 @@ class ArcGISContextManager {
|
|
|
96
107
|
this._authentication = null;
|
|
97
108
|
this._portalSelf = null;
|
|
98
109
|
this._currentUser = null;
|
|
99
|
-
this._context = new ArcGISContext_1.ArcGISContext(
|
|
100
|
-
id: this.id,
|
|
101
|
-
portalUrl: this._portalUrl,
|
|
102
|
-
hubUrl: this._hubUrl,
|
|
103
|
-
});
|
|
110
|
+
this._context = new ArcGISContext_1.ArcGISContext(this.contextOpts);
|
|
104
111
|
}
|
|
105
112
|
/**
|
|
106
113
|
* Return a reference to the current state.
|
|
@@ -150,6 +157,7 @@ class ArcGISContextManager {
|
|
|
150
157
|
id: this.id,
|
|
151
158
|
portalUrl: this._portalUrl,
|
|
152
159
|
hubUrl: this._hubUrl,
|
|
160
|
+
properties: this._properties,
|
|
153
161
|
};
|
|
154
162
|
if (this._authentication) {
|
|
155
163
|
contextOpts.authentication = this._authentication;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArcGISContextManager.js","sourceRoot":"","sources":["../../src/ArcGISContextManager.ts"],"names":[],"mappings":";;;AAAA,iEAAqE;AAErE,mDAIyB;AACzB,wBAA+C;AAC/C,0EAAuE;AACvE,4EAAyE;
|
|
1
|
+
{"version":3,"file":"ArcGISContextManager.js","sourceRoot":"","sources":["../../src/ArcGISContextManager.ts"],"names":[],"mappings":"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"}
|