@esri/hub-common 9.7.3 → 9.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/es2017/content/_internal.js +64 -0
- package/dist/es2017/content/_internal.js.map +1 -0
- package/dist/es2017/{content.js → content/index.js} +32 -29
- package/dist/es2017/content/index.js.map +1 -0
- package/dist/es2017/extent.js +49 -16
- package/dist/es2017/extent.js.map +1 -1
- package/dist/es2017/objects/deep-set.js +1 -1
- package/dist/es2017/objects/deep-set.js.map +1 -1
- package/dist/es2017/sites/upgrade-site-schema.js +3 -0
- package/dist/es2017/sites/upgrade-site-schema.js.map +1 -1
- package/dist/esm/content/_internal.js +65 -0
- package/dist/esm/content/_internal.js.map +1 -0
- package/dist/esm/{content.js → content/index.js} +32 -29
- package/dist/esm/content/index.js.map +1 -0
- package/dist/esm/extent.js +44 -11
- package/dist/esm/extent.js.map +1 -1
- package/dist/esm/objects/deep-set.js +1 -1
- package/dist/esm/objects/deep-set.js.map +1 -1
- package/dist/esm/sites/upgrade-site-schema.js +3 -0
- package/dist/esm/sites/upgrade-site-schema.js.map +1 -1
- package/dist/node/content/_internal.js +67 -0
- package/dist/node/content/_internal.js.map +1 -0
- package/dist/node/{content.js → content/index.js} +33 -30
- package/dist/node/content/index.js.map +1 -0
- package/dist/node/extent.js +50 -17
- package/dist/node/extent.js.map +1 -1
- package/dist/node/objects/deep-set.js +1 -1
- package/dist/node/objects/deep-set.js.map +1 -1
- package/dist/node/sites/upgrade-site-schema.js +3 -0
- package/dist/node/sites/upgrade-site-schema.js.map +1 -1
- package/dist/types/content/_internal.d.ts +91 -0
- package/dist/types/{content.d.ts → content/index.d.ts} +15 -4
- package/dist/types/extent.d.ts +11 -4
- package/dist/types/types.d.ts +4 -1
- package/dist/umd/common.umd.js +125 -34
- 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 +2 -2
- package/dist/es2017/content.js.map +0 -1
- package/dist/esm/content.js.map +0 -1
- package/dist/node/content.js.map +0 -1
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Use this module for functions that do not need to be used by consumers (yet),
|
|
3
|
+
* but may be shared between hub.js modules, and/or need to be tested
|
|
4
|
+
* to get 100% coverage w/o writing cumbersome tests of higher level functions.
|
|
5
|
+
*
|
|
6
|
+
* Consuming will not be able to import these functions.
|
|
7
|
+
*
|
|
8
|
+
* It's probably a good pattern to add functions here first and then
|
|
9
|
+
* move them to index.ts only when they are needed by a consumer.
|
|
10
|
+
*/
|
|
11
|
+
import { bBoxToPolygon, isBBox } from "../extent";
|
|
12
|
+
/**
|
|
13
|
+
* Create a new content with updated boundary properties
|
|
14
|
+
* @param content original content
|
|
15
|
+
* @param boundary boundary provenance
|
|
16
|
+
* @returns
|
|
17
|
+
*/
|
|
18
|
+
export const setContentBoundary = (content, boundary) => {
|
|
19
|
+
// update content's item and boundary
|
|
20
|
+
const properties = Object.assign(Object.assign({}, (content.item.properties || {})), { boundary });
|
|
21
|
+
const item = Object.assign(Object.assign({}, content.item), { properties });
|
|
22
|
+
const updated = Object.assign(Object.assign({}, content), { item });
|
|
23
|
+
return Object.assign(Object.assign({}, updated), { boundary: getContentBoundary(updated) });
|
|
24
|
+
};
|
|
25
|
+
/**
|
|
26
|
+
* Create a new content with updated extent and derived properties like boundary
|
|
27
|
+
* @param content original content
|
|
28
|
+
* @param extent new extent
|
|
29
|
+
* @returns a new content with the updated extent and boundary
|
|
30
|
+
*/
|
|
31
|
+
export const setContentExtent = (content, extent) => {
|
|
32
|
+
// update content's item and extent
|
|
33
|
+
const item = Object.assign(Object.assign({}, content.item), { extent });
|
|
34
|
+
const updated = Object.assign(Object.assign({}, content), { item, extent });
|
|
35
|
+
// derive boundary from content properties
|
|
36
|
+
const boundary = getContentBoundary(updated);
|
|
37
|
+
return Object.assign(Object.assign({}, updated), { boundary });
|
|
38
|
+
};
|
|
39
|
+
const getContentBoundary = (content) => {
|
|
40
|
+
var _a;
|
|
41
|
+
const item = content.item;
|
|
42
|
+
const extent = item.extent;
|
|
43
|
+
const isValidItemExtent = isBBox(extent);
|
|
44
|
+
// user specified provenance is stored in item.properties
|
|
45
|
+
const provenance = ((_a = item.properties) === null || _a === void 0 ? void 0 : _a.boundary) ||
|
|
46
|
+
// but we default to item if the item has an extent
|
|
47
|
+
(isValidItemExtent ? "item" : undefined);
|
|
48
|
+
let geometry;
|
|
49
|
+
switch (provenance) {
|
|
50
|
+
case "item":
|
|
51
|
+
geometry = isValidItemExtent ? bBoxToPolygon(extent) : null;
|
|
52
|
+
break;
|
|
53
|
+
case "none":
|
|
54
|
+
geometry = null;
|
|
55
|
+
break;
|
|
56
|
+
// TODO: handle other provenances
|
|
57
|
+
}
|
|
58
|
+
// TODO: derive and return center
|
|
59
|
+
return {
|
|
60
|
+
provenance,
|
|
61
|
+
geometry,
|
|
62
|
+
};
|
|
63
|
+
};
|
|
64
|
+
//# sourceMappingURL=_internal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_internal.js","sourceRoot":"","sources":["../../../src/content/_internal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAQH,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAElD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,OAAoB,EACpB,QAA6B,EAC7B,EAAE;IACF,qCAAqC;IACrC,MAAM,UAAU,mCAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,KAAE,QAAQ,GAAE,CAAC;IACpE,MAAM,IAAI,mCAAQ,OAAO,CAAC,IAAI,KAAE,UAAU,GAAE,CAAC;IAC7C,MAAM,OAAO,mCAAQ,OAAO,KAAE,IAAI,GAAE,CAAC;IACrC,uCAAY,OAAO,KAAE,QAAQ,EAAE,kBAAkB,CAAC,OAAO,CAAC,IAAG;AAC/D,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,OAAoB,EACpB,MAAY,EACC,EAAE;IACf,mCAAmC;IACnC,MAAM,IAAI,mCAAQ,OAAO,CAAC,IAAI,KAAE,MAAM,GAAE,CAAC;IACzC,MAAM,OAAO,mCAAQ,OAAO,KAAE,IAAI,EAAE,MAAM,GAAE,CAAC;IAC7C,0CAA0C;IAC1C,MAAM,QAAQ,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC7C,uCAAY,OAAO,KAAE,QAAQ,IAAG;AAClC,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,CAAC,OAAoB,EAAiB,EAAE;;IACjE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAC1B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IAC3B,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IACzC,yDAAyD;IACzD,MAAM,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;QACV,QAAQ;KACT,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import { collections } from "
|
|
2
|
-
import { categories as allCategories, isDownloadable } from "
|
|
3
|
-
import {
|
|
4
|
-
import { includes, isGuid } from "
|
|
5
|
-
import { getProp } from "
|
|
6
|
-
import { getStructuredLicense } from "
|
|
7
|
-
import { getServiceTypeFromUrl } from "
|
|
1
|
+
import { collections } from "../collections";
|
|
2
|
+
import { categories as allCategories, isDownloadable } from "../categories";
|
|
3
|
+
import { isBBox } from "../extent";
|
|
4
|
+
import { includes, isGuid } from "../utils";
|
|
5
|
+
import { getProp } from "../objects";
|
|
6
|
+
import { getStructuredLicense } from "../items/get-structured-license";
|
|
7
|
+
import { getServiceTypeFromUrl } from "../urls";
|
|
8
|
+
import { setContentExtent } from "./_internal";
|
|
8
9
|
function collectionToFamily(collection) {
|
|
9
10
|
const overrides = {
|
|
10
11
|
other: "content",
|
|
@@ -12,13 +13,6 @@ function collectionToFamily(collection) {
|
|
|
12
13
|
};
|
|
13
14
|
return overrides[collection] || collection;
|
|
14
15
|
}
|
|
15
|
-
function itemExtentToBoundary(extent) {
|
|
16
|
-
return (extent &&
|
|
17
|
-
extent.length && {
|
|
18
|
-
// TODO: center?
|
|
19
|
-
geometry: createExtent(extent[0][0], extent[0][1], extent[1][0], extent[1][1]),
|
|
20
|
-
});
|
|
21
|
-
}
|
|
22
16
|
const cache = {};
|
|
23
17
|
// TODO: remove this at next breaking version
|
|
24
18
|
/**
|
|
@@ -411,7 +405,6 @@ export function itemToContent(item) {
|
|
|
411
405
|
metrics: properties && properties.metrics,
|
|
412
406
|
isDownloadable: isDownloadable(item),
|
|
413
407
|
// default boundary from item.extent
|
|
414
|
-
boundary: itemExtentToBoundary(item.extent),
|
|
415
408
|
license: { name: "Custom License", description: item.accessInformation },
|
|
416
409
|
// dates and sources we will enrich these later...
|
|
417
410
|
createdDate,
|
|
@@ -422,7 +415,7 @@ export function itemToContent(item) {
|
|
|
422
415
|
updatedDateSource: "item.modified",
|
|
423
416
|
structuredLicense: getStructuredLicense(item.licenseInfo),
|
|
424
417
|
});
|
|
425
|
-
return setContentType(content, item.type);
|
|
418
|
+
return setContentExtent(setContentType(content, item.type), item.extent);
|
|
426
419
|
}
|
|
427
420
|
/**
|
|
428
421
|
* Convert a Hub API dataset resource to Hub Content
|
|
@@ -465,9 +458,7 @@ export function datasetToContent(dataset) {
|
|
|
465
458
|
content.errors = errors;
|
|
466
459
|
// common enrichments
|
|
467
460
|
content.boundary = boundary;
|
|
468
|
-
if (!
|
|
469
|
-
extent &&
|
|
470
|
-
isExtentCoordinateArray(extent.coordinates)) {
|
|
461
|
+
if (!isBBox(item.extent) && extent && isBBox(extent.coordinates)) {
|
|
471
462
|
// we fall back to the extent derived by the API
|
|
472
463
|
// which prefers layer or service extents and ultimately
|
|
473
464
|
// falls back to the org's extent
|
|
@@ -613,7 +604,7 @@ export function datasetToItem(dataset) {
|
|
|
613
604
|
};
|
|
614
605
|
}
|
|
615
606
|
/**
|
|
616
|
-
*
|
|
607
|
+
* returns a new content that has the specified type and
|
|
617
608
|
* and updated related properties like normalizedType, family, etc
|
|
618
609
|
* @param content orignal content
|
|
619
610
|
* @param type new type
|
|
@@ -621,8 +612,9 @@ export function datasetToItem(dataset) {
|
|
|
621
612
|
*/
|
|
622
613
|
export const setContentType = (content, type) => {
|
|
623
614
|
// get family and normalized type based on new type
|
|
624
|
-
const family = getFamily(type);
|
|
625
615
|
const normalizedType = normalizeItemType(Object.assign(Object.assign({}, content.item), { type }));
|
|
616
|
+
const family = getFamily(normalizedType);
|
|
617
|
+
// TODO: don't we need to update content.item.type too?
|
|
626
618
|
const updated = Object.assign(Object.assign({}, content), { type, family, normalizedType });
|
|
627
619
|
// update the relative URL to the content
|
|
628
620
|
// which is based on type and family
|
|
@@ -631,7 +623,7 @@ export const setContentType = (content, type) => {
|
|
|
631
623
|
});
|
|
632
624
|
};
|
|
633
625
|
/**
|
|
634
|
-
*
|
|
626
|
+
* returns a new content that has the specified hubId and updated identifier
|
|
635
627
|
* @param content orignal content
|
|
636
628
|
* @param hubId new hubId
|
|
637
629
|
* @returns new content
|
|
@@ -648,19 +640,30 @@ export const setContentHubId = (content, hubId) => {
|
|
|
648
640
|
});
|
|
649
641
|
};
|
|
650
642
|
/**
|
|
651
|
-
*
|
|
652
|
-
*
|
|
643
|
+
* Calculates the relative and absolute urls for a given content on a specific site
|
|
644
|
+
*
|
|
653
645
|
* @param content
|
|
654
646
|
* @param siteModel
|
|
655
|
-
* @returns
|
|
647
|
+
* @returns relative and absolute urls
|
|
656
648
|
*/
|
|
657
|
-
export const
|
|
658
|
-
//
|
|
649
|
+
export const getContentSiteUrls = (content, siteModel) => {
|
|
650
|
+
// compute relative URL using a site specific identifier
|
|
659
651
|
const siteIdentifier = getContentIdentifier(content, siteModel);
|
|
660
652
|
const relative = getContentRelativeUrl(content, siteIdentifier);
|
|
661
653
|
// get the absolute URL to this content on the site
|
|
662
654
|
const siteUrl = getProp(siteModel, "item.url").replace(/\/$/, "");
|
|
663
|
-
const
|
|
655
|
+
const absolute = `${siteUrl}${relative}`;
|
|
656
|
+
return { relative, absolute };
|
|
657
|
+
};
|
|
658
|
+
/**
|
|
659
|
+
* append the absolute URL to the content on the site
|
|
660
|
+
* also updates the relative URL in case the
|
|
661
|
+
* @param content
|
|
662
|
+
* @param siteModel
|
|
663
|
+
* @returns
|
|
664
|
+
*/
|
|
665
|
+
export const setContentSiteUrls = (content, siteModel) => {
|
|
666
|
+
const { relative, absolute: site } = getContentSiteUrls(content, siteModel);
|
|
664
667
|
// append the updated URLs to a new content
|
|
665
668
|
return appendContentUrls(content, {
|
|
666
669
|
relative,
|
|
@@ -730,4 +733,4 @@ const getSolutionUrl = (content) => {
|
|
|
730
733
|
// instead of hardcoding the types here.
|
|
731
734
|
// TODO: should this be based on normalizedType instead?
|
|
732
735
|
const isPageContent = (content) => includes(["Hub Page", "Site Page"], content.type);
|
|
733
|
-
//# sourceMappingURL=
|
|
736
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/content/index.ts"],"names":[],"mappings":"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"}
|
package/dist/es2017/extent.js
CHANGED
|
@@ -8,8 +8,8 @@ export function createExtent(xmin, ymin, xmax, ymax, wkid = 4326) {
|
|
|
8
8
|
ymax,
|
|
9
9
|
// type: 'extent',
|
|
10
10
|
spatialReference: {
|
|
11
|
-
wkid
|
|
12
|
-
}
|
|
11
|
+
wkid,
|
|
12
|
+
},
|
|
13
13
|
};
|
|
14
14
|
}
|
|
15
15
|
/**
|
|
@@ -17,7 +17,10 @@ export function createExtent(xmin, ymin, xmax, ymax, wkid = 4326) {
|
|
|
17
17
|
* @param envelope extent
|
|
18
18
|
*/
|
|
19
19
|
export function extentToBBox(envelope) {
|
|
20
|
-
return [
|
|
20
|
+
return [
|
|
21
|
+
[envelope.xmin, envelope.ymin],
|
|
22
|
+
[envelope.xmax, envelope.ymax],
|
|
23
|
+
];
|
|
21
24
|
}
|
|
22
25
|
export const GLOBAL_EXTENT = {
|
|
23
26
|
xmin: -180,
|
|
@@ -25,8 +28,8 @@ export const GLOBAL_EXTENT = {
|
|
|
25
28
|
xmax: 180,
|
|
26
29
|
ymax: 90,
|
|
27
30
|
spatialReference: {
|
|
28
|
-
wkid: 4326
|
|
29
|
-
}
|
|
31
|
+
wkid: 4326,
|
|
32
|
+
},
|
|
30
33
|
};
|
|
31
34
|
/**
|
|
32
35
|
* Gets the geographic extent for an org
|
|
@@ -47,7 +50,7 @@ export function getGeographicOrgExtent(hubRequestOptions) {
|
|
|
47
50
|
// geometry params...
|
|
48
51
|
const geometryParam = {
|
|
49
52
|
geometryType: "esriGeometryEnvelope",
|
|
50
|
-
geometries: [orgExtent]
|
|
53
|
+
geometries: [orgExtent],
|
|
51
54
|
};
|
|
52
55
|
const options = {
|
|
53
56
|
httpMethod: "POST",
|
|
@@ -57,15 +60,15 @@ export function getGeographicOrgExtent(hubRequestOptions) {
|
|
|
57
60
|
transformation: "",
|
|
58
61
|
inSR: orgExtent.spatialReference.wkid,
|
|
59
62
|
outSR: 4326,
|
|
60
|
-
f: "json"
|
|
61
|
-
}
|
|
63
|
+
f: "json",
|
|
64
|
+
},
|
|
62
65
|
};
|
|
63
66
|
// add in auth if it's passed
|
|
64
67
|
if (hubRequestOptions.authentication) {
|
|
65
68
|
options.authentication = hubRequestOptions.authentication;
|
|
66
69
|
}
|
|
67
70
|
return request(url, options)
|
|
68
|
-
.then(response => {
|
|
71
|
+
.then((response) => {
|
|
69
72
|
const geom = response.geometries[0];
|
|
70
73
|
return {
|
|
71
74
|
xmin: geom.xmin,
|
|
@@ -73,11 +76,11 @@ export function getGeographicOrgExtent(hubRequestOptions) {
|
|
|
73
76
|
xmax: geom.xmax,
|
|
74
77
|
ymax: geom.ymax,
|
|
75
78
|
spatialReference: {
|
|
76
|
-
wkid: 4326
|
|
77
|
-
}
|
|
79
|
+
wkid: 4326,
|
|
80
|
+
},
|
|
78
81
|
};
|
|
79
82
|
})
|
|
80
|
-
.catch(ex => {
|
|
83
|
+
.catch((ex) => {
|
|
81
84
|
return GLOBAL_EXTENT;
|
|
82
85
|
});
|
|
83
86
|
}
|
|
@@ -86,15 +89,26 @@ export function getGeographicOrgExtent(hubRequestOptions) {
|
|
|
86
89
|
* @param {IHubRequestOptions} hubRequestOptions
|
|
87
90
|
*/
|
|
88
91
|
export function getOrgExtentAsBBox(hubRequestOptions) {
|
|
89
|
-
return getGeographicOrgExtent(hubRequestOptions).then(extent => extentToBBox(extent));
|
|
92
|
+
return getGeographicOrgExtent(hubRequestOptions).then((extent) => extentToBBox(extent));
|
|
90
93
|
}
|
|
91
|
-
|
|
94
|
+
/**
|
|
95
|
+
* checks if the extent is a valid BBox (2 element array of coordinate pair arrays)
|
|
96
|
+
* @param extent
|
|
97
|
+
* @returns
|
|
98
|
+
*/
|
|
99
|
+
export const isBBox = (extent) => {
|
|
92
100
|
return (Array.isArray(extent) &&
|
|
93
101
|
Array.isArray(extent[0]) &&
|
|
94
102
|
Array.isArray(extent[1]));
|
|
103
|
+
};
|
|
104
|
+
export function isExtentCoordinateArray(extent) {
|
|
105
|
+
/* tslint:disable no-console */
|
|
106
|
+
console.warn("DEPRECATED: use isBBox() instead");
|
|
107
|
+
/* tslint:enable no-console */
|
|
108
|
+
return isBBox(extent);
|
|
95
109
|
}
|
|
96
110
|
function isExtentJSON(extent) {
|
|
97
|
-
return ["xmin", "ymin", "xmax", "ymax"].every(key => typeof extent[key] === "number");
|
|
111
|
+
return ["xmin", "ymin", "xmax", "ymax"].every((key) => typeof extent[key] === "number");
|
|
98
112
|
}
|
|
99
113
|
/**
|
|
100
114
|
* Check if the given extent is in a known format
|
|
@@ -103,6 +117,25 @@ function isExtentJSON(extent) {
|
|
|
103
117
|
*/
|
|
104
118
|
export function isValidExtent(extent) {
|
|
105
119
|
return (!!extent &&
|
|
106
|
-
[isExtentCoordinateArray, isExtentJSON].some(test => test(extent)));
|
|
120
|
+
[isExtentCoordinateArray, isExtentJSON].some((test) => test(extent)));
|
|
107
121
|
}
|
|
122
|
+
export const bBoxToPolygon = (bBox) => {
|
|
123
|
+
const [[xmin, ymin], [xmax, ymax]] = bBox;
|
|
124
|
+
const rings = [
|
|
125
|
+
[
|
|
126
|
+
[xmin, ymin],
|
|
127
|
+
[xmax, ymin],
|
|
128
|
+
[xmax, ymax],
|
|
129
|
+
[xmin, ymax],
|
|
130
|
+
[xmin, ymin],
|
|
131
|
+
],
|
|
132
|
+
];
|
|
133
|
+
const wkid = 4326;
|
|
134
|
+
return {
|
|
135
|
+
rings,
|
|
136
|
+
spatialReference: {
|
|
137
|
+
wkid,
|
|
138
|
+
},
|
|
139
|
+
};
|
|
140
|
+
};
|
|
108
141
|
//# sourceMappingURL=extent.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extent.js","sourceRoot":"","sources":["../../src/extent.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAmB,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAErE,MAAM,UAAU,YAAY,CAC1B,IAAY,EACZ,IAAY,EACZ,IAAY,EACZ,IAAY,EACZ,OAAe,IAAI;IAEnB,OAAO;QACL,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,kBAAkB;QAClB,gBAAgB,EAAE;YAChB,IAAI;SACL;KACF,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,QAAiB;IAC5C,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"extent.js","sourceRoot":"","sources":["../../src/extent.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,7 +10,7 @@ export function deepSet(target, path, value = {}) {
|
|
|
10
10
|
let worker = target;
|
|
11
11
|
const lastIdx = parts.length - 1;
|
|
12
12
|
parts.forEach((p, idx) => {
|
|
13
|
-
if (!worker.hasOwnProperty(p) || worker[p]
|
|
13
|
+
if (!worker.hasOwnProperty(p) || worker[p] == null) {
|
|
14
14
|
if (idx === lastIdx) {
|
|
15
15
|
worker[p] = value;
|
|
16
16
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deep-set.js","sourceRoot":"","sources":["../../../src/objects/deep-set.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC;;;;;GAKG;AACH,MAAM,UAAU,OAAO,CACrB,MAA2B,EAC3B,IAAY,EACZ,QAAa,EAAE;IAEf,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC9B,IAAI,MAAM,GAAG,MAAM,CAAC;IACpB,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IACjC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE;QACvB,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"deep-set.js","sourceRoot":"","sources":["../../../src/objects/deep-set.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC;;;;;GAKG;AACH,MAAM,UAAU,OAAO,CACrB,MAA2B,EAC3B,IAAY,EACZ,QAAa,EAAE;IAEf,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC9B,IAAI,MAAM,GAAG,MAAM,CAAC;IACpB,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IACjC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE;QACvB,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE;YAClD,IAAI,GAAG,KAAK,OAAO,EAAE;gBACnB,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;aACnB;iBAAM;gBACL,yBAAyB;gBACzB,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;aAChB;SACF;aAAM,IAAI,GAAG,KAAK,OAAO,EAAE;YAC1B,IAAI,OAAO,MAAM,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE;gBAC9D,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;aAC1D;iBAAM;gBACL,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;aACnB;SACF;QACD,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACrB,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -22,6 +22,9 @@ export function upgradeSiteSchema(model) {
|
|
|
22
22
|
model = _purgeNonGuidsFromCatalog(model);
|
|
23
23
|
model = _ensureTelemetry(model);
|
|
24
24
|
model = _migrateFeedConfig(model);
|
|
25
|
+
// WARNING - If you are writing a site schema migration,
|
|
26
|
+
// you probably need to apply it to site drafts as well!
|
|
27
|
+
// See https://github.com/Esri/hub.js/issues/498 for more details.
|
|
25
28
|
return model;
|
|
26
29
|
}
|
|
27
30
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upgrade-site-schema.js","sourceRoot":"","sources":["../../../src/sites/upgrade-site-schema.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAa;IAC7C,IAAI,OAAO,CAAC,KAAK,EAAE,+BAA+B,CAAC,KAAK,mBAAmB,EAAE;QAC3E,OAAO,KAAK,CAAC;KACd;SAAM;QACL,sCAAsC;QACtC,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAChC,KAAK,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC;QACxC,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;QAC9B,KAAK,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC;QACzC,KAAK,GAAG,gBAAgB,CAAS,KAAK,CAAC,CAAC;QACxC,KAAK,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAClC,OAAO,KAAK,CAAC;KACd;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"upgrade-site-schema.js","sourceRoot":"","sources":["../../../src/sites/upgrade-site-schema.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAa;IAC7C,IAAI,OAAO,CAAC,KAAK,EAAE,+BAA+B,CAAC,KAAK,mBAAmB,EAAE;QAC3E,OAAO,KAAK,CAAC;KACd;SAAM;QACL,sCAAsC;QACtC,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAChC,KAAK,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC;QACxC,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;QAC9B,KAAK,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC;QACzC,KAAK,GAAG,gBAAgB,CAAS,KAAK,CAAC,CAAC;QACxC,KAAK,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAClC,wDAAwD;QACxD,wDAAwD;QACxD,kEAAkE;QAClE,OAAO,KAAK,CAAC;KACd;AACH,CAAC"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Use this module for functions that do not need to be used by consumers (yet),
|
|
3
|
+
* but may be shared between hub.js modules, and/or need to be tested
|
|
4
|
+
* to get 100% coverage w/o writing cumbersome tests of higher level functions.
|
|
5
|
+
*
|
|
6
|
+
* Consuming will not be able to import these functions.
|
|
7
|
+
*
|
|
8
|
+
* It's probably a good pattern to add functions here first and then
|
|
9
|
+
* move them to index.ts only when they are needed by a consumer.
|
|
10
|
+
*/
|
|
11
|
+
import { __assign } from "tslib";
|
|
12
|
+
import { bBoxToPolygon, isBBox } from "../extent";
|
|
13
|
+
/**
|
|
14
|
+
* Create a new content with updated boundary properties
|
|
15
|
+
* @param content original content
|
|
16
|
+
* @param boundary boundary provenance
|
|
17
|
+
* @returns
|
|
18
|
+
*/
|
|
19
|
+
export var setContentBoundary = function (content, boundary) {
|
|
20
|
+
// update content's item and boundary
|
|
21
|
+
var properties = __assign(__assign({}, (content.item.properties || {})), { boundary: boundary });
|
|
22
|
+
var item = __assign(__assign({}, content.item), { properties: properties });
|
|
23
|
+
var updated = __assign(__assign({}, content), { item: item });
|
|
24
|
+
return __assign(__assign({}, updated), { boundary: getContentBoundary(updated) });
|
|
25
|
+
};
|
|
26
|
+
/**
|
|
27
|
+
* Create a new content with updated extent and derived properties like boundary
|
|
28
|
+
* @param content original content
|
|
29
|
+
* @param extent new extent
|
|
30
|
+
* @returns a new content with the updated extent and boundary
|
|
31
|
+
*/
|
|
32
|
+
export var setContentExtent = function (content, extent) {
|
|
33
|
+
// update content's item and extent
|
|
34
|
+
var item = __assign(__assign({}, content.item), { extent: extent });
|
|
35
|
+
var updated = __assign(__assign({}, content), { item: item, extent: extent });
|
|
36
|
+
// derive boundary from content properties
|
|
37
|
+
var boundary = getContentBoundary(updated);
|
|
38
|
+
return __assign(__assign({}, updated), { boundary: boundary });
|
|
39
|
+
};
|
|
40
|
+
var getContentBoundary = function (content) {
|
|
41
|
+
var _a;
|
|
42
|
+
var item = content.item;
|
|
43
|
+
var extent = item.extent;
|
|
44
|
+
var isValidItemExtent = isBBox(extent);
|
|
45
|
+
// user specified provenance is stored in item.properties
|
|
46
|
+
var provenance = ((_a = item.properties) === null || _a === void 0 ? void 0 : _a.boundary) ||
|
|
47
|
+
// but we default to item if the item has an extent
|
|
48
|
+
(isValidItemExtent ? "item" : undefined);
|
|
49
|
+
var geometry;
|
|
50
|
+
switch (provenance) {
|
|
51
|
+
case "item":
|
|
52
|
+
geometry = isValidItemExtent ? bBoxToPolygon(extent) : null;
|
|
53
|
+
break;
|
|
54
|
+
case "none":
|
|
55
|
+
geometry = null;
|
|
56
|
+
break;
|
|
57
|
+
// TODO: handle other provenances
|
|
58
|
+
}
|
|
59
|
+
// TODO: derive and return center
|
|
60
|
+
return {
|
|
61
|
+
provenance: provenance,
|
|
62
|
+
geometry: geometry,
|
|
63
|
+
};
|
|
64
|
+
};
|
|
65
|
+
//# sourceMappingURL=_internal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_internal.js","sourceRoot":"","sources":["../../../src/content/_internal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;;AAQH,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"}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { __assign, __spreadArrays } from "tslib";
|
|
2
|
-
import { collections } from "
|
|
3
|
-
import { categories as allCategories, isDownloadable } from "
|
|
4
|
-
import {
|
|
5
|
-
import { includes, isGuid } from "
|
|
6
|
-
import { getProp } from "
|
|
7
|
-
import { getStructuredLicense } from "
|
|
8
|
-
import { getServiceTypeFromUrl } from "
|
|
2
|
+
import { collections } from "../collections";
|
|
3
|
+
import { categories as allCategories, isDownloadable } from "../categories";
|
|
4
|
+
import { isBBox } from "../extent";
|
|
5
|
+
import { includes, isGuid } from "../utils";
|
|
6
|
+
import { getProp } from "../objects";
|
|
7
|
+
import { getStructuredLicense } from "../items/get-structured-license";
|
|
8
|
+
import { getServiceTypeFromUrl } from "../urls";
|
|
9
|
+
import { setContentExtent } from "./_internal";
|
|
9
10
|
function collectionToFamily(collection) {
|
|
10
11
|
var overrides = {
|
|
11
12
|
other: "content",
|
|
@@ -13,13 +14,6 @@ function collectionToFamily(collection) {
|
|
|
13
14
|
};
|
|
14
15
|
return overrides[collection] || collection;
|
|
15
16
|
}
|
|
16
|
-
function itemExtentToBoundary(extent) {
|
|
17
|
-
return (extent &&
|
|
18
|
-
extent.length && {
|
|
19
|
-
// TODO: center?
|
|
20
|
-
geometry: createExtent(extent[0][0], extent[0][1], extent[1][0], extent[1][1]),
|
|
21
|
-
});
|
|
22
|
-
}
|
|
23
17
|
var cache = {};
|
|
24
18
|
// TODO: remove this at next breaking version
|
|
25
19
|
/**
|
|
@@ -419,7 +413,6 @@ export function itemToContent(item) {
|
|
|
419
413
|
metrics: properties && properties.metrics,
|
|
420
414
|
isDownloadable: isDownloadable(item),
|
|
421
415
|
// default boundary from item.extent
|
|
422
|
-
boundary: itemExtentToBoundary(item.extent),
|
|
423
416
|
license: { name: "Custom License", description: item.accessInformation },
|
|
424
417
|
// dates and sources we will enrich these later...
|
|
425
418
|
createdDate: createdDate,
|
|
@@ -430,7 +423,7 @@ export function itemToContent(item) {
|
|
|
430
423
|
updatedDateSource: "item.modified",
|
|
431
424
|
structuredLicense: getStructuredLicense(item.licenseInfo),
|
|
432
425
|
});
|
|
433
|
-
return setContentType(content, item.type);
|
|
426
|
+
return setContentExtent(setContentType(content, item.type), item.extent);
|
|
434
427
|
}
|
|
435
428
|
/**
|
|
436
429
|
* Convert a Hub API dataset resource to Hub Content
|
|
@@ -473,9 +466,7 @@ export function datasetToContent(dataset) {
|
|
|
473
466
|
content.errors = errors;
|
|
474
467
|
// common enrichments
|
|
475
468
|
content.boundary = boundary;
|
|
476
|
-
if (!
|
|
477
|
-
extent &&
|
|
478
|
-
isExtentCoordinateArray(extent.coordinates)) {
|
|
469
|
+
if (!isBBox(item.extent) && extent && isBBox(extent.coordinates)) {
|
|
479
470
|
// we fall back to the extent derived by the API
|
|
480
471
|
// which prefers layer or service extents and ultimately
|
|
481
472
|
// falls back to the org's extent
|
|
@@ -621,7 +612,7 @@ export function datasetToItem(dataset) {
|
|
|
621
612
|
};
|
|
622
613
|
}
|
|
623
614
|
/**
|
|
624
|
-
*
|
|
615
|
+
* returns a new content that has the specified type and
|
|
625
616
|
* and updated related properties like normalizedType, family, etc
|
|
626
617
|
* @param content orignal content
|
|
627
618
|
* @param type new type
|
|
@@ -629,8 +620,9 @@ export function datasetToItem(dataset) {
|
|
|
629
620
|
*/
|
|
630
621
|
export var setContentType = function (content, type) {
|
|
631
622
|
// get family and normalized type based on new type
|
|
632
|
-
var family = getFamily(type);
|
|
633
623
|
var normalizedType = normalizeItemType(__assign(__assign({}, content.item), { type: type }));
|
|
624
|
+
var family = getFamily(normalizedType);
|
|
625
|
+
// TODO: don't we need to update content.item.type too?
|
|
634
626
|
var updated = __assign(__assign({}, content), { type: type, family: family, normalizedType: normalizedType });
|
|
635
627
|
// update the relative URL to the content
|
|
636
628
|
// which is based on type and family
|
|
@@ -639,7 +631,7 @@ export var setContentType = function (content, type) {
|
|
|
639
631
|
});
|
|
640
632
|
};
|
|
641
633
|
/**
|
|
642
|
-
*
|
|
634
|
+
* returns a new content that has the specified hubId and updated identifier
|
|
643
635
|
* @param content orignal content
|
|
644
636
|
* @param hubId new hubId
|
|
645
637
|
* @returns new content
|
|
@@ -656,19 +648,30 @@ export var setContentHubId = function (content, hubId) {
|
|
|
656
648
|
});
|
|
657
649
|
};
|
|
658
650
|
/**
|
|
659
|
-
*
|
|
660
|
-
*
|
|
651
|
+
* Calculates the relative and absolute urls for a given content on a specific site
|
|
652
|
+
*
|
|
661
653
|
* @param content
|
|
662
654
|
* @param siteModel
|
|
663
|
-
* @returns
|
|
655
|
+
* @returns relative and absolute urls
|
|
664
656
|
*/
|
|
665
|
-
export var
|
|
666
|
-
//
|
|
657
|
+
export var getContentSiteUrls = function (content, siteModel) {
|
|
658
|
+
// compute relative URL using a site specific identifier
|
|
667
659
|
var siteIdentifier = getContentIdentifier(content, siteModel);
|
|
668
660
|
var relative = getContentRelativeUrl(content, siteIdentifier);
|
|
669
661
|
// get the absolute URL to this content on the site
|
|
670
662
|
var siteUrl = getProp(siteModel, "item.url").replace(/\/$/, "");
|
|
671
|
-
var
|
|
663
|
+
var absolute = "" + siteUrl + relative;
|
|
664
|
+
return { relative: relative, absolute: absolute };
|
|
665
|
+
};
|
|
666
|
+
/**
|
|
667
|
+
* append the absolute URL to the content on the site
|
|
668
|
+
* also updates the relative URL in case the
|
|
669
|
+
* @param content
|
|
670
|
+
* @param siteModel
|
|
671
|
+
* @returns
|
|
672
|
+
*/
|
|
673
|
+
export var setContentSiteUrls = function (content, siteModel) {
|
|
674
|
+
var _a = getContentSiteUrls(content, siteModel), relative = _a.relative, site = _a.absolute;
|
|
672
675
|
// append the updated URLs to a new content
|
|
673
676
|
return appendContentUrls(content, {
|
|
674
677
|
relative: relative,
|
|
@@ -740,4 +743,4 @@ var getSolutionUrl = function (content) {
|
|
|
740
743
|
var isPageContent = function (content) {
|
|
741
744
|
return includes(["Hub Page", "Site Page"], content.type);
|
|
742
745
|
};
|
|
743
|
-
//# sourceMappingURL=
|
|
746
|
+
//# sourceMappingURL=index.js.map
|