@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,194 @@
|
|
|
1
|
+
// Note - we separate these imports so we can cleanly spy on things in tests
|
|
2
|
+
import { createModel, getModel, getModelBySlug, updateModel } from "../models";
|
|
3
|
+
import { constructSlug, getUniqueSlug, setSlugKeyword } from "../items/slugs";
|
|
4
|
+
import { isGuid, cloneObject, } from "..";
|
|
5
|
+
import { removeItem } from "@esri/arcgis-rest-portal";
|
|
6
|
+
import { PropertyMapper } from "../core/helpers/PropertyMapper";
|
|
7
|
+
export const HUB_PROJECT_ITEM_TYPE = "Web Mapping Application";
|
|
8
|
+
/**
|
|
9
|
+
* Default values of a IHubProject
|
|
10
|
+
*/
|
|
11
|
+
const DEFAULT_PROJECT = {
|
|
12
|
+
name: "No title provided",
|
|
13
|
+
tags: [],
|
|
14
|
+
typeKeywords: ["IHubProject", "HubProject"],
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* Default values for a new HubProject Model
|
|
18
|
+
*/
|
|
19
|
+
const DEFAULT_PROJECT_MODEL = {
|
|
20
|
+
item: {
|
|
21
|
+
type: HUB_PROJECT_ITEM_TYPE,
|
|
22
|
+
title: "No Title Provided",
|
|
23
|
+
description: "No Description Provided",
|
|
24
|
+
snippet: "",
|
|
25
|
+
tags: [],
|
|
26
|
+
typeKeywords: [],
|
|
27
|
+
properties: {
|
|
28
|
+
slug: "",
|
|
29
|
+
},
|
|
30
|
+
},
|
|
31
|
+
data: {
|
|
32
|
+
display: "about",
|
|
33
|
+
timeline: {},
|
|
34
|
+
org: {},
|
|
35
|
+
status: "inactive",
|
|
36
|
+
contacts: [],
|
|
37
|
+
schemaVersion: 1,
|
|
38
|
+
},
|
|
39
|
+
};
|
|
40
|
+
/**
|
|
41
|
+
* Returns an Array of IPropertyMap objects
|
|
42
|
+
* We could define these directly, but since the
|
|
43
|
+
* properties of IHubProject map directly to properties
|
|
44
|
+
* on item or data, it's slightly less verbose to
|
|
45
|
+
* generate the structure.
|
|
46
|
+
* @returns
|
|
47
|
+
*/
|
|
48
|
+
function getProjectPropertyMap() {
|
|
49
|
+
const itemProps = [
|
|
50
|
+
"created",
|
|
51
|
+
"culture",
|
|
52
|
+
"description",
|
|
53
|
+
"extent",
|
|
54
|
+
"id",
|
|
55
|
+
"modified",
|
|
56
|
+
"owner",
|
|
57
|
+
"snippet",
|
|
58
|
+
"tags",
|
|
59
|
+
"typeKeywords",
|
|
60
|
+
"url",
|
|
61
|
+
"type",
|
|
62
|
+
];
|
|
63
|
+
const dataProps = [
|
|
64
|
+
"contacts",
|
|
65
|
+
"display",
|
|
66
|
+
"geometry",
|
|
67
|
+
"headerImage",
|
|
68
|
+
"layout",
|
|
69
|
+
"location",
|
|
70
|
+
"status",
|
|
71
|
+
];
|
|
72
|
+
const map = [];
|
|
73
|
+
itemProps.forEach((entry) => {
|
|
74
|
+
map.push({ objectKey: entry, modelKey: `item.${entry}` });
|
|
75
|
+
});
|
|
76
|
+
dataProps.forEach((entry) => {
|
|
77
|
+
map.push({ objectKey: entry, modelKey: `data.${entry}` });
|
|
78
|
+
});
|
|
79
|
+
// Deeper mappings
|
|
80
|
+
map.push({
|
|
81
|
+
objectKey: "slug",
|
|
82
|
+
modelKey: "item.properties.slug",
|
|
83
|
+
});
|
|
84
|
+
map.push({
|
|
85
|
+
objectKey: "orgUrlKey",
|
|
86
|
+
modelKey: "item.properties.orgUrlKey",
|
|
87
|
+
});
|
|
88
|
+
map.push({
|
|
89
|
+
objectKey: "name",
|
|
90
|
+
modelKey: "item.title",
|
|
91
|
+
});
|
|
92
|
+
return map;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Create a new Hub Project item
|
|
96
|
+
*
|
|
97
|
+
* Minimal properties are name and org
|
|
98
|
+
*
|
|
99
|
+
* @param project
|
|
100
|
+
* @param requestOptions
|
|
101
|
+
*/
|
|
102
|
+
export async function createProject(partialProject, requestOptions) {
|
|
103
|
+
// merge incoming with the default
|
|
104
|
+
// this expansion solves the typing somehow
|
|
105
|
+
const project = Object.assign(Object.assign({}, DEFAULT_PROJECT), partialProject);
|
|
106
|
+
// Create a slug from the title if one is not passed in
|
|
107
|
+
if (!project.slug) {
|
|
108
|
+
project.slug = constructSlug(project.name, project.orgUrlKey);
|
|
109
|
+
}
|
|
110
|
+
// Ensure slug is unique
|
|
111
|
+
project.slug = await getUniqueSlug(project.slug, requestOptions);
|
|
112
|
+
// add slug to keywords
|
|
113
|
+
project.typeKeywords = setSlugKeyword(project.typeKeywords, project.slug);
|
|
114
|
+
// Map project object onto a default project Model
|
|
115
|
+
const mapper = new PropertyMapper(getProjectPropertyMap());
|
|
116
|
+
// create model from object, using the default model as a starting point
|
|
117
|
+
let model = mapper.objectToModel(project, cloneObject(DEFAULT_PROJECT_MODEL));
|
|
118
|
+
// create the item
|
|
119
|
+
model = await createModel(model, requestOptions);
|
|
120
|
+
// map the model back into a IHubProject
|
|
121
|
+
const newProject = mapper.modelToObject(model, {});
|
|
122
|
+
// and return it
|
|
123
|
+
return newProject;
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Update a Hub Project
|
|
127
|
+
* @param project
|
|
128
|
+
* @param requestOptions
|
|
129
|
+
*/
|
|
130
|
+
export async function updateProject(project, requestOptions) {
|
|
131
|
+
// verify that the slug is unique
|
|
132
|
+
// TODO: if the slug has not changed, we don't want to do this because
|
|
133
|
+
// the existing item will cause this to increment
|
|
134
|
+
project.slug = await getUniqueSlug(project.slug, requestOptions);
|
|
135
|
+
// get the backing item & data
|
|
136
|
+
const model = await getModel(project.id, requestOptions);
|
|
137
|
+
// create the PropertyMapper
|
|
138
|
+
const mapper = new PropertyMapper(getProjectPropertyMap());
|
|
139
|
+
// Note: Although we are fetching the model, and applying changes onto it,
|
|
140
|
+
// we are not attempting to handle "concurrent edit" conflict resolution
|
|
141
|
+
// but this is where we would apply that sort of logic
|
|
142
|
+
const modelToUpdate = mapper.objectToModel(project, model);
|
|
143
|
+
// update the backing item
|
|
144
|
+
const updatedModel = await updateModel(modelToUpdate, requestOptions);
|
|
145
|
+
// now map back into a project and return that
|
|
146
|
+
const updatedProject = mapper.modelToObject(updatedModel, project);
|
|
147
|
+
// the casting is needed because modelToObject returns a `Partial<T>`
|
|
148
|
+
// where as this function returns a `T`
|
|
149
|
+
return updatedProject;
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Get a Hub Project by id or slug
|
|
153
|
+
* @param identifier item id or slug
|
|
154
|
+
* @param requestOptions
|
|
155
|
+
*/
|
|
156
|
+
export function getProject(identifier, requestOptions) {
|
|
157
|
+
let getPrms;
|
|
158
|
+
if (isGuid(identifier)) {
|
|
159
|
+
// get item by id
|
|
160
|
+
getPrms = getModel(identifier, requestOptions);
|
|
161
|
+
}
|
|
162
|
+
else {
|
|
163
|
+
// search for item using filter=typekeywords:slug|identifier
|
|
164
|
+
getPrms = getModelBySlug(identifier, requestOptions);
|
|
165
|
+
}
|
|
166
|
+
return getPrms.then((model) => {
|
|
167
|
+
// transform the model into a HubProject
|
|
168
|
+
const mapper = new PropertyMapper(getProjectPropertyMap());
|
|
169
|
+
const project = mapper.modelToObject(model, {});
|
|
170
|
+
return project;
|
|
171
|
+
});
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* Remove a Hub Project
|
|
175
|
+
* @param id
|
|
176
|
+
* @param requestOptions
|
|
177
|
+
*/
|
|
178
|
+
export async function destroyProject(id, requestOptions) {
|
|
179
|
+
const ro = Object.assign(Object.assign({}, requestOptions), { id });
|
|
180
|
+
await removeItem(ro);
|
|
181
|
+
return;
|
|
182
|
+
}
|
|
183
|
+
// WIP: Need to resolve how best to execute this
|
|
184
|
+
// i.e. delegate to searchContent or just do an item search
|
|
185
|
+
// and convert to IHubProject objects.
|
|
186
|
+
//
|
|
187
|
+
// export async function searchProjects(
|
|
188
|
+
// filter: Filter<"content">,
|
|
189
|
+
// opts: IHubSearchOptions
|
|
190
|
+
// ): Promise<ISearchResponse<IHubProject>> {
|
|
191
|
+
// return _searchContent(filter, opts).then((results) => {
|
|
192
|
+
// })
|
|
193
|
+
// }
|
|
194
|
+
//# 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
|
+
const DECAMELIZE_REGEXP = /([a-z\d])([A-Z])/g;
|
|
19
|
+
const 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,MAAM,iBAAiB,GAAG,mBAAmB,CAAC;IAC9C,MAAM,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"}
|
|
@@ -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"}
|
|
@@ -39,6 +39,9 @@ var ArcGISContext = /** @class */ (function () {
|
|
|
39
39
|
if (opts.currentUser) {
|
|
40
40
|
this._currentUser = opts.currentUser;
|
|
41
41
|
}
|
|
42
|
+
if (opts.properties) {
|
|
43
|
+
this._properties = opts.properties;
|
|
44
|
+
}
|
|
42
45
|
}
|
|
43
46
|
Object.defineProperty(ArcGISContext.prototype, "session", {
|
|
44
47
|
/**
|
|
@@ -316,6 +319,18 @@ var ArcGISContext = /** @class */ (function () {
|
|
|
316
319
|
enumerable: false,
|
|
317
320
|
configurable: true
|
|
318
321
|
});
|
|
322
|
+
Object.defineProperty(ArcGISContext.prototype, "properties", {
|
|
323
|
+
/**
|
|
324
|
+
* Return the properties hash that was passed in.
|
|
325
|
+
* Useful for app-specific context such as the active
|
|
326
|
+
* Site for ArcGIS Hub
|
|
327
|
+
*/
|
|
328
|
+
get: function () {
|
|
329
|
+
return this._properties;
|
|
330
|
+
},
|
|
331
|
+
enumerable: false,
|
|
332
|
+
configurable: true
|
|
333
|
+
});
|
|
319
334
|
return ArcGISContext;
|
|
320
335
|
}());
|
|
321
336
|
export { ArcGISContext };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArcGISContext.js","sourceRoot":"","sources":["../../src/ArcGISContext.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAsB,MAAM,GAAG,CAAC;AAEhE;;;GAGG;AACH,IAAM,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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"}
|
|
@@ -34,6 +34,9 @@ var ArcGISContextManager = /** @class */ (function () {
|
|
|
34
34
|
}
|
|
35
35
|
Logger.setLogLevel(this._logLevel);
|
|
36
36
|
Logger.debug("ArcGISContextManager:ctor: Creating " + this.id);
|
|
37
|
+
if (opts.properties) {
|
|
38
|
+
this._properties = opts.properties;
|
|
39
|
+
}
|
|
37
40
|
if (opts.authentication) {
|
|
38
41
|
this._authentication = opts.authentication;
|
|
39
42
|
this._portalUrl = this._authentication.portal.replace("/sharing/rest", "");
|
|
@@ -100,6 +103,14 @@ var ArcGISContextManager = /** @class */ (function () {
|
|
|
100
103
|
});
|
|
101
104
|
});
|
|
102
105
|
};
|
|
106
|
+
/**
|
|
107
|
+
* Set the properties hash and re-create the context
|
|
108
|
+
* @param properties
|
|
109
|
+
*/
|
|
110
|
+
ArcGISContextManager.prototype.setProperties = function (properties) {
|
|
111
|
+
this._properties = properties;
|
|
112
|
+
this._context = new ArcGISContext(this.contextOpts);
|
|
113
|
+
};
|
|
103
114
|
/**
|
|
104
115
|
* Clear the Authentication (UserSession). This should be
|
|
105
116
|
* called when a user signs out of an application, but
|
|
@@ -115,11 +126,7 @@ var ArcGISContextManager = /** @class */ (function () {
|
|
|
115
126
|
this._authentication = null;
|
|
116
127
|
this._portalSelf = null;
|
|
117
128
|
this._currentUser = null;
|
|
118
|
-
this._context = new ArcGISContext(
|
|
119
|
-
id: this.id,
|
|
120
|
-
portalUrl: this._portalUrl,
|
|
121
|
-
hubUrl: this._hubUrl,
|
|
122
|
-
});
|
|
129
|
+
this._context = new ArcGISContext(this.contextOpts);
|
|
123
130
|
};
|
|
124
131
|
Object.defineProperty(ArcGISContextManager.prototype, "context", {
|
|
125
132
|
/**
|
|
@@ -186,6 +193,7 @@ var ArcGISContextManager = /** @class */ (function () {
|
|
|
186
193
|
id: this.id,
|
|
187
194
|
portalUrl: this._portalUrl,
|
|
188
195
|
hubUrl: this._hubUrl,
|
|
196
|
+
properties: this._properties,
|
|
189
197
|
};
|
|
190
198
|
if (this._authentication) {
|
|
191
199
|
contextOpts.authentication = this._authentication;
|
|
@@ -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;AAErE,OAAO,EACL,aAAa,GAGd,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC;AAC/C,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"ArcGISContextManager.js","sourceRoot":"","sources":["../../src/ArcGISContextManager.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/Hub.js
ADDED
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { __awaiter, __generator } from "tslib";
|
|
2
|
+
import { ArcGISContextManager, } from "./ArcGISContextManager";
|
|
3
|
+
import { HubProjectManager } from "./projects/HubProjectManager";
|
|
4
|
+
/**
|
|
5
|
+
* Hub class can be used as an entry point to managing
|
|
6
|
+
* content, teams, sites, projects etc, in an organization's Hub.
|
|
7
|
+
*
|
|
8
|
+
* ```js
|
|
9
|
+
* import {Hub} from '@esri/hub-common';
|
|
10
|
+
* // create a Hub instance, authenticating as a specific user
|
|
11
|
+
* // working against arcgis online
|
|
12
|
+
* const myHub = await Hub.create({authOptions: {username: "casey", password: "jones"}});
|
|
13
|
+
*
|
|
14
|
+
* myHub.context.currentUser //=> {username: "casey", ...} as IUser
|
|
15
|
+
*
|
|
16
|
+
* const projectStore = await myHub.getProjectStore();
|
|
17
|
+
*
|
|
18
|
+
* const pavingProject = await projectStore.create({name: "12th Street Paving"});
|
|
19
|
+
* pavingProject.summary = "This is the 2024 planned paving of 12th Street, between 8th and 11th Ave";
|
|
20
|
+
* await projectStore.update(pavingProject);
|
|
21
|
+
* ```
|
|
22
|
+
*
|
|
23
|
+
* This is a convenience class. Hub Stores can be created
|
|
24
|
+
* directly, or the underlying functions can be imported an used
|
|
25
|
+
* as need for scenarios where these class structures introduce
|
|
26
|
+
* unwanted complexity
|
|
27
|
+
*/
|
|
28
|
+
var Hub = /** @class */ (function () {
|
|
29
|
+
/**
|
|
30
|
+
* Private so we can employ a factory function should we need
|
|
31
|
+
* async work during creation
|
|
32
|
+
* @param contextManager
|
|
33
|
+
*/
|
|
34
|
+
function Hub(contextManager) {
|
|
35
|
+
this._contextManager = contextManager;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Factory function to construct a new HubProjectStore instance.
|
|
39
|
+
*
|
|
40
|
+
* Note: Used so that we could do async actions in the ctor.
|
|
41
|
+
* @param contextManager
|
|
42
|
+
* @returns
|
|
43
|
+
*/
|
|
44
|
+
Hub.create = function (options) {
|
|
45
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
46
|
+
var opts, mgr;
|
|
47
|
+
return __generator(this, function (_a) {
|
|
48
|
+
switch (_a.label) {
|
|
49
|
+
case 0:
|
|
50
|
+
if (!options.contextManager) return [3 /*break*/, 1];
|
|
51
|
+
return [2 /*return*/, new Hub(options.contextManager)];
|
|
52
|
+
case 1:
|
|
53
|
+
opts = options.managerOptions || {};
|
|
54
|
+
return [4 /*yield*/, ArcGISContextManager.create(opts)];
|
|
55
|
+
case 2:
|
|
56
|
+
mgr = _a.sent();
|
|
57
|
+
return [2 /*return*/, new Hub(mgr)];
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
});
|
|
61
|
+
};
|
|
62
|
+
Object.defineProperty(Hub.prototype, "context", {
|
|
63
|
+
/**
|
|
64
|
+
* Getter to abstract the context manager
|
|
65
|
+
*/
|
|
66
|
+
get: function () {
|
|
67
|
+
return this._contextManager.context;
|
|
68
|
+
},
|
|
69
|
+
enumerable: false,
|
|
70
|
+
configurable: true
|
|
71
|
+
});
|
|
72
|
+
Object.defineProperty(Hub.prototype, "projects", {
|
|
73
|
+
/**
|
|
74
|
+
* Create a Project Store connected to the current Hub
|
|
75
|
+
* @returns
|
|
76
|
+
*/
|
|
77
|
+
get: function () {
|
|
78
|
+
if (!this._projectManager) {
|
|
79
|
+
this._projectManager = HubProjectManager.init(this._contextManager);
|
|
80
|
+
}
|
|
81
|
+
return this._projectManager;
|
|
82
|
+
},
|
|
83
|
+
enumerable: false,
|
|
84
|
+
configurable: true
|
|
85
|
+
});
|
|
86
|
+
return Hub;
|
|
87
|
+
}());
|
|
88
|
+
export { Hub };
|
|
89
|
+
//# sourceMappingURL=Hub.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Hub.js","sourceRoot":"","sources":["../../src/Hub.ts"],"names":[],"mappings":";AAAA,OAAO,EACL,oBAAoB,GAErB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAWjE;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH;IAYE;;;;OAIG;IACH,aAAoB,cAAoC;QACtD,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC;IACxC,CAAC;IAED;;;;;;OAMG;IACU,UAAM,GAAnB,UAAoB,OAAoB;;;;;;6BAClC,OAAO,CAAC,cAAc,EAAtB,wBAAsB;wBACxB,sBAAO,IAAI,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,EAAC;;wBAEjC,IAAI,GAAG,OAAO,CAAC,cAAc,IAAI,EAAE,CAAC;wBAC9B,qBAAM,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,EAAA;;wBAA7C,GAAG,GAAG,SAAuC;wBACnD,sBAAO,IAAI,GAAG,CAAC,GAAG,CAAC,EAAC;;;;KAEvB;IAKD,sBAAW,wBAAO;QAHlB;;WAEG;aACH;YACE,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC;QACtC,CAAC;;;OAAA;IAMD,sBAAI,yBAAQ;QAJZ;;;WAGG;aACH;YACE,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;gBACzB,IAAI,CAAC,eAAe,GAAG,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;aACrE;YAED,OAAO,IAAI,CAAC,eAAe,CAAC;QAC9B,CAAC;;;OAAA;IACH,UAAC;AAAD,CAAC,AAxDD,IAwDC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { __extends } from "tslib";
|
|
2
|
+
import { getWithDefault, OperationError } from ".";
|
|
3
|
+
/**
|
|
4
|
+
* Generic Hub Error with an Error stack as well
|
|
5
|
+
* as an optional serialized OperationStack.
|
|
6
|
+
*
|
|
7
|
+
* Also accepts a `rootCause` Error object
|
|
8
|
+
*/
|
|
9
|
+
var HubError = /** @class */ (function (_super) {
|
|
10
|
+
__extends(HubError, _super);
|
|
11
|
+
/**
|
|
12
|
+
* Creates an instance of HubError.
|
|
13
|
+
* @param {string} operation
|
|
14
|
+
* @param {string} [message]
|
|
15
|
+
* @param {Error} [rootCause]
|
|
16
|
+
* @memberof HubError
|
|
17
|
+
*/
|
|
18
|
+
function HubError(operation, message, rootCause) {
|
|
19
|
+
var _this = this;
|
|
20
|
+
message = message || "UNKNOWN_ERROR";
|
|
21
|
+
// if the rootCause has a .rootCause, use that so we don't deeply nest
|
|
22
|
+
rootCause = getWithDefault(rootCause, "rootCause", rootCause);
|
|
23
|
+
/* Skip coverage on super(...) as per:
|
|
24
|
+
https://github.com/Microsoft/TypeScript/issues/13029
|
|
25
|
+
https://github.com/SitePen/remap-istanbul/issues/106
|
|
26
|
+
*/
|
|
27
|
+
/* istanbul ignore next */
|
|
28
|
+
_this = _super.call(this, operation, message, rootCause) || this;
|
|
29
|
+
_this.name = "HubError";
|
|
30
|
+
// if the original error has a stack use it, otherwise create a new
|
|
31
|
+
// stack. Note: a new Stack will make it look like the error origninated
|
|
32
|
+
// in the HubError constructor. This is only an issue in tests but
|
|
33
|
+
// it can be confusing to debug
|
|
34
|
+
_this.stack = getWithDefault(rootCause, "stack", new Error().stack);
|
|
35
|
+
return _this;
|
|
36
|
+
}
|
|
37
|
+
return HubError;
|
|
38
|
+
}(OperationError));
|
|
39
|
+
export default HubError;
|
|
40
|
+
//# sourceMappingURL=HubError.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HubError.js","sourceRoot":"","sources":["../../src/HubError.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,GAAG,CAAC;AAEnD;;;;;GAKG;AACH;IAAsC,4BAAc;IAClD;;;;;;OAMG;IACH,kBAAY,SAAiB,EAAE,OAAgB,EAAE,SAAiB;QAAlE,iBAgBC;QAfC,OAAO,GAAG,OAAO,IAAI,eAAe,CAAC;QACrC,sEAAsE;QACtE,SAAS,GAAG,cAAc,CAAC,SAAS,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;QAC9D;;;UAGE;QACF,0BAA0B;QAC1B,QAAA,kBAAM,SAAS,EAAE,OAAO,EAAE,SAAS,CAAC,SAAC;QACrC,KAAI,CAAC,IAAI,GAAG,UAAU,CAAC;QACvB,mEAAmE;QACnE,wEAAwE;QACxE,kEAAkE;QAClE,+BAA+B;QAC/B,KAAI,CAAC,KAAK,GAAG,cAAc,CAAC,SAAS,EAAE,OAAO,EAAE,IAAI,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC;;IACrE,CAAC;IACH,eAAC;AAAD,CAAC,AAzBD,CAAsC,cAAc,GAyBnD"}
|
package/dist/esm/collections.js
CHANGED
|
@@ -114,6 +114,29 @@ var other = [
|
|
|
114
114
|
"Workflow Manager Package",
|
|
115
115
|
];
|
|
116
116
|
var site = ["Hub Site Application", "Site Application"];
|
|
117
|
+
/**
|
|
118
|
+
* ```js
|
|
119
|
+
* import { getCollection } from "@esri/hub-common";
|
|
120
|
+
* //
|
|
121
|
+
* getCollection('Feature Layer')
|
|
122
|
+
* > 'dataset'
|
|
123
|
+
* ```
|
|
124
|
+
* Get the Hub collection for a given item type
|
|
125
|
+
* @param itemType The ArcGIS [item type](https://developers.arcgis.com/rest/users-groups-and-items/items-and-item-types.htm).
|
|
126
|
+
* @returns the Hub collection of a given item type.
|
|
127
|
+
*/
|
|
128
|
+
export var getCollection = function (type) {
|
|
129
|
+
if (!type) {
|
|
130
|
+
return;
|
|
131
|
+
}
|
|
132
|
+
var lowerCaseType = type.toLocaleLowerCase();
|
|
133
|
+
return Object.keys(collections).find(function (key) {
|
|
134
|
+
var collectionTypes = collections[key];
|
|
135
|
+
return collectionTypes.some(function (t) { return t.toLocaleLowerCase() === lowerCaseType; });
|
|
136
|
+
});
|
|
137
|
+
};
|
|
138
|
+
// TODO: remove this at the next breaking change
|
|
139
|
+
// it's only here to support deprecated categories
|
|
117
140
|
export var collections = {
|
|
118
141
|
app: app,
|
|
119
142
|
dataset: dataset,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collections.js","sourceRoot":"","sources":["../../src/collections.ts"],"names":[],"mappings":"AAAA,IAAM,GAAG,GAAa;IACpB,aAAa;IACb,uBAAuB;IACvB,sBAAsB;IACtB,WAAW;IACX,eAAe;IACf,mBAAmB;IACnB,gBAAgB;IAChB,yBAAyB;IACzB,UAAU;IACV,gBAAgB;IAChB,aAAa;CACd,CAAC;AAEF,IAAM,OAAO,GAAa;IACxB,gBAAgB;IAChB,KAAK;IACL,6BAA6B;IAC7B,oBAAoB;IACpB,eAAe;IACf,iBAAiB;IACjB,kBAAkB;IAClB,SAAS;IACT,SAAS;IACT,gBAAgB;IAChB,KAAK;IACL,iBAAiB;IACjB,cAAc;IACd,WAAW;IACX,gBAAgB;IAChB,OAAO;CACR,CAAC;AAEF,IAAM,QAAQ,GAAa;IACzB,aAAa;IACb,eAAe;IACf,UAAU;IACV,WAAW;IACX,OAAO;IACP,eAAe;IACf,eAAe;IACf,aAAa;IACb,sBAAsB;IACtB,iBAAiB;IACjB,gBAAgB;IAChB,UAAU;IACV,KAAK;IACL,SAAS;IACT,iBAAiB;CAClB,CAAC;AAEF,IAAM,KAAK,GAAa,CAAC,WAAW,CAAC,CAAC;AAEtC,IAAM,QAAQ,GAAa,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;AAE7D,IAAM,UAAU,GAAa,CAAC,gBAAgB,CAAC,CAAC;AAEhD,IAAM,QAAQ,GAAa,CAAC,UAAU,CAAC,CAAC;AAExC,IAAM,QAAQ,GAAa,CAAC,yBAAyB,CAAC,CAAC;AAEvD,IAAM,GAAG,GAAa;IACpB,kBAAkB;IAClB,eAAe;IACf,mBAAmB;IACnB,aAAa;IACb,eAAe;IACf,aAAa;IACb,qBAAqB;IACrB,iBAAiB;IACjB,sBAAsB;IACtB,SAAS;IACT,WAAW;IACX,KAAK;IACL,KAAK;IACL,MAAM;CACP,CAAC;AAEF,IAAM,KAAK,GAAa;IACtB,mBAAmB;IACnB,2BAA2B;IAC3B,2BAA2B;IAC3B,gBAAgB;IAChB,iBAAiB;IACjB,aAAa;IACb,gBAAgB;IAChB,8BAA8B;IAC9B,qBAAqB;IACrB,eAAe;IACf,iBAAiB;IACjB,gBAAgB;IAChB,mBAAmB;IACnB,kBAAkB;IAClB,uBAAuB;IACvB,sBAAsB;IACtB,uBAAuB;IACvB,YAAY;IACZ,eAAe;IACf,gBAAgB;IAChB,OAAO;IACP,QAAQ;IACR,iBAAiB;IACjB,UAAU;IACV,cAAc;IACd,aAAa;IACb,wBAAwB;IACxB,cAAc;IACd,oBAAoB;IACpB,oBAAoB;IACpB,oBAAoB;IACpB,0BAA0B;IAC1B,6BAA6B;IAC7B,iBAAiB;IACjB,kBAAkB;IAClB,0BAA0B;IAC1B,cAAc;IACd,eAAe;IACf,oBAAoB;IACpB,oBAAoB;IACpB,OAAO;IACP,cAAc;IACd,qBAAqB;IACrB,0BAA0B;CAC3B,CAAC;AAEF,IAAM,IAAI,GAAa,CAAC,sBAAsB,EAAE,kBAAkB,CAAC,CAAC;AAEpE,MAAM,CAAC,IAAM,WAAW,GAAgC;IACtD,GAAG,KAAA;IACH,OAAO,SAAA;IACP,QAAQ,UAAA;IACR,KAAK,OAAA;IACL,QAAQ,UAAA;IACR,UAAU,YAAA;IACV,QAAQ,UAAA;IACR,QAAQ,UAAA;IACR,GAAG,KAAA;IACH,KAAK,OAAA;IACL,IAAI,MAAA;CACL,CAAC"}
|
|
1
|
+
{"version":3,"file":"collections.js","sourceRoot":"","sources":["../../src/collections.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_internal.js","sourceRoot":"","sources":["../../../src/content/_internal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;;
|
|
1
|
+
{"version":3,"file":"_internal.js","sourceRoot":"","sources":["../../../src/content/_internal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;;AAGH,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAElD;;;;;GAKG;AACH,MAAM,CAAC,IAAM,kBAAkB,GAAG,UAChC,OAAoB,EACpB,QAA6B;IAE7B,qCAAqC;IACrC,IAAM,UAAU,yBAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,KAAE,QAAQ,UAAA,GAAE,CAAC;IACpE,IAAM,IAAI,yBAAQ,OAAO,CAAC,IAAI,KAAE,UAAU,YAAA,GAAE,CAAC;IAC7C,IAAM,OAAO,yBAAQ,OAAO,KAAE,IAAI,MAAA,GAAE,CAAC;IACrC,6BAAY,OAAO,KAAE,QAAQ,EAAE,kBAAkB,CAAC,OAAO,CAAC,IAAG;AAC/D,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,IAAM,gBAAgB,GAAG,UAC9B,OAAoB,EACpB,MAAY;IAEZ,mCAAmC;IACnC,IAAM,IAAI,yBAAQ,OAAO,CAAC,IAAI,KAAE,MAAM,QAAA,GAAE,CAAC;IACzC,IAAM,OAAO,yBAAQ,OAAO,KAAE,IAAI,MAAA,EAAE,MAAM,QAAA,GAAE,CAAC;IAC7C,0CAA0C;IAC1C,IAAM,QAAQ,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC7C,6BAAY,OAAO,KAAE,QAAQ,UAAA,IAAG;AAClC,CAAC,CAAC;AAEF,IAAM,kBAAkB,GAAG,UAAC,OAAoB;;IAC9C,IAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAC1B,IAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IAC3B,IAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IACzC,yDAAyD;IACzD,IAAM,UAAU,GACd,OAAA,IAAI,CAAC,UAAU,0CAAE,QAAQ;QACzB,mDAAmD;QACnD,CAAC,iBAAiB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAC3C,IAAI,QAAQ,CAAC;IACb,QAAQ,UAAU,EAAE;QAClB,KAAK,MAAM;YACT,QAAQ,GAAG,iBAAiB,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAC5D,MAAM;QACR,KAAK,MAAM;YACT,QAAQ,GAAG,IAAI,CAAC;YAChB,MAAM;QACR,iCAAiC;KAClC;IACD,iCAAiC;IACjC,OAAO;QACL,UAAU,YAAA;QACV,QAAQ,UAAA;KACT,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -8,6 +8,7 @@ import { getStructuredLicense } from "../items/get-structured-license";
|
|
|
8
8
|
import { getServiceTypeFromUrl } from "../urls";
|
|
9
9
|
import { setContentExtent } from "./_internal";
|
|
10
10
|
import { camelize } from "../util";
|
|
11
|
+
// private helper functions
|
|
11
12
|
function collectionToFamily(collection) {
|
|
12
13
|
var overrides = {
|
|
13
14
|
other: "content",
|
|
@@ -614,7 +615,7 @@ export function datasetToItem(dataset) {
|
|
|
614
615
|
}
|
|
615
616
|
/**
|
|
616
617
|
* returns a new content that has the specified type and
|
|
617
|
-
* and updated related properties like
|
|
618
|
+
* and updated related properties like, family, etc
|
|
618
619
|
* @param content orignal content
|
|
619
620
|
* @param type new type
|
|
620
621
|
* @returns new content
|
|
@@ -625,9 +626,8 @@ export var setContentType = function (content, type) {
|
|
|
625
626
|
var family = getFamily(normalizedType);
|
|
626
627
|
var contentTypeIcon = getContentTypeIcon(normalizedType);
|
|
627
628
|
var contentTypeLabel = getContentTypeLabel(normalizedType, content.isProxied);
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
family: family,
|
|
629
|
+
var updated = __assign(__assign({}, content), { type: normalizedType, family: family,
|
|
630
|
+
// TODO: remove this at next breaking change now that it has been deprecated
|
|
631
631
|
normalizedType: normalizedType,
|
|
632
632
|
contentTypeIcon: contentTypeIcon,
|
|
633
633
|
contentTypeLabel: contentTypeLabel });
|
|
@@ -638,13 +638,13 @@ export var setContentType = function (content, type) {
|
|
|
638
638
|
});
|
|
639
639
|
};
|
|
640
640
|
/**
|
|
641
|
-
* Compute the content type icon based on the
|
|
642
|
-
* @param
|
|
641
|
+
* Compute the content type icon based on the content type
|
|
642
|
+
* @param content type
|
|
643
643
|
* @returns content type icon
|
|
644
644
|
*/
|
|
645
|
-
export var getContentTypeIcon = function (
|
|
645
|
+
export var getContentTypeIcon = function (contentType) {
|
|
646
646
|
var _a;
|
|
647
|
-
var type = camelize(
|
|
647
|
+
var type = camelize(contentType || "");
|
|
648
648
|
var iconMap = {
|
|
649
649
|
appbuilderExtension: "file",
|
|
650
650
|
appbuilderWidgetPackage: "widgets-source",
|
|
@@ -755,12 +755,12 @@ export var getContentTypeIcon = function (normalizedType) {
|
|
|
755
755
|
};
|
|
756
756
|
/**
|
|
757
757
|
* Compute the content type label
|
|
758
|
-
* @param
|
|
758
|
+
* @param contentType
|
|
759
759
|
* @param isProxied
|
|
760
760
|
* @returns content type label
|
|
761
761
|
*/
|
|
762
|
-
export var getContentTypeLabel = function (
|
|
763
|
-
return isProxied ? "CSV" : camelize(
|
|
762
|
+
export var getContentTypeLabel = function (contentType, isProxied) {
|
|
763
|
+
return isProxied ? "CSV" : camelize(contentType || "");
|
|
764
764
|
};
|
|
765
765
|
/**
|
|
766
766
|
* returns a new content that has the specified hubId and updated identifier
|
|
@@ -853,8 +853,8 @@ var getContentRelativeUrl = function (content, siteIdentifier) {
|
|
|
853
853
|
var getSolutionUrl = function (content) {
|
|
854
854
|
var _a;
|
|
855
855
|
var hubUrl;
|
|
856
|
-
var
|
|
857
|
-
if (
|
|
856
|
+
var type = content.type, identifier = content.identifier;
|
|
857
|
+
if (type === "Solution") {
|
|
858
858
|
// NOTE: as per the above spreadsheet,
|
|
859
859
|
// solution types are now in the Template family
|
|
860
860
|
// but we don't send them to the route for initiative templates
|
|
@@ -871,7 +871,6 @@ var getSolutionUrl = function (content) {
|
|
|
871
871
|
// TODO: we check both "Hub Page" and "Site Page" because we don't know whether the site is a portal or not
|
|
872
872
|
// In the future, the site object will have a site.isPortal() function that we can leverage
|
|
873
873
|
// instead of hardcoding the types here.
|
|
874
|
-
// TODO: should this be based on normalizedType instead?
|
|
875
874
|
var isPageContent = function (content) {
|
|
876
875
|
return includes(["Hub Page", "Site Page"], content.type);
|
|
877
876
|
};
|