@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.
Files changed (76) hide show
  1. package/dist/esm/content/HubContent.js +5 -0
  2. package/dist/esm/content/HubContent.js.map +1 -1
  3. package/dist/esm/content/_internal/ContentSchema.js +5 -0
  4. package/dist/esm/content/_internal/ContentSchema.js.map +1 -1
  5. package/dist/esm/content/_internal/ContentUiSchemaSettings.js +5 -23
  6. package/dist/esm/content/_internal/ContentUiSchemaSettings.js.map +1 -1
  7. package/dist/esm/content/_internal/computeProps.js +1 -0
  8. package/dist/esm/content/_internal/computeProps.js.map +1 -1
  9. package/dist/esm/content/_internal/getDownloadsSection.js +135 -0
  10. package/dist/esm/content/_internal/getDownloadsSection.js.map +1 -0
  11. package/dist/esm/content/_internal/shouldShowDownloadsConfiguration.js +23 -0
  12. package/dist/esm/content/_internal/shouldShowDownloadsConfiguration.js.map +1 -0
  13. package/dist/esm/content/edit.js +40 -3
  14. package/dist/esm/content/edit.js.map +1 -1
  15. package/dist/esm/downloads/_internal/additional-resources/utils.js +23 -0
  16. package/dist/esm/downloads/_internal/additional-resources/utils.js.map +1 -0
  17. package/dist/esm/downloads/_internal/getDownloadConfigurationDisplayFormats.js +75 -0
  18. package/dist/esm/downloads/_internal/getDownloadConfigurationDisplayFormats.js.map +1 -0
  19. package/dist/esm/downloads/_internal/getDownloadFlow.js +26 -0
  20. package/dist/esm/downloads/_internal/getDownloadFlow.js.map +1 -0
  21. package/dist/esm/downloads/_internal/getDownloadFormatsByFlow.js +28 -0
  22. package/dist/esm/downloads/_internal/getDownloadFormatsByFlow.js.map +1 -0
  23. package/dist/esm/downloads/fetchDownloadFile.js +20 -0
  24. package/dist/esm/downloads/fetchDownloadFile.js.map +1 -1
  25. package/dist/esm/downloads/fetchDownloadFormats.js +4 -0
  26. package/dist/esm/downloads/fetchDownloadFormats.js.map +1 -1
  27. package/dist/esm/downloads/getDownloadConfiguration.js +52 -0
  28. package/dist/esm/downloads/getDownloadConfiguration.js.map +1 -0
  29. package/dist/esm/downloads/getDownloadFormats.js +59 -0
  30. package/dist/esm/downloads/getDownloadFormats.js.map +1 -0
  31. package/dist/esm/downloads/index.js +2 -0
  32. package/dist/esm/downloads/index.js.map +1 -1
  33. package/dist/node/content/HubContent.js +5 -0
  34. package/dist/node/content/HubContent.js.map +1 -1
  35. package/dist/node/content/_internal/ContentSchema.js +5 -0
  36. package/dist/node/content/_internal/ContentSchema.js.map +1 -1
  37. package/dist/node/content/_internal/ContentUiSchemaSettings.js +5 -23
  38. package/dist/node/content/_internal/ContentUiSchemaSettings.js.map +1 -1
  39. package/dist/node/content/_internal/computeProps.js +1 -0
  40. package/dist/node/content/_internal/computeProps.js.map +1 -1
  41. package/dist/node/content/_internal/getDownloadsSection.js +139 -0
  42. package/dist/node/content/_internal/getDownloadsSection.js.map +1 -0
  43. package/dist/node/content/_internal/shouldShowDownloadsConfiguration.js +27 -0
  44. package/dist/node/content/_internal/shouldShowDownloadsConfiguration.js.map +1 -0
  45. package/dist/node/content/edit.js +39 -2
  46. package/dist/node/content/edit.js.map +1 -1
  47. package/dist/node/downloads/_internal/additional-resources/utils.js +28 -0
  48. package/dist/node/downloads/_internal/additional-resources/utils.js.map +1 -0
  49. package/dist/node/downloads/_internal/getDownloadConfigurationDisplayFormats.js +79 -0
  50. package/dist/node/downloads/_internal/getDownloadConfigurationDisplayFormats.js.map +1 -0
  51. package/dist/node/downloads/_internal/getDownloadFlow.js +30 -0
  52. package/dist/node/downloads/_internal/getDownloadFlow.js.map +1 -0
  53. package/dist/node/downloads/_internal/getDownloadFormatsByFlow.js +32 -0
  54. package/dist/node/downloads/_internal/getDownloadFormatsByFlow.js.map +1 -0
  55. package/dist/node/downloads/fetchDownloadFile.js +20 -0
  56. package/dist/node/downloads/fetchDownloadFile.js.map +1 -1
  57. package/dist/node/downloads/fetchDownloadFormats.js +4 -0
  58. package/dist/node/downloads/fetchDownloadFormats.js.map +1 -1
  59. package/dist/node/downloads/getDownloadConfiguration.js +56 -0
  60. package/dist/node/downloads/getDownloadConfiguration.js.map +1 -0
  61. package/dist/node/downloads/getDownloadFormats.js +63 -0
  62. package/dist/node/downloads/getDownloadFormats.js.map +1 -0
  63. package/dist/node/downloads/index.js +2 -0
  64. package/dist/node/downloads/index.js.map +1 -1
  65. package/dist/types/content/_internal/getDownloadsSection.d.ts +13 -0
  66. package/dist/types/content/_internal/shouldShowDownloadsConfiguration.d.ts +13 -0
  67. package/dist/types/core/types/IHubEditableContent.d.ts +57 -1
  68. package/dist/types/downloads/_internal/additional-resources/utils.d.ts +19 -0
  69. package/dist/types/downloads/_internal/getDownloadConfigurationDisplayFormats.d.ts +10 -0
  70. package/dist/types/downloads/_internal/getDownloadFlow.d.ts +11 -0
  71. package/dist/types/downloads/_internal/getDownloadFormatsByFlow.d.ts +11 -0
  72. package/dist/types/downloads/fetchDownloadFormats.d.ts +2 -0
  73. package/dist/types/downloads/getDownloadConfiguration.d.ts +11 -0
  74. package/dist/types/downloads/getDownloadFormats.d.ts +9 -0
  75. package/dist/types/downloads/index.d.ts +2 -0
  76. package/package.json +1 -1
