@esri/hub-common 14.178.0 → 14.179.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/esm/content/HubContent.js +5 -0
- package/dist/esm/content/HubContent.js.map +1 -1
- package/dist/esm/content/_internal/ContentSchema.js +5 -0
- package/dist/esm/content/_internal/ContentSchema.js.map +1 -1
- package/dist/esm/content/_internal/ContentUiSchemaSettings.js +5 -23
- package/dist/esm/content/_internal/ContentUiSchemaSettings.js.map +1 -1
- package/dist/esm/content/_internal/computeProps.js +1 -0
- package/dist/esm/content/_internal/computeProps.js.map +1 -1
- package/dist/esm/content/_internal/getDownloadsSection.js +135 -0
- package/dist/esm/content/_internal/getDownloadsSection.js.map +1 -0
- package/dist/esm/content/_internal/shouldShowDownloadsConfiguration.js +23 -0
- package/dist/esm/content/_internal/shouldShowDownloadsConfiguration.js.map +1 -0
- package/dist/esm/content/edit.js +40 -3
- package/dist/esm/content/edit.js.map +1 -1
- package/dist/esm/downloads/_internal/additional-resources/utils.js +23 -0
- package/dist/esm/downloads/_internal/additional-resources/utils.js.map +1 -0
- package/dist/esm/downloads/_internal/getDownloadConfigurationDisplayFormats.js +75 -0
- package/dist/esm/downloads/_internal/getDownloadConfigurationDisplayFormats.js.map +1 -0
- package/dist/esm/downloads/_internal/getDownloadFlow.js +26 -0
- package/dist/esm/downloads/_internal/getDownloadFlow.js.map +1 -0
- package/dist/esm/downloads/_internal/getDownloadFormatsByFlow.js +28 -0
- package/dist/esm/downloads/_internal/getDownloadFormatsByFlow.js.map +1 -0
- package/dist/esm/downloads/fetchDownloadFile.js +20 -0
- package/dist/esm/downloads/fetchDownloadFile.js.map +1 -1
- package/dist/esm/downloads/fetchDownloadFormats.js +4 -0
- package/dist/esm/downloads/fetchDownloadFormats.js.map +1 -1
- package/dist/esm/downloads/getDownloadConfiguration.js +52 -0
- package/dist/esm/downloads/getDownloadConfiguration.js.map +1 -0
- package/dist/esm/downloads/getDownloadFormats.js +59 -0
- package/dist/esm/downloads/getDownloadFormats.js.map +1 -0
- package/dist/esm/downloads/index.js +2 -0
- package/dist/esm/downloads/index.js.map +1 -1
- package/dist/node/content/HubContent.js +5 -0
- package/dist/node/content/HubContent.js.map +1 -1
- package/dist/node/content/_internal/ContentSchema.js +5 -0
- package/dist/node/content/_internal/ContentSchema.js.map +1 -1
- package/dist/node/content/_internal/ContentUiSchemaSettings.js +5 -23
- package/dist/node/content/_internal/ContentUiSchemaSettings.js.map +1 -1
- package/dist/node/content/_internal/computeProps.js +1 -0
- package/dist/node/content/_internal/computeProps.js.map +1 -1
- package/dist/node/content/_internal/getDownloadsSection.js +139 -0
- package/dist/node/content/_internal/getDownloadsSection.js.map +1 -0
- package/dist/node/content/_internal/shouldShowDownloadsConfiguration.js +27 -0
- package/dist/node/content/_internal/shouldShowDownloadsConfiguration.js.map +1 -0
- package/dist/node/content/edit.js +39 -2
- package/dist/node/content/edit.js.map +1 -1
- package/dist/node/downloads/_internal/additional-resources/utils.js +28 -0
- package/dist/node/downloads/_internal/additional-resources/utils.js.map +1 -0
- package/dist/node/downloads/_internal/getDownloadConfigurationDisplayFormats.js +79 -0
- package/dist/node/downloads/_internal/getDownloadConfigurationDisplayFormats.js.map +1 -0
- package/dist/node/downloads/_internal/getDownloadFlow.js +30 -0
- package/dist/node/downloads/_internal/getDownloadFlow.js.map +1 -0
- package/dist/node/downloads/_internal/getDownloadFormatsByFlow.js +32 -0
- package/dist/node/downloads/_internal/getDownloadFormatsByFlow.js.map +1 -0
- package/dist/node/downloads/fetchDownloadFile.js +20 -0
- package/dist/node/downloads/fetchDownloadFile.js.map +1 -1
- package/dist/node/downloads/fetchDownloadFormats.js +4 -0
- package/dist/node/downloads/fetchDownloadFormats.js.map +1 -1
- package/dist/node/downloads/getDownloadConfiguration.js +56 -0
- package/dist/node/downloads/getDownloadConfiguration.js.map +1 -0
- package/dist/node/downloads/getDownloadFormats.js +63 -0
- package/dist/node/downloads/getDownloadFormats.js.map +1 -0
- package/dist/node/downloads/index.js +2 -0
- package/dist/node/downloads/index.js.map +1 -1
- package/dist/types/content/_internal/getDownloadsSection.d.ts +13 -0
- package/dist/types/content/_internal/shouldShowDownloadsConfiguration.d.ts +13 -0
- package/dist/types/core/types/IHubEditableContent.d.ts +57 -1
- package/dist/types/downloads/_internal/additional-resources/utils.d.ts +19 -0
- package/dist/types/downloads/_internal/getDownloadConfigurationDisplayFormats.d.ts +10 -0
- package/dist/types/downloads/_internal/getDownloadFlow.d.ts +11 -0
- package/dist/types/downloads/_internal/getDownloadFormatsByFlow.d.ts +11 -0
- package/dist/types/downloads/fetchDownloadFormats.d.ts +2 -0
- package/dist/types/downloads/getDownloadConfiguration.d.ts +11 -0
- package/dist/types/downloads/getDownloadFormats.d.ts +9 -0
- package/dist/types/downloads/index.d.ts +2 -0
- package/package.json +1 -1
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
import { canUseExportImageFlow } from "./_internal/canUseExportImageFlow";
|
|
2
2
|
import { canUseHubDownloadApi } from "./canUseHubDownloadApi";
|
|
3
3
|
/**
|
|
4
|
+
* DEPRECATED: This will be removed in the next breaking version. Use "getDownloadFormats()" instead.
|
|
5
|
+
*
|
|
4
6
|
* Fetches download formats for the given entity. Also folds in any additional resources defined on the entity.
|
|
5
7
|
* @param options options to refine / filter the results of the fetchDownloadFormats operation
|
|
6
8
|
* @returns a promise that resolves with the download formats
|
|
7
9
|
*/
|
|
8
10
|
export async function fetchDownloadFormats(options) {
|
|
11
|
+
/* tslint:disable no-console */
|
|
12
|
+
console.warn(`"fetchDownloadFormats()" is deprecated. Please use "getDownloadFormats()"`);
|
|
9
13
|
const { entity, context, layers } = options;
|
|
10
14
|
// fetch base formats for the item
|
|
11
15
|
let baseFormats = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetchDownloadFormats.js","sourceRoot":"","sources":["../../../src/downloads/fetchDownloadFormats.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAO9D
|
|
1
|
+
{"version":3,"file":"fetchDownloadFormats.js","sourceRoot":"","sources":["../../../src/downloads/fetchDownloadFormats.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAO9D;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,OAAqC;IAErC,+BAA+B;IAC/B,OAAO,CAAC,IAAI,CACV,2EAA2E,CAC5E,CAAC;IAEF,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAC5C,kCAAkC;IAClC,IAAI,WAAW,GAAsB,EAAE,CAAC;IACxC,IAAI,oBAAoB,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE;QACzC,MAAM,EAAE,wBAAwB,EAAE,GAAG,MAAM,MAAM,CAC/C,4BAA4B,CAC7B,CAAC;QACF,WAAW,GAAG,wBAAwB,CAAC,MAAM,CAAC,CAAC;KAChD;SAAM,IAAI,qBAAqB,CAAC,MAAM,CAAC,EAAE;QACxC,MAAM,EAAE,qBAAqB,EAAE,GAAG,MAAM,MAAM,CAC5C,mDAAmD,CACpD,CAAC;QACF,WAAW,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;KAC7C;IAED,kDAAkD;IAClD,0DAA0D;IAC1D,MAAM,iBAAiB,GAAG,CAAC,MAAM,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAC,GAAG,CAC9D,cAAc,CACf,CAAC;IAEF,mCAAmC;IACnC,OAAO,CAAC,GAAG,WAAW,EAAE,GAAG,iBAAiB,CAAC,CAAC;AAChD,CAAC;AAED,SAAS,cAAc,CACrB,QAAgC;IAEhC,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,KAAK,EACH,QAAQ,CAAC,IAAI;YACb,CAAC,QAAQ,CAAC,YAAY,IAAI,0BAA0B,CAAC,IAAI,+CAA+C;YACxG,uBAAuB;QACzB,GAAG,EAAE,QAAQ,CAAC,GAAG;KAClB,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { getProp } from "../objects/get-prop";
|
|
2
|
+
import { getDownloadFlow } from "./_internal/getDownloadFlow";
|
|
3
|
+
import { getDownloadFormatsByFlow } from "./_internal/getDownloadFormatsByFlow";
|
|
4
|
+
/**
|
|
5
|
+
* Returns the download configuration for an entity at this moment in time.
|
|
6
|
+
*
|
|
7
|
+
* If no configuration exists, a default configuration is returned based on the entity's current download flow.
|
|
8
|
+
* If a configuration exists but is no longer valid, the default configuration will also be returned.
|
|
9
|
+
*
|
|
10
|
+
* @param entity entity to get download configuration for
|
|
11
|
+
* @returns the current download configuration for the entity
|
|
12
|
+
*/
|
|
13
|
+
export function getDownloadConfiguration(entity) {
|
|
14
|
+
// TODO: account for enterprise environments
|
|
15
|
+
const downloadFlow = getDownloadFlow(entity);
|
|
16
|
+
const serverFormats = getDownloadFormatsByFlow(downloadFlow, entity);
|
|
17
|
+
const additionalResources = getProp(entity, "extendedProps.additionalResources") || [];
|
|
18
|
+
const existingConfiguration = getProp(entity, "extendedProps.downloads");
|
|
19
|
+
// Base combined default formats
|
|
20
|
+
const combinedDefaultFormats = serverFormats.map((f) => {
|
|
21
|
+
return {
|
|
22
|
+
key: f.format,
|
|
23
|
+
hidden: false,
|
|
24
|
+
};
|
|
25
|
+
});
|
|
26
|
+
additionalResources.forEach((f, idx) => {
|
|
27
|
+
combinedDefaultFormats.push({
|
|
28
|
+
key: `additionalResource::${idx}`,
|
|
29
|
+
hidden: false,
|
|
30
|
+
});
|
|
31
|
+
});
|
|
32
|
+
const shouldUseExistingConfiguration = existingConfiguration && existingConfiguration.flowType === downloadFlow;
|
|
33
|
+
// Existing configuration matches the current flow
|
|
34
|
+
if (shouldUseExistingConfiguration) {
|
|
35
|
+
const missingDefaultFormats = combinedDefaultFormats.filter((f) => {
|
|
36
|
+
return !existingConfiguration.formats.find((df) => df.key === f.key);
|
|
37
|
+
});
|
|
38
|
+
const validConfiguredFormats = existingConfiguration.formats.filter((f) => {
|
|
39
|
+
return combinedDefaultFormats.find((df) => df.key === f.key);
|
|
40
|
+
});
|
|
41
|
+
return {
|
|
42
|
+
flowType: downloadFlow,
|
|
43
|
+
formats: [...validConfiguredFormats, ...missingDefaultFormats],
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
// Existing configuration does not match the current flow
|
|
47
|
+
return {
|
|
48
|
+
flowType: downloadFlow,
|
|
49
|
+
formats: combinedDefaultFormats,
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=getDownloadConfiguration.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getDownloadConfiguration.js","sourceRoot":"","sources":["../../../src/downloads/getDownloadConfiguration.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;AAEhF;;;;;;;;GAQG;AACH,MAAM,UAAU,wBAAwB,CACtC,MAA2B;IAE3B,4CAA4C;IAC5C,MAAM,YAAY,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IAC7C,MAAM,aAAa,GAAG,wBAAwB,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IACrE,MAAM,mBAAmB,GACvB,OAAO,CAAC,MAAM,EAAE,mCAAmC,CAAC,IAAI,EAAE,CAAC;IAC7D,MAAM,qBAAqB,GAAiC,OAAO,CACjE,MAAM,EACN,yBAAyB,CAC1B,CAAC;IAEF,gCAAgC;IAChC,MAAM,sBAAsB,GAC1B,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAgC,EAAE;QACpD,OAAO;YACL,GAAG,EAAE,CAAC,CAAC,MAAM;YACb,MAAM,EAAE,KAAK;SACd,CAAC;IACJ,CAAC,CAAC,CAAC;IACL,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE;QACrC,sBAAsB,CAAC,IAAI,CAAC;YAC1B,GAAG,EAAE,uBAAuB,GAAG,EAAE;YACjC,MAAM,EAAE,KAAK;SACd,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,MAAM,8BAA8B,GAClC,qBAAqB,IAAI,qBAAqB,CAAC,QAAQ,KAAK,YAAY,CAAC;IAE3E,kDAAkD;IAClD,IAAI,8BAA8B,EAAE;QAClC,MAAM,qBAAqB,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;YAChE,OAAO,CAAC,qBAAqB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC;QACvE,CAAC,CAAC,CAAC;QACH,MAAM,sBAAsB,GAAG,qBAAqB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;YACxE,OAAO,sBAAsB,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC;QAC/D,CAAC,CAAC,CAAC;QACH,OAAO;YACL,QAAQ,EAAE,YAAY;YACtB,OAAO,EAAE,CAAC,GAAG,sBAAsB,EAAE,GAAG,qBAAqB,CAAC;SAC/D,CAAC;KACH;IAED,yDAAyD;IACzD,OAAO;QACL,QAAQ,EAAE,YAAY;QACtB,OAAO,EAAE,sBAAsB;KAChC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { getProp } from "../objects/get-prop";
|
|
2
|
+
import { canUseExportImageFlow } from "./_internal/canUseExportImageFlow";
|
|
3
|
+
import { getExportImageFormats } from "./_internal/format-fetchers/getExportImageFormats";
|
|
4
|
+
import { getAdditionalResourceIndex, isAdditionalResourceConfiguration, } from "./_internal/additional-resources/utils";
|
|
5
|
+
import { canUseHubDownloadApi } from "./canUseHubDownloadApi";
|
|
6
|
+
import { getDownloadConfiguration } from "./getDownloadConfiguration";
|
|
7
|
+
import { getHubDownloadApiFormats } from "./getHubDownloadApiFormats";
|
|
8
|
+
/**
|
|
9
|
+
* Gets available download formats / additional resources for the given entity in the order they have been configured.
|
|
10
|
+
* If a format has been configured to be hidden, it will not be included in the results.
|
|
11
|
+
*
|
|
12
|
+
* @param options options to refine / filter the results of the fetchDownloadFormats operation
|
|
13
|
+
* @returns The available download formats and additional resources
|
|
14
|
+
*/
|
|
15
|
+
export function getDownloadFormats(options) {
|
|
16
|
+
const { entity, context } = options;
|
|
17
|
+
// get the base formats for the item
|
|
18
|
+
let baseFormats = [];
|
|
19
|
+
// TODO: use typescript to enforce a branch for each flow type
|
|
20
|
+
if (canUseHubDownloadApi(entity, context)) {
|
|
21
|
+
baseFormats = getHubDownloadApiFormats(entity);
|
|
22
|
+
}
|
|
23
|
+
else if (canUseExportImageFlow(entity)) {
|
|
24
|
+
baseFormats = getExportImageFormats(entity);
|
|
25
|
+
}
|
|
26
|
+
// add additional resource links as static formats
|
|
27
|
+
const additionalResources = getProp(entity, "extendedProps.additionalResources") || [];
|
|
28
|
+
const additionalFormats = additionalResources.map(toStaticFormat);
|
|
29
|
+
// Respect the order and visibility of the formats as configured for the entity
|
|
30
|
+
const downloadConfiguration = getDownloadConfiguration(entity);
|
|
31
|
+
return downloadConfiguration.formats.reduce((acc, format) => {
|
|
32
|
+
if (!format.hidden) {
|
|
33
|
+
let includedFormat;
|
|
34
|
+
if (isAdditionalResourceConfiguration(format)) {
|
|
35
|
+
const additionalResourceIndex = getAdditionalResourceIndex(format);
|
|
36
|
+
includedFormat = additionalFormats[additionalResourceIndex];
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
baseFormats.forEach((baseFormat) => {
|
|
40
|
+
if (baseFormat.format === format.key) {
|
|
41
|
+
includedFormat = baseFormat;
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
acc.push(includedFormat);
|
|
46
|
+
}
|
|
47
|
+
return acc;
|
|
48
|
+
}, []);
|
|
49
|
+
}
|
|
50
|
+
function toStaticFormat(resource) {
|
|
51
|
+
return {
|
|
52
|
+
type: "static",
|
|
53
|
+
label: resource.name ||
|
|
54
|
+
(resource.isDataSource && `{{dataSource:translate}}`) || // if the additional resource is the datasource
|
|
55
|
+
`{{noTitle:translate}}`,
|
|
56
|
+
url: resource.url,
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=getDownloadFormats.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getDownloadFormats.js","sourceRoot":"","sources":["../../../src/downloads/getDownloadFormats.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,mDAAmD,CAAC;AAC1F,OAAO,EACL,0BAA0B,EAC1B,iCAAiC,GAClC,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAQtE;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAChC,OAAqC;IAErC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IACpC,oCAAoC;IACpC,IAAI,WAAW,GAA6B,EAAE,CAAC;IAC/C,8DAA8D;IAC9D,IAAI,oBAAoB,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE;QACzC,WAAW,GAAG,wBAAwB,CAAC,MAAM,CAAC,CAAC;KAChD;SAAM,IAAI,qBAAqB,CAAC,MAAM,CAAC,EAAE;QACxC,WAAW,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;KAC7C;IAED,kDAAkD;IAClD,MAAM,mBAAmB,GACvB,OAAO,CAAC,MAAM,EAAE,mCAAmC,CAAC,IAAI,EAAE,CAAC;IAC7D,MAAM,iBAAiB,GAAG,mBAAmB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAElE,+EAA+E;IAC/E,MAAM,qBAAqB,GAAG,wBAAwB,CAAC,MAAM,CAAC,CAAC;IAC/D,OAAO,qBAAqB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;QAC1D,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;YAClB,IAAI,cAAc,CAAC;YACnB,IAAI,iCAAiC,CAAC,MAAM,CAAC,EAAE;gBAC7C,MAAM,uBAAuB,GAAG,0BAA0B,CAAC,MAAM,CAAC,CAAC;gBACnE,cAAc,GAAG,iBAAiB,CAAC,uBAAuB,CAAC,CAAC;aAC7D;iBAAM;gBACL,WAAW,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE;oBACjC,IAAI,UAAU,CAAC,MAAM,KAAK,MAAM,CAAC,GAAG,EAAE;wBACpC,cAAc,GAAG,UAAU,CAAC;qBAC7B;gBACH,CAAC,CAAC,CAAC;aACJ;YACD,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;SAC1B;QACD,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAAE,CAAC,CAAC;AACT,CAAC;AAED,SAAS,cAAc,CACrB,QAAgC;IAEhC,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,KAAK,EACH,QAAQ,CAAC,IAAI;YACb,CAAC,QAAQ,CAAC,YAAY,IAAI,0BAA0B,CAAC,IAAI,+CAA+C;YACxG,uBAAuB;QACzB,GAAG,EAAE,QAAQ,CAAC,GAAG;KAClB,CAAC;AACJ,CAAC"}
|
|
@@ -6,4 +6,6 @@ export * from "./canUseCreateReplica";
|
|
|
6
6
|
export * from "./canUseHubDownloadSystem";
|
|
7
7
|
export * from "./canUseHubDownloadApi";
|
|
8
8
|
export * from "./getHubDownloadApiFormats";
|
|
9
|
+
export * from "./getDownloadConfiguration";
|
|
10
|
+
export * from "./getDownloadFormats";
|
|
9
11
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/downloads/index.ts"],"names":[],"mappings":"AAAA,cAAc,uCAAuC,CAAC;AACtD,cAAc,SAAS,CAAC;AACxB,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/downloads/index.ts"],"names":[],"mappings":"AAAA,cAAc,uCAAuC,CAAC;AACtD,cAAc,SAAS,CAAC;AACxB,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC"}
|
|
@@ -6,6 +6,8 @@ const getEditorConfig_1 = require("../core/schemas/getEditorConfig");
|
|
|
6
6
|
const util_1 = require("../util");
|
|
7
7
|
const edit_1 = require("./edit");
|
|
8
8
|
const enrichEntity_1 = require("../core/enrichEntity");
|
|
9
|
+
const shouldShowDownloadsConfiguration_1 = require("./_internal/shouldShowDownloadsConfiguration");
|
|
10
|
+
const getDownloadConfigurationDisplayFormats_1 = require("../downloads/_internal/getDownloadConfigurationDisplayFormats");
|
|
9
11
|
class HubContent extends HubItemEntity_1.HubItemEntity {
|
|
10
12
|
constructor(content, context) {
|
|
11
13
|
super(content, context);
|
|
@@ -84,6 +86,9 @@ class HubContent extends HubItemEntity_1.HubItemEntity {
|
|
|
84
86
|
: util_1.cloneObject(this.entity);
|
|
85
87
|
// 2. Apply transforms to relevant entity values so they
|
|
86
88
|
// can be consumed by the editor
|
|
89
|
+
if (shouldShowDownloadsConfiguration_1.shouldShowDownloadsConfiguration(this.entity)) {
|
|
90
|
+
editor.downloadFormats = getDownloadConfigurationDisplayFormats_1.getDownloadConfigurationDisplayFormats(this.entity);
|
|
91
|
+
}
|
|
87
92
|
return editor;
|
|
88
93
|
}
|
|
89
94
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HubContent.js","sourceRoot":"","sources":["../../../src/content/HubContent.ts"],"names":[],"mappings":";;;AACA,yDAAsD;AAQtD,qEAAkE;AAElE,kCAAsC;AACtC,iCAAyC;AAEzC,uDAAoD;
|
|
1
|
+
{"version":3,"file":"HubContent.js","sourceRoot":"","sources":["../../../src/content/HubContent.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,5 +22,10 @@ exports.ContentSchema = Object.assign(Object.assign({}, HubItemEntitySchema_1.Hu
|
|
|
22
22
|
type: "boolean",
|
|
23
23
|
enum: [true],
|
|
24
24
|
},
|
|
25
|
+
}, downloadFormats: {
|
|
26
|
+
type: "array",
|
|
27
|
+
items: {
|
|
28
|
+
type: "object",
|
|
29
|
+
},
|
|
25
30
|
} }) });
|
|
26
31
|
//# sourceMappingURL=ContentSchema.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContentSchema.js","sourceRoot":"","sources":["../../../../src/content/_internal/ContentSchema.ts"],"names":[],"mappings":";;;AACA,uFAAoF;AAGvE,QAAA,kBAAkB,GAAG;IAChC,kBAAkB;IAClB,sBAAsB;IACtB,yBAAyB;CACjB,CAAC;AAEX;;GAEG;AACU,QAAA,aAAa,GAAyB,gCAC9C,yCAAmB,KACtB,UAAU,kCACL,yCAAmB,CAAC,UAAU,KACjC,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;SACf,EACD,uBAAuB,EAAE;YACvB,IAAI,EAAE,SAAS;SAChB,EACD,QAAQ,EAAE;YACR,IAAI,EAAE,QAAQ;SACf,EACD,YAAY,EAAE;YACZ,IAAI,EAAE,OAAO;YACb,KAAK,EAAE;gBACL,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,CAAC,IAAI,CAAC;aACb;SACF,MAEoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"ContentSchema.js","sourceRoot":"","sources":["../../../../src/content/_internal/ContentSchema.ts"],"names":[],"mappings":";;;AACA,uFAAoF;AAGvE,QAAA,kBAAkB,GAAG;IAChC,kBAAkB;IAClB,sBAAsB;IACtB,yBAAyB;CACjB,CAAC;AAEX;;GAEG;AACU,QAAA,aAAa,GAAyB,gCAC9C,yCAAmB,KACtB,UAAU,kCACL,yCAAmB,CAAC,UAAU,KACjC,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;SACf,EACD,uBAAuB,EAAE;YACvB,IAAI,EAAE,SAAS;SAChB,EACD,QAAQ,EAAE;YACR,IAAI,EAAE,QAAQ;SACf,EACD,YAAY,EAAE;YACZ,IAAI,EAAE,OAAO;YACb,KAAK,EAAE;gBACL,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,CAAC,IAAI,CAAC;aACb;SACF,EACD,eAAe,EAAE;YACf,IAAI,EAAE,OAAO;YACb,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;aACf;SACF,MAEoB,CAAC"}
|
|
@@ -3,7 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.buildUiSchema = void 0;
|
|
4
4
|
const types_1 = require("../../core/schemas/types");
|
|
5
5
|
const checkPermission_1 = require("../../permissions/checkPermission");
|
|
6
|
-
const
|
|
6
|
+
const getDownloadsSection_1 = require("./getDownloadsSection");
|
|
7
|
+
const shouldShowDownloadsConfiguration_1 = require("./shouldShowDownloadsConfiguration");
|
|
7
8
|
/**
|
|
8
9
|
* @private
|
|
9
10
|
* constructs the complete settings uiSchema for Hub Editable Content.
|
|
@@ -81,28 +82,9 @@ exports.buildUiSchema = async (i18nScope, options, _context) => {
|
|
|
81
82
|
elements: scheduleSectionElements,
|
|
82
83
|
});
|
|
83
84
|
}
|
|
84
|
-
if (
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
labelKey: `${i18nScope}.sections.downloads.label`,
|
|
88
|
-
options: {
|
|
89
|
-
helperText: {
|
|
90
|
-
labelKey: `${i18nScope}.sections.downloads.helperText`,
|
|
91
|
-
},
|
|
92
|
-
},
|
|
93
|
-
elements: [
|
|
94
|
-
{
|
|
95
|
-
labelKey: `${i18nScope}.fields.serverExtractCapability.label`,
|
|
96
|
-
scope: "/properties/serverExtractCapability",
|
|
97
|
-
type: "Control",
|
|
98
|
-
options: {
|
|
99
|
-
helperText: {
|
|
100
|
-
labelKey: `${i18nScope}.fields.serverExtractCapability.helperText`,
|
|
101
|
-
},
|
|
102
|
-
},
|
|
103
|
-
},
|
|
104
|
-
],
|
|
105
|
-
});
|
|
85
|
+
if (shouldShowDownloadsConfiguration_1.shouldShowDownloadsConfiguration(options)) {
|
|
86
|
+
const downloadsSection = getDownloadsSection_1.getDownloadsSection(i18nScope, options);
|
|
87
|
+
uiSchema.elements.push(downloadsSection);
|
|
106
88
|
}
|
|
107
89
|
return uiSchema;
|
|
108
90
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContentUiSchemaSettings.js","sourceRoot":"","sources":["../../../../src/content/_internal/ContentUiSchemaSettings.ts"],"names":[],"mappings":";;;AAEA,oDAKkC;AAElC,uEAAoE;AACpE,
|
|
1
|
+
{"version":3,"file":"ContentUiSchemaSettings.js","sourceRoot":"","sources":["../../../../src/content/_internal/ContentUiSchemaSettings.ts"],"names":[],"mappings":";;;AAEA,oDAKkC;AAElC,uEAAoE;AACpE,+DAA4D;AAC5D,yFAAsF;AAEtF;;;;;GAKG;AACU,QAAA,aAAa,GAAG,KAAK,EAChC,SAAiB,EACjB,OAA4B,EAC5B,QAAwB,EACJ,EAAE;IACtB,MAAM,QAAQ,GAAc;QAC1B,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,EAAE;KACb,CAAC;IACF,IACE,iCAAe,CACb,yCAAyC,EACzC,QAAQ,EACR,OAAO,CACR,CAAC,MAAM,EACR;QACA,MAAM,sBAAsB,GAAqB;YAC/C,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,sBAAsB;YAC7B,QAAQ,EAAE,GAAG,SAAS,+BAA+B;YACrD,OAAO,EAAE;gBACP,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,2BAA2B;gBACpC,QAAQ,EAAE,aAAa;gBACvB,MAAM,EAAE,OAAO;gBACf,MAAM,EAAE;oBACN,EAAE,IAAI,EAAE,WAAW,EAAE;oBACrB,EAAE,IAAI,EAAE,OAAO,EAAE;oBACjB,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAClB,EAAE,IAAI,EAAE,SAAS,EAAE;oBACnB,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAClB;wBACE,IAAI,EAAE,QAAQ;wBACd,gBAAgB,EAAE,eAAe;wBACjC,gBAAgB,EAAE,KAAK,SAAS,sDAAsD;qBACvF;iBACF;aACF;SACF,CAAC;QAEF,MAAM,uBAAuB,GAAuB;YAClD,sBAAsB;SACvB,CAAC;QAEF,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ,EAAE;YAC/B,8DAA8D;YAC9D,sBAAsB,CAAC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;YAC/C,sBAAsB,CAAC,OAAO,CAAC,QAAQ,GAAG;gBACxC;oBACE,IAAI,EAAE,4BAAoB,CAAC,MAAM;oBACjC,OAAO,EAAE,QAAQ;oBACjB,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,2BAA2B;oBACjC,QAAQ,EAAE,GAAG,SAAS,0CAA0C;oBAChE,QAAQ,EAAE,GAAG,SAAS,yCAAyC;oBAC/D,uBAAuB,EAAE,IAAI;oBAC7B,UAAU,EAAE,IAAI;iBACjB;aACoB,CAAC;SACzB;aAAM;YACL,oEAAoE;YACpE,uBAAuB,CAAC,IAAI,CAAC;gBAC3B,IAAI,EAAE,SAAS;gBACf,KAAK,EAAE,0BAA0B;gBACjC,OAAO,EAAE;oBACP,OAAO,EAAE,6BAA6B;oBACtC,IAAI,EAAE,UAAU;oBAChB,MAAM,EAAE;wBACN,KAAK,SAAS,sDAAsD;qBACrE;oBACD,YAAY,EAAE;wBACZ,KAAK,SAAS,4DAA4D;qBAC3E;iBACF;aACF,CAAC,CAAC;SACJ;QAED,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;YACrB,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,GAAG,SAAS,0BAA0B;YAChD,QAAQ,EAAE,uBAAuB;SAClC,CAAC,CAAC;KACJ;IAED,IAAI,mEAAgC,CAAC,OAA8B,CAAC,EAAE;QACpE,MAAM,gBAAgB,GAAG,yCAAmB,CAC1C,SAAS,EACT,OAA8B,CAC/B,CAAC;QACF,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;KAC1C;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC"}
|
|
@@ -107,6 +107,7 @@ function getBaseExtendedProps(item, enrichments, requestOptions) {
|
|
|
107
107
|
kind: null,
|
|
108
108
|
metadata: enrichments.metadata,
|
|
109
109
|
additionalResources: internalContentUtils_1.getAdditionalResources(item, enrichments.metadata, requestOptions),
|
|
110
|
+
downloads: objects_1.getProp(item, "properties.downloads"),
|
|
110
111
|
};
|
|
111
112
|
}
|
|
112
113
|
//# sourceMappingURL=computeProps.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"computeProps.js","sourceRoot":"","sources":["../../../../src/content/_internal/computeProps.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"computeProps.js","sourceRoot":"","sources":["../../../../src/content/_internal/computeProps.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getDownloadsSection = void 0;
|
|
4
|
+
const types_1 = require("../../core/schemas/types");
|
|
5
|
+
const getDownloadFlow_1 = require("../../downloads/_internal/getDownloadFlow");
|
|
6
|
+
const hostedServiceUtils_1 = require("../hostedServiceUtils");
|
|
7
|
+
/**
|
|
8
|
+
* @private
|
|
9
|
+
* Constructs the downloads section for an IHubEditableContent entity.
|
|
10
|
+
* Due to numerous product requirements, the content and state of this section
|
|
11
|
+
* can vary greatly depending on the entity type and configuration.
|
|
12
|
+
*
|
|
13
|
+
* @param i18nScope translation scope
|
|
14
|
+
* @param entity entity to get the downloads section for
|
|
15
|
+
* @returns ui schema elements for the downloads section
|
|
16
|
+
*/
|
|
17
|
+
function getDownloadsSection(i18nScope, entity) {
|
|
18
|
+
const downloadSectionElements = [];
|
|
19
|
+
if (shouldShowExtractToggleElement(entity)) {
|
|
20
|
+
const extractToggleElement = getExtractToggleElement(i18nScope);
|
|
21
|
+
downloadSectionElements.push(extractToggleElement);
|
|
22
|
+
}
|
|
23
|
+
const downloadFormatsElement = getDownloadFormatsElement(i18nScope, entity);
|
|
24
|
+
downloadSectionElements.push(downloadFormatsElement);
|
|
25
|
+
return {
|
|
26
|
+
type: "Section",
|
|
27
|
+
labelKey: `${i18nScope}.sections.downloads.label`,
|
|
28
|
+
options: {},
|
|
29
|
+
elements: downloadSectionElements,
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
exports.getDownloadsSection = getDownloadsSection;
|
|
33
|
+
/**
|
|
34
|
+
* NOTE: we only show the extract toggle for main entities of a hosted feature service
|
|
35
|
+
* since we can guarantee that the user will have the necessary permissions to enable
|
|
36
|
+
* extract capabilities on the service.
|
|
37
|
+
*/
|
|
38
|
+
function shouldShowExtractToggleElement(entity) {
|
|
39
|
+
return hostedServiceUtils_1.isHostedFeatureServiceMainEntity(entity);
|
|
40
|
+
}
|
|
41
|
+
function getExtractToggleElement(i18nScope) {
|
|
42
|
+
return {
|
|
43
|
+
labelKey: `${i18nScope}.fields.serverExtractCapability.label`,
|
|
44
|
+
scope: "/properties/serverExtractCapability",
|
|
45
|
+
type: "Control",
|
|
46
|
+
options: {
|
|
47
|
+
helperText: {
|
|
48
|
+
labelKey: `${i18nScope}.fields.serverExtractCapability.helperText`,
|
|
49
|
+
},
|
|
50
|
+
messages: [
|
|
51
|
+
{
|
|
52
|
+
type: types_1.UiSchemaMessageTypes.custom,
|
|
53
|
+
display: "notice",
|
|
54
|
+
kind: "warning",
|
|
55
|
+
icon: "exclamation-mark-triangle",
|
|
56
|
+
titleKey: `${i18nScope}.fields.serverExtractCapability.noFormatConfigurationNotice.title`,
|
|
57
|
+
labelKey: `${i18nScope}.fields.serverExtractCapability.noFormatConfigurationNotice.body`,
|
|
58
|
+
allowShowBeforeInteract: true,
|
|
59
|
+
conditions: [
|
|
60
|
+
{
|
|
61
|
+
scope: "/properties/serverExtractCapability",
|
|
62
|
+
schema: {
|
|
63
|
+
const: false,
|
|
64
|
+
},
|
|
65
|
+
},
|
|
66
|
+
],
|
|
67
|
+
},
|
|
68
|
+
],
|
|
69
|
+
},
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Returns the ui schema element for the download formats field. Populating this field
|
|
74
|
+
* is a complex process that depends on the entity type, configuration, and product requirements.
|
|
75
|
+
*/
|
|
76
|
+
function getDownloadFormatsElement(i18nScope, entity) {
|
|
77
|
+
const result = {
|
|
78
|
+
labelKey: `${i18nScope}.fields.downloadFormats.label`,
|
|
79
|
+
scope: "/properties/downloadFormats",
|
|
80
|
+
type: "Control",
|
|
81
|
+
options: {
|
|
82
|
+
control: "hub-field-input-list",
|
|
83
|
+
helperText: {
|
|
84
|
+
labelKey: `${i18nScope}.fields.downloadFormats.helperText`,
|
|
85
|
+
},
|
|
86
|
+
allowReorder: true,
|
|
87
|
+
allowHide: true,
|
|
88
|
+
},
|
|
89
|
+
rules: [],
|
|
90
|
+
};
|
|
91
|
+
// Product has asked that if the extract capability toggle is present, we should disable
|
|
92
|
+
// the download formats control when the toggle is off. We hope this will encourage more
|
|
93
|
+
// users to opt into the hosted downloads experience.
|
|
94
|
+
if (shouldShowExtractToggleElement(entity)) {
|
|
95
|
+
result.rules.push({
|
|
96
|
+
effect: types_1.UiSchemaRuleEffects.DISABLE,
|
|
97
|
+
conditions: [
|
|
98
|
+
{
|
|
99
|
+
scope: "/properties/serverExtractCapability",
|
|
100
|
+
schema: {
|
|
101
|
+
const: false,
|
|
102
|
+
},
|
|
103
|
+
},
|
|
104
|
+
],
|
|
105
|
+
});
|
|
106
|
+
// Product had us add this branch in to encourage users to make their content / service downloadable.
|
|
107
|
+
// This branch should run when the entity represents a service that cannot be downloaded and extract
|
|
108
|
+
// cannot be enabled. The control will list all the formats that _could_ be available if the user
|
|
109
|
+
// were to make the necessary changes
|
|
110
|
+
}
|
|
111
|
+
else if (shouldDisableDownloadFormatsControl(entity)) {
|
|
112
|
+
result.rules.push({
|
|
113
|
+
effect: types_1.UiSchemaRuleEffects.DISABLE,
|
|
114
|
+
conditions: [true],
|
|
115
|
+
});
|
|
116
|
+
result.options.messages = [
|
|
117
|
+
{
|
|
118
|
+
type: types_1.UiSchemaMessageTypes.custom,
|
|
119
|
+
display: "notice",
|
|
120
|
+
kind: "warning",
|
|
121
|
+
icon: "exclamation-mark-triangle",
|
|
122
|
+
titleKey: `${i18nScope}.fields.downloadFormats.downloadsUnavailableNotice.title`,
|
|
123
|
+
labelKey: `${i18nScope}.fields.downloadFormats.downloadsUnavailableNotice.body`,
|
|
124
|
+
allowShowBeforeInteract: true,
|
|
125
|
+
alwaysShow: true,
|
|
126
|
+
},
|
|
127
|
+
];
|
|
128
|
+
}
|
|
129
|
+
return result;
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Returns true when an entity represents a item/service that
|
|
133
|
+
* cannot be downloaded with its current configuration.
|
|
134
|
+
*/
|
|
135
|
+
function shouldDisableDownloadFormatsControl(entity) {
|
|
136
|
+
const downloadFlow = getDownloadFlow_1.getDownloadFlow(entity);
|
|
137
|
+
return !downloadFlow;
|
|
138
|
+
}
|
|
139
|
+
//# sourceMappingURL=getDownloadsSection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getDownloadsSection.js","sourceRoot":"","sources":["../../../../src/content/_internal/getDownloadsSection.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.shouldShowDownloadsConfiguration = void 0;
|
|
4
|
+
const canUseExportImageFlow_1 = require("../../downloads/_internal/canUseExportImageFlow");
|
|
5
|
+
const get_prop_1 = require("../../objects/get-prop");
|
|
6
|
+
/**
|
|
7
|
+
* @private
|
|
8
|
+
* Determines if the downloads configuration should be shown for an entity.
|
|
9
|
+
*
|
|
10
|
+
* NOTE: product has asked that the download configuration be shown for entities that _can_
|
|
11
|
+
* be downloaded, as well as certain entities that _cannot_ be downloaded currently, but
|
|
12
|
+
* could be downloaded with a change in item / service settings.
|
|
13
|
+
*
|
|
14
|
+
* @param entity entity to check
|
|
15
|
+
* @returns whether downloads configuration should be shown
|
|
16
|
+
*/
|
|
17
|
+
function shouldShowDownloadsConfiguration(entity) {
|
|
18
|
+
// NOTE: At this time, product has asked that we hide the downloads configuration
|
|
19
|
+
// for multi-layer service entities.
|
|
20
|
+
const isReferenceLayerEntity = ["Feature Service", "Map Service"].includes(entity.type) &&
|
|
21
|
+
/\/\d+$/.test(entity.url);
|
|
22
|
+
const isSingleLayerEntity = get_prop_1.getProp(entity, "extendedProps.server.layers.length") === 1;
|
|
23
|
+
const isDownloadableImageService = canUseExportImageFlow_1.canUseExportImageFlow(entity);
|
|
24
|
+
return (isReferenceLayerEntity || isSingleLayerEntity || isDownloadableImageService);
|
|
25
|
+
}
|
|
26
|
+
exports.shouldShowDownloadsConfiguration = shouldShowDownloadsConfiguration;
|
|
27
|
+
//# sourceMappingURL=shouldShowDownloadsConfiguration.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shouldShowDownloadsConfiguration.js","sourceRoot":"","sources":["../../../../src/content/_internal/shouldShowDownloadsConfiguration.ts"],"names":[],"mappings":";;;AACA,2FAAwF;AACxF,qDAAiD;AAEjD;;;;;;;;;;GAUG;AACH,SAAgB,gCAAgC,CAC9C,MAA2B;IAE3B,iFAAiF;IACjF,oCAAoC;IACpC,MAAM,sBAAsB,GAC1B,CAAC,iBAAiB,EAAE,aAAa,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC;QACxD,QAAQ,CAAC,IAAI,CAAE,MAA8B,CAAC,GAAG,CAAC,CAAC;IACrD,MAAM,mBAAmB,GACvB,kBAAO,CAAC,MAAM,EAAE,oCAAoC,CAAC,KAAK,CAAC,CAAC;IAC9D,MAAM,0BAA0B,GAAG,6CAAqB,CAAC,MAAM,CAAC,CAAC;IAEjE,OAAO,CACL,sBAAsB,IAAI,mBAAmB,IAAI,0BAA0B,CAC5E,CAAC;AACJ,CAAC;AAfD,4EAeC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.editorToContent = exports.deleteContent = exports.updateContent = exports.createContent = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
4
5
|
const arcgis_rest_portal_1 = require("@esri/arcgis-rest-portal");
|
|
5
6
|
// Note - we separate these imports so we can cleanly spy on things in tests
|
|
6
7
|
const models_1 = require("../models");
|
|
@@ -15,6 +16,9 @@ const hostedServiceUtils_1 = require("./hostedServiceUtils");
|
|
|
15
16
|
const manageSchedule_1 = require("./manageSchedule");
|
|
16
17
|
const internalContentUtils_1 = require("./_internal/internalContentUtils");
|
|
17
18
|
const objects_1 = require("../objects");
|
|
19
|
+
const getDownloadFlow_1 = require("../downloads/_internal/getDownloadFlow");
|
|
20
|
+
const getDownloadConfiguration_1 = require("../downloads/getDownloadConfiguration");
|
|
21
|
+
const shouldShowDownloadsConfiguration_1 = require("./_internal/shouldShowDownloadsConfiguration");
|
|
18
22
|
// TODO: move this to defaults?
|
|
19
23
|
const DEFAULT_CONTENT_MODEL = {
|
|
20
24
|
item: {
|
|
@@ -84,6 +88,22 @@ async function updateContent(content, requestOptions) {
|
|
|
84
88
|
// we are not attempting to handle "concurrent edit" conflict resolution
|
|
85
89
|
// but this is where we would apply that sort of logic
|
|
86
90
|
const modelToUpdate = mapper.entityToStore(content, model);
|
|
91
|
+
// NOTE: Product has asked that we display a _disabled_ downloads configuration for
|
|
92
|
+
// certain types of entities, but not allow users to change any settings. The following
|
|
93
|
+
// checks are in place to make sure we don't accidentally save configurations in
|
|
94
|
+
// situations where we shouldn't
|
|
95
|
+
const downloadFlow = getDownloadFlow_1.getDownloadFlow(content);
|
|
96
|
+
const updatedFormats = objects_1.getProp(content, "extendedProps.downloads.formats");
|
|
97
|
+
const isMainEntityExtractDisabled = hostedServiceUtils_1.isHostedFeatureServiceMainEntity(content) &&
|
|
98
|
+
downloadFlow !== "createReplica";
|
|
99
|
+
const wasDownloadsConfigurationDisplayed = shouldShowDownloadsConfiguration_1.shouldShowDownloadsConfiguration(content);
|
|
100
|
+
if (wasDownloadsConfigurationDisplayed && // whether the downloads configuration was displayed
|
|
101
|
+
downloadFlow && // whether the entity can be downloaded
|
|
102
|
+
updatedFormats && // whether download format configuration is present
|
|
103
|
+
!isMainEntityExtractDisabled) {
|
|
104
|
+
const updatedDownloadsConfiguration = util_1.cloneObject(content.extendedProps.downloads);
|
|
105
|
+
objects_1.setProp("item.properties.downloads", updatedDownloadsConfiguration, modelToUpdate, true);
|
|
106
|
+
}
|
|
87
107
|
// TODO: if we have resources disconnect them from the model for now.
|
|
88
108
|
// if (modelToUpdate.resources) {
|
|
89
109
|
// resources = configureBaseResources(
|
|
@@ -152,8 +172,25 @@ exports.deleteContent = deleteContent;
|
|
|
152
172
|
*/
|
|
153
173
|
function editorToContent(editor, portal) {
|
|
154
174
|
var _a;
|
|
155
|
-
//
|
|
156
|
-
const
|
|
175
|
+
// Clone the editor to prevent mutation
|
|
176
|
+
const clonedEditor = util_1.cloneObject(editor);
|
|
177
|
+
// Remove unneeded properties
|
|
178
|
+
delete clonedEditor.downloadFormats;
|
|
179
|
+
// Cast the editor to a content
|
|
180
|
+
const content = util_1.cloneObject(clonedEditor);
|
|
181
|
+
// Conditionally set the downloads configuration. We only want
|
|
182
|
+
// to set the configuration if the entity is actually downloadable
|
|
183
|
+
const downloadFlow = getDownloadFlow_1.getDownloadFlow(content);
|
|
184
|
+
if (downloadFlow && editor.downloadFormats) {
|
|
185
|
+
const downloadConfiguration = getDownloadConfiguration_1.getDownloadConfiguration(content);
|
|
186
|
+
// Convert the download format display objects to the stored format
|
|
187
|
+
const forStorage = editor.downloadFormats.map((format) => {
|
|
188
|
+
const { label } = format, rest = tslib_1.__rest(format, ["label"]);
|
|
189
|
+
return rest;
|
|
190
|
+
});
|
|
191
|
+
downloadConfiguration.formats = forStorage;
|
|
192
|
+
objects_1.setProp("extendedProps.downloads", downloadConfiguration, content, true);
|
|
193
|
+
}
|
|
157
194
|
// copy the location extent up one level
|
|
158
195
|
content.extent = (_a = editor.location) === null || _a === void 0 ? void 0 : _a.extent;
|
|
159
196
|
return content;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edit.js","sourceRoot":"","sources":["../../../src/content/edit.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"edit.js","sourceRoot":"","sources":["../../../src/content/edit.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getAdditionalResourceIndex = exports.isAdditionalResourceConfiguration = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* @private
|
|
6
|
+
* Determines if the given download format configuration is for
|
|
7
|
+
* an additional resource.
|
|
8
|
+
*
|
|
9
|
+
* @param config IDownloadFormatConfiguration
|
|
10
|
+
* @returns boolean
|
|
11
|
+
*/
|
|
12
|
+
function isAdditionalResourceConfiguration(config) {
|
|
13
|
+
return config.key.startsWith("additionalResource::");
|
|
14
|
+
}
|
|
15
|
+
exports.isAdditionalResourceConfiguration = isAdditionalResourceConfiguration;
|
|
16
|
+
/**
|
|
17
|
+
* @private
|
|
18
|
+
* Get's the index of the additional resource from the given
|
|
19
|
+
* download format configuration.
|
|
20
|
+
*
|
|
21
|
+
* @param config IDownloadFormatConfiguration
|
|
22
|
+
* @returns number - The index of the additional resource
|
|
23
|
+
*/
|
|
24
|
+
function getAdditionalResourceIndex(config) {
|
|
25
|
+
return parseInt(config.key.split("::")[1], 10);
|
|
26
|
+
}
|
|
27
|
+
exports.getAdditionalResourceIndex = getAdditionalResourceIndex;
|
|
28
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../src/downloads/_internal/additional-resources/utils.ts"],"names":[],"mappings":";;;AAEA;;;;;;;GAOG;AACH,SAAgB,iCAAiC,CAC/C,MAAoC;IAEpC,OAAO,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC;AACvD,CAAC;AAJD,8EAIC;AAED;;;;;;;GAOG;AACH,SAAgB,0BAA0B,CACxC,MAAoC;IAEpC,OAAO,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACjD,CAAC;AAJD,gEAIC"}
|