@@ -3,6 +3,8 @@ import { getEditorConfig } from "../core/schemas/getEditorConfig";
3
3
  import { cloneObject } from "../util";
4
4
  import { editorToContent } from "./edit";
5
5
  import { enrichEntity } from "../core/enrichEntity";
6
+ import { shouldShowDownloadsConfiguration } from "./_internal/shouldShowDownloadsConfiguration";
7
+ import { getDownloadConfigurationDisplayFormats } from "../downloads/_internal/getDownloadConfigurationDisplayFormats";
6
8
  export class HubContent extends HubItemEntity {
7
9
  constructor(content, context) {
8
10
  super(content, context);
@@ -81,6 +83,9 @@ export class HubContent extends HubItemEntity {
81
83
  : cloneObject(this.entity);
82
84
  // 2. Apply transforms to relevant entity values so they
83
85
  // can be consumed by the editor
86
+ if (shouldShowDownloadsConfiguration(this.entity)) {
87
+ editor.downloadFormats = getDownloadConfigurationDisplayFormats(this.entity);
88
+ }
84
89
  return editor;
85
90
  }
86
91
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"HubContent.js","sourceRoot":"","sources":["../../../src/content/HubContent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HubContent.js","sourceRoot":"","sources":["../../../src/content/HubContent.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAQtD,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAElE,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AAEzC,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,gCAAgC,EAAE,MAAM,8CAA8C,CAAC;AAChG,OAAO,EAAE,sCAAsC,EAAE,MAAM,+DAA+D,CAAC;AAEvH,MAAM,OAAO,UACX,SAAQ,aAAkC;IAG1C,YAAoB,OAA4B,EAAE,OAAuB;QACvE,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC1B,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,QAAQ,CACb,IAAkC,EAClC,OAAwB;QAExB,mDAAmD;QACnD,kDAAkD;QAClD,MAAM,IAAI,GAAG,IAA2B,CAAC;QACzC,OAAO,IAAI,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACvC,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,IAAI;QACR,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC;QAEhE,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE;YAClB,YAAY;YACZ,IAAI,CAAC,MAAM,GAAG,MAAM,aAAa,CAC/B,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAChC,CAAC;SACH;aAAM;YACL,YAAY;YACZ,IAAI,CAAC,MAAM,GAAG,MAAM,aAAa,CAC/B,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAChC,CAAC;SACH;QACD,yCAAyC;QACzC,MAAM,KAAK,CAAC,SAAS,EAAE,CAAC;QAExB,OAAO;IACT,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,OAAqC;QAC1C,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,qCAAqC;QACrC,IAAI,CAAC,MAAM,mCAAQ,IAAI,CAAC,MAAM,GAAK,OAAO,CAAE,CAAC;IAC/C,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,MAAM;QACV,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC;QACjD,wBAAwB;QACxB,MAAM,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACvE,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,eAAe,CACnB,SAAiB,EACjB,IAAuB;QAEvB,mCAAmC;QACnC,OAAO,eAAe,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACrE,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,QAAQ,CACZ,gBAAsC,EAAE,EACxC,UAAoB,EAAE;QAEtB,iDAAiD;QACjD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM;YAC3B,CAAC,CAAE,CAAC,MAAM,YAAY,CAClB,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,EACxB,OAAO,EACP,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAC/B,CAAuB;YAC1B,CAAC,CAAE,WAAW,CAAC,IAAI,CAAC,MAAM,CAAuB,CAAC;QAEpD,wDAAwD;QACxD,gCAAgC;QAChC,IAAI,gCAAgC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;YACjD,MAAM,CAAC,eAAe,GAAG,sCAAsC,CAC7D,IAAI,CAAC,MAAM,CACZ,CAAC;SACH;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,UAAU,CAAC,MAAyB;;QACxC,MAAM,QAAQ,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QAE5B,8CAA8C;QAC9C,wCAAwC;QACxC,IAAI,MAAM,CAAC,UAAU,EAAE;YACrB,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE;gBAC1B,IAAI,CAAC,cAAc,GAAG;oBACpB,IAAI,EAAE,MAAM,CAAC,UAAU,CAAC,IAAI;oBAC5B,QAAQ,EAAE,MAAM,CAAC,UAAU,CAAC,QAAQ;oBACpC,KAAK,EAAE,KAAK;iBACb,CAAC;aACH;iBAAM;gBACL,IAAI,CAAC,cAAc,GAAG;oBACpB,KAAK,EAAE,IAAI;iBACZ,CAAC;aACH;SACF;QAED,OAAO,MAAM,CAAC,UAAU,CAAC;QAEzB,kEAAkE;QAClE,yBAAyB;QACzB,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAE5D,wCAAwC;QACxC,MAAM,CAAC,MAAM,SAAG,MAAM,CAAC,QAAQ,0CAAE,MAAM,CAAC;QAExC,wCAAwC;QACxC,IAAI,QAAQ,EAAE;YACZ,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;SAC5D;aAAM;YACL,wDAAwD;YACxD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YACrB,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;SACnB;QAED,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,mCAAmC;IAC3B,eAAe;QACrB,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;SACrD;IACH,CAAC;CACF"}
@@ -19,5 +19,10 @@ export const ContentSchema = Object.assign(Object.assign({}, HubItemEntitySchema
19
19
  type: "boolean",
20
20
  enum: [true],
21
21
  },
22
+ }, downloadFormats: {
23
+ type: "array",
24
+ items: {
25
+ type: "object",
26
+ },
22
27
  } }) });
23
28
  //# sourceMappingURL=ContentSchema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ContentSchema.js","sourceRoot":"","sources":["../../../../src/content/_internal/ContentSchema.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,+CAA+C,CAAC;AAGpF,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,kBAAkB;IAClB,sBAAsB;IACtB,yBAAyB;CACjB,CAAC;AAEX;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAyB,gCAC9C,mBAAmB,KACtB,UAAU,kCACL,mBAAmB,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,OAAO,EAAE,mBAAmB,EAAE,MAAM,+CAA+C,CAAC;AAGpF,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,kBAAkB;IAClB,sBAAsB;IACtB,yBAAyB;CACjB,CAAC;AAEX;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAyB,gCAC9C,mBAAmB,KACtB,UAAU,kCACL,mBAAmB,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"}
@@ -1,6 +1,7 @@
1
1
  import { UiSchemaMessageTypes, } from "../../core/schemas/types";
2
2
  import { checkPermission } from "../../permissions/checkPermission";
3
- import { isHostedFeatureServiceMainEntity } from "../hostedServiceUtils";
3
+ import { getDownloadsSection } from "./getDownloadsSection";
4
+ import { shouldShowDownloadsConfiguration } from "./shouldShowDownloadsConfiguration";
4
5
  /**
5
6
  * @private
6
7
  * constructs the complete settings uiSchema for Hub Editable Content.
@@ -78,28 +79,9 @@ export const buildUiSchema = async (i18nScope, options, _context) => {
78
79
  elements: scheduleSectionElements,
79
80
  });
80
81
  }
81
- if (isHostedFeatureServiceMainEntity(options)) {
82
- uiSchema.elements.push({
83
- type: "Section",
84
- labelKey: `${i18nScope}.sections.downloads.label`,
85
- options: {
86
- helperText: {
87
- labelKey: `${i18nScope}.sections.downloads.helperText`,
88
- },
89
- },
90
- elements: [
91
- {
92
- labelKey: `${i18nScope}.fields.serverExtractCapability.label`,
93
- scope: "/properties/serverExtractCapability",
94
- type: "Control",
95
- options: {
96
- helperText: {
97
- labelKey: `${i18nScope}.fields.serverExtractCapability.helperText`,
98
- },
99
- },
100
- },
101
- ],
102
- });
82
+ if (shouldShowDownloadsConfiguration(options)) {
83
+ const downloadsSection = getDownloadsSection(i18nScope, options);
84
+ uiSchema.elements.push(downloadsSection);
103
85
  }
104
86
  return uiSchema;
105
87
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ContentUiSchemaSettings.js","sourceRoot":"","sources":["../../../../src/content/_internal/ContentUiSchemaSettings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ContentUiSchemaSettings.js","sourceRoot":"","sources":["../../../../src/content/_internal/ContentUiSchemaSettings.ts"],"names":[],"mappings":"AAEA,OAAO,EAIL,oBAAoB,GACrB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,gCAAgC,EAAE,MAAM,oCAAoC,CAAC;AAEtF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,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,eAAe,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,oBAAoB,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,gCAAgC,CAAC,OAA8B,CAAC,EAAE;QACpE,MAAM,gBAAgB,GAAG,mBAAmB,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"}
@@ -103,6 +103,7 @@ function getBaseExtendedProps(item, enrichments, requestOptions) {
103
103
  kind: null,
104
104
  metadata: enrichments.metadata,
105
105
  additionalResources: getAdditionalResources(item, enrichments.metadata, requestOptions),
106
+ downloads: getProp(item, "properties.downloads"),
106
107
  };
107
108
  }
108
109
  //# 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,135 @@
1
+ import { UiSchemaMessageTypes, UiSchemaRuleEffects, } from "../../core/schemas/types";
2
+ import { getDownloadFlow } from "../../downloads/_internal/getDownloadFlow";
3
+ import { isHostedFeatureServiceMainEntity } from "../hostedServiceUtils";
4
+ /**
5
+ * @private
6
+ * Constructs the downloads section for an IHubEditableContent entity.
7
+ * Due to numerous product requirements, the content and state of this section
8
+ * can vary greatly depending on the entity type and configuration.
9
+ *
10
+ * @param i18nScope translation scope
11
+ * @param entity entity to get the downloads section for
12
+ * @returns ui schema elements for the downloads section
13
+ */
14
+ export function getDownloadsSection(i18nScope, entity) {
15
+ const downloadSectionElements = [];
16
+ if (shouldShowExtractToggleElement(entity)) {
17
+ const extractToggleElement = getExtractToggleElement(i18nScope);
18
+ downloadSectionElements.push(extractToggleElement);
19
+ }
20
+ const downloadFormatsElement = getDownloadFormatsElement(i18nScope, entity);
21
+ downloadSectionElements.push(downloadFormatsElement);
22
+ return {
23
+ type: "Section",
24
+ labelKey: `${i18nScope}.sections.downloads.label`,
25
+ options: {},
26
+ elements: downloadSectionElements,
27
+ };
28
+ }
29
+ /**
30
+ * NOTE: we only show the extract toggle for main entities of a hosted feature service
31
+ * since we can guarantee that the user will have the necessary permissions to enable
32
+ * extract capabilities on the service.
33
+ */
34
+ function shouldShowExtractToggleElement(entity) {
35
+ return isHostedFeatureServiceMainEntity(entity);
36
+ }
37
+ function getExtractToggleElement(i18nScope) {
38
+ return {
39
+ labelKey: `${i18nScope}.fields.serverExtractCapability.label`,
40
+ scope: "/properties/serverExtractCapability",
41
+ type: "Control",
42
+ options: {
43
+ helperText: {
44
+ labelKey: `${i18nScope}.fields.serverExtractCapability.helperText`,
45
+ },
46
+ messages: [
47
+ {
48
+ type: UiSchemaMessageTypes.custom,
49
+ display: "notice",
50
+ kind: "warning",
51
+ icon: "exclamation-mark-triangle",
52
+ titleKey: `${i18nScope}.fields.serverExtractCapability.noFormatConfigurationNotice.title`,
53
+ labelKey: `${i18nScope}.fields.serverExtractCapability.noFormatConfigurationNotice.body`,
54
+ allowShowBeforeInteract: true,
55
+ conditions: [
56
+ {
57
+ scope: "/properties/serverExtractCapability",
58
+ schema: {
59
+ const: false,
60
+ },
61
+ },
62
+ ],
63
+ },
64
+ ],
65
+ },
66
+ };
67
+ }
68
+ /**
69
+ * Returns the ui schema element for the download formats field. Populating this field
70
+ * is a complex process that depends on the entity type, configuration, and product requirements.
71
+ */
72
+ function getDownloadFormatsElement(i18nScope, entity) {
73
+ const result = {
74
+ labelKey: `${i18nScope}.fields.downloadFormats.label`,
75
+ scope: "/properties/downloadFormats",
76
+ type: "Control",
77
+ options: {
78
+ control: "hub-field-input-list",
79
+ helperText: {
80
+ labelKey: `${i18nScope}.fields.downloadFormats.helperText`,
81
+ },
82
+ allowReorder: true,
83
+ allowHide: true,
84
+ },
85
+ rules: [],
86
+ };
87
+ // Product has asked that if the extract capability toggle is present, we should disable
88
+ // the download formats control when the toggle is off. We hope this will encourage more
89
+ // users to opt into the hosted downloads experience.
90
+ if (shouldShowExtractToggleElement(entity)) {
91
+ result.rules.push({
92
+ effect: UiSchemaRuleEffects.DISABLE,
93
+ conditions: [
94
+ {
95
+ scope: "/properties/serverExtractCapability",
96
+ schema: {
97
+ const: false,
98
+ },
99
+ },
100
+ ],
101
+ });
102
+ // Product had us add this branch in to encourage users to make their content / service downloadable.
103
+ // This branch should run when the entity represents a service that cannot be downloaded and extract
104
+ // cannot be enabled. The control will list all the formats that _could_ be available if the user
105
+ // were to make the necessary changes
106
+ }
107
+ else if (shouldDisableDownloadFormatsControl(entity)) {
108
+ result.rules.push({
109
+ effect: UiSchemaRuleEffects.DISABLE,
110
+ conditions: [true],
111
+ });
112
+ result.options.messages = [
113
+ {
114
+ type: UiSchemaMessageTypes.custom,
115
+ display: "notice",
116
+ kind: "warning",
117
+ icon: "exclamation-mark-triangle",
118
+ titleKey: `${i18nScope}.fields.downloadFormats.downloadsUnavailableNotice.title`,
119
+ labelKey: `${i18nScope}.fields.downloadFormats.downloadsUnavailableNotice.body`,
120
+ allowShowBeforeInteract: true,
121
+ alwaysShow: true,
122
+ },
123
+ ];
124
+ }
125
+ return result;
126
+ }
127
+ /**
128
+ * Returns true when an entity represents a item/service that
129
+ * cannot be downloaded with its current configuration.
130
+ */
131
+ function shouldDisableDownloadFormatsControl(entity) {
132
+ const downloadFlow = getDownloadFlow(entity);
133
+ return !downloadFlow;
134
+ }
135
+ //# 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,23 @@
1
+ import { canUseExportImageFlow } from "../../downloads/_internal/canUseExportImageFlow";
2
+ import { getProp } from "../../objects/get-prop";
3
+ /**
4
+ * @private
5
+ * Determines if the downloads configuration should be shown for an entity.
6
+ *
7
+ * NOTE: product has asked that the download configuration be shown for entities that _can_
8
+ * be downloaded, as well as certain entities that _cannot_ be downloaded currently, but
9
+ * could be downloaded with a change in item / service settings.
10
+ *
11
+ * @param entity entity to check
12
+ * @returns whether downloads configuration should be shown
13
+ */
14
+ export function shouldShowDownloadsConfiguration(entity) {
15
+ // NOTE: At this time, product has asked that we hide the downloads configuration
16
+ // for multi-layer service entities.
17
+ const isReferenceLayerEntity = ["Feature Service", "Map Service"].includes(entity.type) &&
18
+ /\/\d+$/.test(entity.url);
19
+ const isSingleLayerEntity = getProp(entity, "extendedProps.server.layers.length") === 1;
20
+ const isDownloadableImageService = canUseExportImageFlow(entity);
21
+ return (isReferenceLayerEntity || isSingleLayerEntity || isDownloadableImageService);
22
+ }
23
+ //# sourceMappingURL=shouldShowDownloadsConfiguration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shouldShowDownloadsConfiguration.js","sourceRoot":"","sources":["../../../../src/content/_internal/shouldShowDownloadsConfiguration.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,iDAAiD,CAAC;AACxF,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAEjD;;;;;;;;;;GAUG;AACH,MAAM,UAAU,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,OAAO,CAAC,MAAM,EAAE,oCAAoC,CAAC,KAAK,CAAC,CAAC;IAC9D,MAAM,0BAA0B,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAEjE,OAAO,CACL,sBAAsB,IAAI,mBAAmB,IAAI,0BAA0B,CAC5E,CAAC;AACJ,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { __rest } from "tslib";
1
2
  import { getItem, removeItem, } from "@esri/arcgis-rest-portal";
2
3
  // Note - we separate these imports so we can cleanly spy on things in tests
3
4
  import { createModel, updateModel, } from "../models";
@@ -11,7 +12,10 @@ import { updateServiceDefinition } from "@esri/arcgis-rest-service-admin";
11
12
  import { hasServiceCapability, isHostedFeatureServiceMainEntity, ServiceCapabilities, toggleServiceCapability, } from "./hostedServiceUtils";
12
13
  import { isDownloadSchedulingAvailable, maybeUpdateSchedule, } from "./manageSchedule";
13
14
  import { forceUpdateContent } from "./_internal/internalContentUtils";
14
- import { deepEqual } from "../objects";
15
+ import { deepEqual, getProp, setProp } from "../objects";
16
+ import { getDownloadFlow } from "../downloads/_internal/getDownloadFlow";
17
+ import { getDownloadConfiguration } from "../downloads/getDownloadConfiguration";
18
+ import { shouldShowDownloadsConfiguration } from "./_internal/shouldShowDownloadsConfiguration";
15
19
  // TODO: move this to defaults?
16
20
  const DEFAULT_CONTENT_MODEL = {
17
21
  item: {
@@ -80,6 +84,22 @@ export async function updateContent(content, requestOptions) {
80
84
  // we are not attempting to handle "concurrent edit" conflict resolution
81
85
  // but this is where we would apply that sort of logic
82
86
  const modelToUpdate = mapper.entityToStore(content, model);
87
+ // NOTE: Product has asked that we display a _disabled_ downloads configuration for
88
+ // certain types of entities, but not allow users to change any settings. The following
89
+ // checks are in place to make sure we don't accidentally save configurations in
90
+ // situations where we shouldn't
91
+ const downloadFlow = getDownloadFlow(content);
92
+ const updatedFormats = getProp(content, "extendedProps.downloads.formats");
93
+ const isMainEntityExtractDisabled = isHostedFeatureServiceMainEntity(content) &&
94
+ downloadFlow !== "createReplica";
95
+ const wasDownloadsConfigurationDisplayed = shouldShowDownloadsConfiguration(content);
96
+ if (wasDownloadsConfigurationDisplayed && // whether the downloads configuration was displayed
97
+ downloadFlow && // whether the entity can be downloaded
98
+ updatedFormats && // whether download format configuration is present
99
+ !isMainEntityExtractDisabled) {
100
+ const updatedDownloadsConfiguration = cloneObject(content.extendedProps.downloads);
101
+ setProp("item.properties.downloads", updatedDownloadsConfiguration, modelToUpdate, true);
102
+ }
83
103
  // TODO: if we have resources disconnect them from the model for now.
84
104
  // if (modelToUpdate.resources) {
85
105
  // resources = configureBaseResources(
@@ -146,8 +166,25 @@ export async function deleteContent(id, requestOptions) {
146
166
  */
147
167
  export function editorToContent(editor, portal) {
148
168
  var _a;
149
- // clone into a IHubContentEditor
150
- const content = cloneObject(editor);
169
+ // Clone the editor to prevent mutation
170
+ const clonedEditor = cloneObject(editor);
171
+ // Remove unneeded properties
172
+ delete clonedEditor.downloadFormats;
173
+ // Cast the editor to a content
174
+ const content = cloneObject(clonedEditor);
175
+ // Conditionally set the downloads configuration. We only want
176
+ // to set the configuration if the entity is actually downloadable
177
+ const downloadFlow = getDownloadFlow(content);
178
+ if (downloadFlow && editor.downloadFormats) {
179
+ const downloadConfiguration = getDownloadConfiguration(content);
180
+ // Convert the download format display objects to the stored format
181
+ const forStorage = editor.downloadFormats.map((format) => {
182
+ const { label } = format, rest = __rest(format, ["label"]);
183
+ return rest;
184
+ });
185
+ downloadConfiguration.formats = forStorage;
186
+ setProp("extendedProps.downloads", downloadConfiguration, content, true);
187
+ }
151
188
  // copy the location extent up one level
152
189
  content.extent = (_a = editor.location) === null || _a === void 0 ? void 0 : _a.extent;
153
190
  return content;
@@ -1 +1 @@
1
- {"version":3,"file":"edit.js","sourceRoot":"","sources":["../../../src/content/edit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"edit.js","sourceRoot":"","sources":["../../../src/content/edit.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * @private
3
+ * Determines if the given download format configuration is for
4
+ * an additional resource.
5
+ *
6
+ * @param config IDownloadFormatConfiguration
7
+ * @returns boolean
8
+ */
9
+ export function isAdditionalResourceConfiguration(config) {
10
+ return config.key.startsWith("additionalResource::");
11
+ }
12
+ /**
13
+ * @private
14
+ * Get's the index of the additional resource from the given
15
+ * download format configuration.
16
+ *
17
+ * @param config IDownloadFormatConfiguration
18
+ * @returns number - The index of the additional resource
19
+ */
20
+ export function getAdditionalResourceIndex(config) {
21
+ return parseInt(config.key.split("::")[1], 10);
22
+ }
23
+ //# 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,MAAM,UAAU,iCAAiC,CAC/C,MAAoC;IAEpC,OAAO,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC;AACvD,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,0BAA0B,CACxC,MAAoC;IAEpC,OAAO,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACjD,CAAC"}
@@ -0,0 +1,75 @@
1
+ import { isHostedFeatureServiceMainEntity } from "../../content";
2
+ import { getProp } from "../../objects/get-prop";
3
+ import { getDownloadConfiguration } from "../getDownloadConfiguration";
4
+ import { getCreateReplicaFormats } from "./format-fetchers/getCreateReplicaFormats";
5
+ import { getPagingJobFormats } from "./format-fetchers/getPagingJobFormats";
6
+ import { getAdditionalResourceIndex, isAdditionalResourceConfiguration, } from "./additional-resources/utils";
7
+ /**
8
+ * @private
9
+ * Returns configuration objects for each download format that should be displayed
10
+ * in the editing experience of a content entity. This function should not be used
11
+ * to calculate the download formats that should be present on the live UI.
12
+ * @param entity entity to get download format configurations for
13
+ * @returns download format configurations to display
14
+ */
15
+ export function getDownloadConfigurationDisplayFormats(entity) {
16
+ const configuration = getDownloadConfiguration(entity);
17
+ const flowType = configuration.flowType;
18
+ let formats = configuration.formats;
19
+ // For feature or map services that don't meet the criteria to be downloaded (i.e., no flowType)
20
+ // Product wants to show paging formats as a preview of what _could_ be downloaded should
21
+ // the criteria be met.
22
+ if (!flowType && ["Feature Service", "Map Service"].includes(entity.type)) {
23
+ const pagingFormats = getPagingJobFormats().map((f) => {
24
+ return {
25
+ key: f.format,
26
+ hidden: false,
27
+ };
28
+ });
29
+ // TODO: Should we just show paging formats as a preview or include additional resources?
30
+ formats = pagingFormats;
31
+ }
32
+ // For main entities of a hosted feature service with extract disabled, we want to display
33
+ // the list of createReplica formats as a preview of what _could_ be downloaded should
34
+ // the extract capability be enabled
35
+ if (isHostedFeatureServiceMainEntity(entity) &&
36
+ flowType !== "createReplica") {
37
+ const createReplicaFormats = getCreateReplicaFormats(entity).map((f) => {
38
+ return {
39
+ key: f.format,
40
+ hidden: false,
41
+ };
42
+ });
43
+ formats = createReplicaFormats;
44
+ }
45
+ const additionalResources = getProp(entity, "extendedProps.additionalResources") || [];
46
+ return formats.map((f) => isAdditionalResourceConfiguration(f)
47
+ ? toAdditionalResourceConfigurationDisplay(f, additionalResources)
48
+ : toDownloadFormatConfigurationDisplay(f));
49
+ }
50
+ // Converts a download format configuration storage object to a display object
51
+ // (i.e., adds appropriate labels, etc.)
52
+ function toDownloadFormatConfigurationDisplay(config) {
53
+ return Object.assign({ label: `{{shared.fields.download.format.${config.key}:translate}}` }, config);
54
+ }
55
+ // Converts an additional resource configuration storage object to a display object
56
+ // (i.e., adds appropriate labels, etc.)
57
+ function toAdditionalResourceConfigurationDisplay(config, additionalResources) {
58
+ const resourceIndex = getAdditionalResourceIndex(config);
59
+ const { name, isDataSource } = additionalResources[resourceIndex];
60
+ let label;
61
+ // Prefer the name of the additional resource if it exists
62
+ if (name) {
63
+ label = `{{shared.fields.download.additionalResource|resourceName=${encodeURIComponent(name)}:translate}}`;
64
+ // If the additional resource is the data source...
65
+ }
66
+ else if (isDataSource) {
67
+ label = "{{shared.fields.download.dataSourceResource:translate}}";
68
+ // If the additional resource has no name...
69
+ }
70
+ else {
71
+ label = "{{shared.fields.download.noTitleResource:translate}}";
72
+ }
73
+ return Object.assign({ label }, config);
74
+ }
75
+ //# sourceMappingURL=getDownloadConfigurationDisplayFormats.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getDownloadConfigurationDisplayFormats.js","sourceRoot":"","sources":["../../../../src/downloads/_internal/getDownloadConfigurationDisplayFormats.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gCAAgC,EAAE,MAAM,eAAe,CAAC;AAOjE,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2CAA2C,CAAC;AAEpF,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAC5E,OAAO,EACL,0BAA0B,EAC1B,iCAAiC,GAClC,MAAM,8BAA8B,CAAC;AAEtC;;;;;;;GAOG;AACH,MAAM,UAAU,sCAAsC,CACpD,MAA2B;IAE3B,MAAM,aAAa,GAAG,wBAAwB,CAAC,MAAM,CAAC,CAAC;IACvD,MAAM,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC;IACxC,IAAI,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC;IAEpC,gGAAgG;IAChG,yFAAyF;IACzF,uBAAuB;IACvB,IAAI,CAAC,QAAQ,IAAI,CAAC,iBAAiB,EAAE,aAAa,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;QACzE,MAAM,aAAa,GACjB,mBAAmB,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YAC9B,OAAO;gBACL,GAAG,EAAE,CAAC,CAAC,MAAM;gBACb,MAAM,EAAE,KAAK;aACd,CAAC;QACJ,CAAC,CAAC,CAAC;QACL,yFAAyF;QACzF,OAAO,GAAG,aAAa,CAAC;KACzB;IAED,0FAA0F;IAC1F,sFAAsF;IACtF,oCAAoC;IACpC,IACE,gCAAgC,CAAC,MAAM,CAAC;QACxC,QAAQ,KAAK,eAAe,EAC5B;QACA,MAAM,oBAAoB,GACxB,uBAAuB,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACxC,OAAO;gBACL,GAAG,EAAE,CAAC,CAAC,MAAM;gBACb,MAAM,EAAE,KAAK;aACd,CAAC;QACJ,CAAC,CAAC,CAAC;QACL,OAAO,GAAG,oBAAoB,CAAC;KAChC;IAED,MAAM,mBAAmB,GACvB,OAAO,CAAC,MAAM,EAAE,mCAAmC,CAAC,IAAI,EAAE,CAAC;IAE7D,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACvB,iCAAiC,CAAC,CAAC,CAAC;QAClC,CAAC,CAAC,wCAAwC,CAAC,CAAC,EAAE,mBAAmB,CAAC;QAClE,CAAC,CAAC,oCAAoC,CAAC,CAAC,CAAC,CAC5C,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,wCAAwC;AACxC,SAAS,oCAAoC,CAC3C,MAAoC;IAEpC,uBACE,KAAK,EAAE,mCAAmC,MAAM,CAAC,GAAG,cAAc,IAC/D,MAAM,EACT;AACJ,CAAC;AAED,mFAAmF;AACnF,wCAAwC;AACxC,SAAS,wCAAwC,CAC/C,MAAoC,EACpC,mBAA6C;IAE7C,MAAM,aAAa,GAAG,0BAA0B,CAAC,MAAM,CAAC,CAAC;IACzD,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,mBAAmB,CAAC,aAAa,CAAC,CAAC;IAElE,IAAI,KAAK,CAAC;IACV,0DAA0D;IAC1D,IAAI,IAAI,EAAE;QACR,KAAK,GAAG,4DAA4D,kBAAkB,CACpF,IAAI,CACL,cAAc,CAAC;QAChB,mDAAmD;KACpD;SAAM,IAAI,YAAY,EAAE;QACvB,KAAK,GAAG,yDAAyD,CAAC;QAClE,4CAA4C;KAC7C;SAAM;QACL,KAAK,GAAG,sDAAsD,CAAC;KAChE;IAED,uBACE,KAAK,IACF,MAAM,EACT;AACJ,CAAC"}
@@ -0,0 +1,26 @@
1
+ import { canUseCreateReplica } from "../canUseCreateReplica";
2
+ import { canUseHubDownloadSystem } from "../canUseHubDownloadSystem";
3
+ import { canUseExportImageFlow } from "./canUseExportImageFlow";
4
+ /**
5
+ * @private
6
+ * Determines the download flow that will be used for the current entity.
7
+ * If the entity cannot be downloaded, returns null.
8
+ *
9
+ * @param entity the entity to get the download flow for
10
+ * @param isEnterprise whether the the download will be executed in an enterprise environment
11
+ * @returns the download flow that will be used for the current entity
12
+ */
13
+ export function getDownloadFlow(entity, isEnterprise) {
14
+ let downloadFlow = null;
15
+ if (canUseCreateReplica(entity)) {
16
+ downloadFlow = "createReplica";
17
+ }
18
+ else if (canUseHubDownloadSystem(entity) && !isEnterprise) {
19
+ downloadFlow = "paging";
20
+ }
21
+ else if (canUseExportImageFlow(entity)) {
22
+ downloadFlow = "exportImage";
23
+ }
24
+ return downloadFlow;
25
+ }
26
+ //# sourceMappingURL=getDownloadFlow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getDownloadFlow.js","sourceRoot":"","sources":["../../../../src/downloads/_internal/getDownloadFlow.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEhE;;;;;;;;GAQG;AACH,MAAM,UAAU,eAAe,CAC7B,MAA2B,EAC3B,YAAsB;IAEtB,IAAI,YAAY,GAAqB,IAAI,CAAC;IAC1C,IAAI,mBAAmB,CAAC,MAAM,CAAC,EAAE;QAC/B,YAAY,GAAG,eAAe,CAAC;KAChC;SAAM,IAAI,uBAAuB,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE;QAC3D,YAAY,GAAG,QAAQ,CAAC;KACzB;SAAM,IAAI,qBAAqB,CAAC,MAAM,CAAC,EAAE;QACxC,YAAY,GAAG,aAAa,CAAC;KAC9B;IACD,OAAO,YAAY,CAAC;AACtB,CAAC"}
@@ -0,0 +1,28 @@
1
+ import { getCreateReplicaFormats } from "./format-fetchers/getCreateReplicaFormats";
2
+ import { getExportImageFormats } from "./format-fetchers/getExportImageFormats";
3
+ import { getPagingJobFormats } from "./format-fetchers/getPagingJobFormats";
4
+ /**
5
+ * @private
6
+ * Get the download formats for a given download flow and entity.
7
+ *
8
+ * @param downloadFlow DownloadFlowType
9
+ * @param entity IHubEditableContent
10
+ * @returns IDynamicDownloadFormat[]
11
+ */
12
+ export function getDownloadFormatsByFlow(downloadFlow, entity) {
13
+ let downloadFormats = [];
14
+ const actionsByFlow = {
15
+ createReplica: () => {
16
+ downloadFormats = getCreateReplicaFormats(entity);
17
+ },
18
+ paging: () => {
19
+ downloadFormats = getPagingJobFormats();
20
+ },
21
+ exportImage: () => {
22
+ downloadFormats = getExportImageFormats(entity);
23
+ },
24
+ };
25
+ actionsByFlow[downloadFlow] && actionsByFlow[downloadFlow]();
26
+ return downloadFormats;
27
+ }
28
+ //# sourceMappingURL=getDownloadFormatsByFlow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getDownloadFormatsByFlow.js","sourceRoot":"","sources":["../../../../src/downloads/_internal/getDownloadFormatsByFlow.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,uBAAuB,EAAE,MAAM,2CAA2C,CAAC;AACpF,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AAChF,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAE5E;;;;;;;GAOG;AACH,MAAM,UAAU,wBAAwB,CACtC,YAA8B,EAC9B,MAA2B;IAE3B,IAAI,eAAe,GAA6B,EAAE,CAAC;IACnD,MAAM,aAAa,GAAyC;QAC1D,aAAa,EAAE,GAAG,EAAE;YAClB,eAAe,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAC;QACpD,CAAC;QACD,MAAM,EAAE,GAAG,EAAE;YACX,eAAe,GAAG,mBAAmB,EAAE,CAAC;QAC1C,CAAC;QACD,WAAW,EAAE,GAAG,EAAE;YAChB,eAAe,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;QAClD,CAAC;KACF,CAAC;IACF,aAAa,CAAC,YAAY,CAAC,IAAI,aAAa,CAAC,YAAY,CAAC,EAAE,CAAC;IAC7D,OAAO,eAAe,CAAC;AACzB,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import HubError from "../HubError";
2
2
  import { canUseExportImageFlow } from "./_internal/canUseExportImageFlow";
3
3
  import { canUseHubDownloadApi } from "./canUseHubDownloadApi";
4
+ import { getDownloadFormats } from "./getDownloadFormats";
4
5
  /**
5
6
  * Fetches a download file URL for the given entity and format.
6
7
  * @param options options to refine / filter the results of the fetchDownloadFile operation
@@ -8,6 +9,8 @@ import { canUseHubDownloadApi } from "./canUseHubDownloadApi";
8
9
  * @throws {ArcgisHubDownloadError} if the download file URL cannot be fetched for a well-known reason
9
10
  */
10
11
  export async function fetchDownloadFile(options) {
12
+ // Make sure that format requested has been enabled for the entity
13
+ validateFormat(options);
11
14
  // If the pollInterval is not set, default to 3 seconds
12
15
  const withPollInterval = options.pollInterval == null ? Object.assign(Object.assign({}, options), { pollInterval: 3000 }) : options;
13
16
  let fetchingFn;
@@ -22,4 +25,21 @@ export async function fetchDownloadFile(options) {
22
25
  }
23
26
  return fetchingFn(withPollInterval);
24
27
  }
28
+ /**
29
+ * Validates the format requested is enabled for the entity
30
+ * @param options options for the fetchDownloadFile operation
31
+ * @throws {HubError} if the format requested is not enabled for the entity
32
+ */
33
+ function validateFormat(options) {
34
+ const { entity, context, format } = options;
35
+ const validServerFormats = getDownloadFormats({
36
+ entity,
37
+ context,
38
+ })
39
+ .filter((f) => f.type === "dynamic")
40
+ .map((f) => f.format);
41
+ if (!validServerFormats.includes(format)) {
42
+ throw new HubError("fetchDownloadFile", `The following format is not enabled for the entity: ${format}`);
43
+ }
44
+ }
25
45
  //# sourceMappingURL=fetchDownloadFile.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fetchDownloadFile.js","sourceRoot":"","sources":["../../../src/downloads/fetchDownloadFile.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAG9D;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,OAAkC;IAElC,uDAAuD;IACvD,MAAM,gBAAgB,GACpB,OAAO,CAAC,YAAY,IAAI,IAAI,CAAC,CAAC,iCAAM,OAAO,KAAE,YAAY,EAAE,IAAI,IAAG,CAAC,CAAC,OAAO,CAAC;IAE9E,IAAI,UAAU,CAAC;IACf,IAAI,oBAAoB,CAAC,gBAAgB,CAAC,MAAM,EAAE,gBAAgB,CAAC,OAAO,CAAC,EAAE;QAC3E,UAAU,GAAG,CACX,MAAM,MAAM,CAAC,uDAAuD,CAAC,CACtE,CAAC,uBAAuB,CAAC;KAC3B;SAAM,IAAI,qBAAqB,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE;QACzD,UAAU,GAAG,CACX,MAAM,MAAM,CAAC,4DAA4D,CAAC,CAC3E,CAAC,4BAA4B,CAAC;KAChC;SAAM;QACL,MAAM,IAAI,QAAQ,CAChB,mBAAmB,EACnB,+DAA+D,CAChE,CAAC;KACH;IACD,OAAO,UAAU,CAAC,gBAAgB,CAAC,CAAC;AACtC,CAAC"}
1
+ {"version":3,"file":"fetchDownloadFile.js","sourceRoot":"","sources":["../../../src/downloads/fetchDownloadFile.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAQ1D;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,OAAkC;IAElC,kEAAkE;IAClE,cAAc,CAAC,OAAO,CAAC,CAAC;IAExB,uDAAuD;IACvD,MAAM,gBAAgB,GACpB,OAAO,CAAC,YAAY,IAAI,IAAI,CAAC,CAAC,iCAAM,OAAO,KAAE,YAAY,EAAE,IAAI,IAAG,CAAC,CAAC,OAAO,CAAC;IAE9E,IAAI,UAAU,CAAC;IACf,IAAI,oBAAoB,CAAC,gBAAgB,CAAC,MAAM,EAAE,gBAAgB,CAAC,OAAO,CAAC,EAAE;QAC3E,UAAU,GAAG,CACX,MAAM,MAAM,CAAC,uDAAuD,CAAC,CACtE,CAAC,uBAAuB,CAAC;KAC3B;SAAM,IAAI,qBAAqB,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE;QACzD,UAAU,GAAG,CACX,MAAM,MAAM,CAAC,4DAA4D,CAAC,CAC3E,CAAC,4BAA4B,CAAC;KAChC;SAAM;QACL,MAAM,IAAI,QAAQ,CAChB,mBAAmB,EACnB,+DAA+D,CAChE,CAAC;KACH;IACD,OAAO,UAAU,CAAC,gBAAgB,CAAC,CAAC;AACtC,CAAC;AAED;;;;GAIG;AACH,SAAS,cAAc,CAAC,OAAkC;IACxD,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAC5C,MAAM,kBAAkB,GAA4B,kBAAkB,CAAC;QACrE,MAAM;QACN,OAAO;KACR,CAAC;SACC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC;SACnC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAE,CAA4B,CAAC,MAAM,CAAC,CAAC;IACpD,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;QACxC,MAAM,IAAI,QAAQ,CAChB,mBAAmB,EACnB,uDAAuD,MAAM,EAAE,CAChE,CAAC;KACH;AACH,CAAC"}