@esri/hub-common 11.5.0 → 11.6.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 (78) hide show
  1. package/dist/esm/core/HubItemEntity.js.map +1 -1
  2. package/dist/esm/core/behaviors/IWithEditorBehavior.js +1 -0
  3. package/dist/esm/core/behaviors/IWithEditorBehavior.js.map +1 -0
  4. package/dist/esm/core/behaviors/index.js +1 -0
  5. package/dist/esm/core/behaviors/index.js.map +1 -1
  6. package/dist/esm/core/index.js +1 -0
  7. package/dist/esm/core/index.js.map +1 -1
  8. package/dist/esm/core/schemas/hubproject.js +70 -0
  9. package/dist/esm/core/schemas/hubproject.js.map +1 -0
  10. package/dist/esm/core/schemas/index.js +3 -0
  11. package/dist/esm/core/schemas/index.js.map +1 -0
  12. package/dist/esm/core/schemas/internal/applyUiSchemaElementOptions.js +31 -0
  13. package/dist/esm/core/schemas/internal/applyUiSchemaElementOptions.js.map +1 -0
  14. package/dist/esm/core/schemas/internal/filterSchemaToUiSchema.js +14 -0
  15. package/dist/esm/core/schemas/internal/filterSchemaToUiSchema.js.map +1 -0
  16. package/dist/esm/core/schemas/internal/getUiSchemaProps.js +17 -0
  17. package/dist/esm/core/schemas/internal/getUiSchemaProps.js.map +1 -0
  18. package/dist/esm/core/schemas/internal/index.js +5 -0
  19. package/dist/esm/core/schemas/internal/index.js.map +1 -0
  20. package/dist/esm/core/schemas/internal/subsetSchema.js +17 -0
  21. package/dist/esm/core/schemas/internal/subsetSchema.js.map +1 -0
  22. package/dist/esm/core/schemas/types.js +21 -0
  23. package/dist/esm/core/schemas/types.js.map +1 -0
  24. package/dist/esm/initiatives/HubInitiative.js +14 -0
  25. package/dist/esm/initiatives/HubInitiative.js.map +1 -1
  26. package/dist/esm/objects/deepGetPropValues.js +19 -0
  27. package/dist/esm/objects/deepGetPropValues.js.map +1 -0
  28. package/dist/esm/projects/HubProject.js +14 -1
  29. package/dist/esm/projects/HubProject.js.map +1 -1
  30. package/dist/esm/projects/HubProjects.js +37 -1
  31. package/dist/esm/projects/HubProjects.js.map +1 -1
  32. package/dist/node/core/HubItemEntity.js.map +1 -1
  33. package/dist/node/core/behaviors/IWithEditorBehavior.js +3 -0
  34. package/dist/node/core/behaviors/IWithEditorBehavior.js.map +1 -0
  35. package/dist/node/core/behaviors/index.js +1 -0
  36. package/dist/node/core/behaviors/index.js.map +1 -1
  37. package/dist/node/core/index.js +1 -0
  38. package/dist/node/core/index.js.map +1 -1
  39. package/dist/node/core/schemas/hubproject.js +73 -0
  40. package/dist/node/core/schemas/hubproject.js.map +1 -0
  41. package/dist/node/core/schemas/index.js +6 -0
  42. package/dist/node/core/schemas/index.js.map +1 -0
  43. package/dist/node/core/schemas/internal/applyUiSchemaElementOptions.js +35 -0
  44. package/dist/node/core/schemas/internal/applyUiSchemaElementOptions.js.map +1 -0
  45. package/dist/node/core/schemas/internal/filterSchemaToUiSchema.js +18 -0
  46. package/dist/node/core/schemas/internal/filterSchemaToUiSchema.js.map +1 -0
  47. package/dist/node/core/schemas/internal/getUiSchemaProps.js +21 -0
  48. package/dist/node/core/schemas/internal/getUiSchemaProps.js.map +1 -0
  49. package/dist/node/core/schemas/internal/index.js +8 -0
  50. package/dist/node/core/schemas/internal/index.js.map +1 -0
  51. package/dist/node/core/schemas/internal/subsetSchema.js +21 -0
  52. package/dist/node/core/schemas/internal/subsetSchema.js.map +1 -0
  53. package/dist/node/core/schemas/types.js +24 -0
  54. package/dist/node/core/schemas/types.js.map +1 -0
  55. package/dist/node/initiatives/HubInitiative.js +14 -0
  56. package/dist/node/initiatives/HubInitiative.js.map +1 -1
  57. package/dist/node/objects/deepGetPropValues.js +23 -0
  58. package/dist/node/objects/deepGetPropValues.js.map +1 -0
  59. package/dist/node/projects/HubProject.js +13 -0
  60. package/dist/node/projects/HubProject.js.map +1 -1
  61. package/dist/node/projects/HubProjects.js +38 -1
  62. package/dist/node/projects/HubProjects.js.map +1 -1
  63. package/dist/types/core/behaviors/IWithEditorBehavior.d.ts +12 -0
  64. package/dist/types/core/behaviors/index.d.ts +1 -0
  65. package/dist/types/core/index.d.ts +1 -0
  66. package/dist/types/core/schemas/hubproject.d.ts +10 -0
  67. package/dist/types/core/schemas/index.d.ts +2 -0
  68. package/dist/types/core/schemas/internal/applyUiSchemaElementOptions.d.ts +10 -0
  69. package/dist/types/core/schemas/internal/filterSchemaToUiSchema.d.ts +8 -0
  70. package/dist/types/core/schemas/internal/getUiSchemaProps.d.ts +9 -0
  71. package/dist/types/core/schemas/internal/index.d.ts +4 -0
  72. package/dist/types/core/schemas/internal/subsetSchema.d.ts +8 -0
  73. package/dist/types/core/schemas/types.d.ts +61 -0
  74. package/dist/types/initiatives/HubInitiative.d.ts +6 -0
  75. package/dist/types/objects/deepGetPropValues.d.ts +6 -0
  76. package/dist/types/projects/HubProject.d.ts +12 -1
  77. package/dist/types/projects/HubProjects.d.ts +9 -1
  78. package/package.json +3 -1
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./types"), exports);
5
+ tslib_1.__exportStar(require("./hubproject"), exports);
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/schemas/index.ts"],"names":[],"mappings":";;;AAAA,kDAAwB;AACxB,uDAA6B"}
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.applyUiSchemaElementOptions = void 0;
4
+ const deepFind_1 = require("../../../objects/deepFind");
5
+ const util_1 = require("../../../util");
6
+ /**
7
+ * Apply a set of run-time configurations into the UI schema so
8
+ * the controls can be configured for the current environment.
9
+ * TODO: Add Example
10
+ * @param schema
11
+ * @param options
12
+ * @returns
13
+ */
14
+ function applyUiSchemaElementOptions(schema, options = []) {
15
+ // return a clone so we don't mutate the passed in schema
16
+ const cloneSchema = util_1.cloneObject(schema);
17
+ // merge the options into the uiSchema
18
+ // hoist into applyElementOptions fn
19
+ options.forEach((elementOptions) => {
20
+ // find the entry in the uiSchema for the elementOptions.scope,
21
+ // and extend the elementOptions.options into the .options property
22
+ const elConfig = deepFind_1.deepFind(cloneSchema, (entry) => {
23
+ // we dont want to apply this to rules
24
+ // Note: If this logic becomes more complex, we may need to
25
+ // write a function that's more specific to the uiSchema
26
+ return !(entry === null || entry === void 0 ? void 0 : entry.schema) && (entry === null || entry === void 0 ? void 0 : entry.scope) === elementOptions.scope;
27
+ });
28
+ if (elConfig) {
29
+ elConfig.options = Object.assign(Object.assign({}, (elConfig.options || {})), elementOptions.options);
30
+ }
31
+ });
32
+ return cloneSchema;
33
+ }
34
+ exports.applyUiSchemaElementOptions = applyUiSchemaElementOptions;
35
+ //# sourceMappingURL=applyUiSchemaElementOptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"applyUiSchemaElementOptions.js","sourceRoot":"","sources":["../../../../../src/core/schemas/internal/applyUiSchemaElementOptions.ts"],"names":[],"mappings":";;;AAAA,wDAAqD;AACrD,wCAA4C;AAG5C;;;;;;;GAOG;AACH,SAAgB,2BAA2B,CACzC,MAAiB,EACjB,UAAoC,EAAE;IAEtC,yDAAyD;IACzD,MAAM,WAAW,GAAG,kBAAW,CAAC,MAAM,CAAC,CAAC;IACxC,sCAAsC;IACtC,oCAAoC;IACpC,OAAO,CAAC,OAAO,CAAC,CAAC,cAAc,EAAE,EAAE;QACjC,+DAA+D;QAC/D,mEAAmE;QACnE,MAAM,QAAQ,GAAG,mBAAQ,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE;YAC/C,sCAAsC;YACtC,2DAA2D;YAC3D,wDAAwD;YACxD,OAAO,EAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,CAAA,IAAI,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK,MAAK,cAAc,CAAC,KAAK,CAAC;QACjE,CAAC,CAAC,CAAC;QACH,IAAI,QAAQ,EAAE;YACZ,QAAQ,CAAC,OAAO,mCACX,CAAC,QAAQ,CAAC,OAAO,IAAI,EAAE,CAAC,GACxB,cAAc,CAAC,OAAO,CAC1B,CAAC;SACH;IACH,CAAC,CAAC,CAAC;IACH,OAAO,WAAW,CAAC;AACrB,CAAC;AAzBD,kEAyBC"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.filterSchemaToUiSchema = void 0;
4
+ const getUiSchemaProps_1 = require("./getUiSchemaProps");
5
+ const subsetSchema_1 = require("./subsetSchema");
6
+ /**
7
+ * Subset a json schema to only those properties needed by the uiSchema
8
+ * @param schema
9
+ * @param uiSchema
10
+ * @returns
11
+ */
12
+ function filterSchemaToUiSchema(schema, uiSchema) {
13
+ const propsToKeep = getUiSchemaProps_1.getUiSchemaProps(uiSchema);
14
+ schema = subsetSchema_1.subsetSchema(schema, propsToKeep);
15
+ return schema;
16
+ }
17
+ exports.filterSchemaToUiSchema = filterSchemaToUiSchema;
18
+ //# sourceMappingURL=filterSchemaToUiSchema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filterSchemaToUiSchema.js","sourceRoot":"","sources":["../../../../../src/core/schemas/internal/filterSchemaToUiSchema.ts"],"names":[],"mappings":";;;AAAA,yDAAsD;AAEtD,iDAA8C;AAE9C;;;;;GAKG;AACH,SAAgB,sBAAsB,CACpC,MAA4B,EAC5B,QAAmB;IAEnB,MAAM,WAAW,GAAG,mCAAgB,CAAC,QAAQ,CAAC,CAAC;IAC/C,MAAM,GAAG,2BAAY,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAC3C,OAAO,MAAM,CAAC;AAChB,CAAC;AAPD,wDAOC"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getUiSchemaProps = void 0;
4
+ const deepGetPropValues_1 = require("../../../objects/deepGetPropValues");
5
+ const util_1 = require("../../../util");
6
+ /**
7
+ * Get all the property names from a UI schema.
8
+ *
9
+ * Used to subset a json schema to only those properties used in a UI Schema
10
+ * @param uiSchema
11
+ * @returns
12
+ */
13
+ function getUiSchemaProps(uiSchema) {
14
+ return deepGetPropValues_1.deepGetPropValues(uiSchema, "scope")
15
+ .map((scope) => {
16
+ return scope.split("/")[2];
17
+ })
18
+ .filter(util_1.unique);
19
+ }
20
+ exports.getUiSchemaProps = getUiSchemaProps;
21
+ //# sourceMappingURL=getUiSchemaProps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getUiSchemaProps.js","sourceRoot":"","sources":["../../../../../src/core/schemas/internal/getUiSchemaProps.ts"],"names":[],"mappings":";;;AAAA,0EAAuE;AACvE,wCAAuC;AAGvC;;;;;;GAMG;AACH,SAAgB,gBAAgB,CAAC,QAAmB;IAClD,OAAO,qCAAiB,CAAC,QAAQ,EAAE,OAAO,CAAC;SACxC,GAAG,CAAC,CAAC,KAAa,EAAE,EAAE;QACrB,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7B,CAAC,CAAC;SACD,MAAM,CAAC,aAAM,CAAC,CAAC;AACpB,CAAC;AAND,4CAMC"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./getUiSchemaProps"), exports);
5
+ tslib_1.__exportStar(require("./subsetSchema"), exports);
6
+ tslib_1.__exportStar(require("./filterSchemaToUiSchema"), exports);
7
+ tslib_1.__exportStar(require("./applyUiSchemaElementOptions"), exports);
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/core/schemas/internal/index.ts"],"names":[],"mappings":";;;AAAA,6DAAmC;AACnC,yDAA+B;AAC/B,mEAAyC;AACzC,wEAA8C"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.subsetSchema = void 0;
4
+ const util_1 = require("../../../util");
5
+ /**
6
+ * Subset a json schema to only those properties specified.
7
+ * @param schema
8
+ * @param props
9
+ * @returns
10
+ */
11
+ function subsetSchema(schema, props) {
12
+ const subset = util_1.cloneObject(schema);
13
+ Object.keys(subset.properties).forEach((key) => {
14
+ if (props.indexOf(key) === -1) {
15
+ delete subset.properties[key];
16
+ }
17
+ });
18
+ return subset;
19
+ }
20
+ exports.subsetSchema = subsetSchema;
21
+ //# sourceMappingURL=subsetSchema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subsetSchema.js","sourceRoot":"","sources":["../../../../../src/core/schemas/internal/subsetSchema.ts"],"names":[],"mappings":";;;AAAA,wCAA4C;AAG5C;;;;;GAKG;AACH,SAAgB,YAAY,CAC1B,MAA4B,EAC5B,KAAe;IAEf,MAAM,MAAM,GAAyB,kBAAW,CAAC,MAAM,CAAC,CAAC;IACzD,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QAC7C,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE;YAC7B,OAAO,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;SAC/B;IACH,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAChB,CAAC;AAXD,oCAWC"}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UiSchemaSectionTypes = exports.UiSchemaElementTypes = exports.UiSchemaRuleEffects = void 0;
4
+ var UiSchemaRuleEffects;
5
+ (function (UiSchemaRuleEffects) {
6
+ UiSchemaRuleEffects["SHOW"] = "SHOW";
7
+ UiSchemaRuleEffects["HIDE"] = "HIDE";
8
+ UiSchemaRuleEffects["DISABLE"] = "DISABLE";
9
+ UiSchemaRuleEffects["NONE"] = "";
10
+ })(UiSchemaRuleEffects = exports.UiSchemaRuleEffects || (exports.UiSchemaRuleEffects = {}));
11
+ var UiSchemaElementTypes;
12
+ (function (UiSchemaElementTypes) {
13
+ UiSchemaElementTypes["section"] = "Section";
14
+ UiSchemaElementTypes["step"] = "Step";
15
+ UiSchemaElementTypes["control"] = "Control";
16
+ UiSchemaElementTypes["layout"] = "Layout";
17
+ UiSchemaElementTypes["slot"] = "Slot";
18
+ })(UiSchemaElementTypes = exports.UiSchemaElementTypes || (exports.UiSchemaElementTypes = {}));
19
+ var UiSchemaSectionTypes;
20
+ (function (UiSchemaSectionTypes) {
21
+ UiSchemaSectionTypes["accordion"] = "accordion";
22
+ UiSchemaSectionTypes["stepper"] = "stepper";
23
+ })(UiSchemaSectionTypes = exports.UiSchemaSectionTypes || (exports.UiSchemaSectionTypes = {}));
24
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/core/schemas/types.ts"],"names":[],"mappings":";;;AAGA,IAAY,mBAKX;AALD,WAAY,mBAAmB;IAC7B,oCAAa,CAAA;IACb,oCAAa,CAAA;IACb,0CAAmB,CAAA;IACnB,gCAAS,CAAA;AACX,CAAC,EALW,mBAAmB,GAAnB,2BAAmB,KAAnB,2BAAmB,QAK9B;AAED,IAAY,oBAMX;AAND,WAAY,oBAAoB;IAC9B,2CAAmB,CAAA;IACnB,qCAAa,CAAA;IACb,2CAAmB,CAAA;IACnB,yCAAiB,CAAA;IACjB,qCAAa,CAAA;AACf,CAAC,EANW,oBAAoB,GAApB,4BAAoB,KAApB,4BAAoB,QAM/B;AAED,IAAY,oBAGX;AAHD,WAAY,oBAAoB;IAC9B,+CAAuB,CAAA;IACvB,2CAAmB,CAAA;AACrB,CAAC,EAHW,oBAAoB,GAApB,4BAAoB,KAApB,4BAAoB,QAG/B"}
@@ -84,6 +84,20 @@ class HubInitiative extends HubItemEntity_1.HubItemEntity {
84
84
  }
85
85
  }
86
86
  }
87
+ /**
88
+ * Static method to get the editor config for for the HubProject entity.
89
+ * @param i18nScope Translation scope to be interpolated into the schemas
90
+ * @param type
91
+ * @param options Optional hash of Element component options
92
+ */
93
+ // static async getEditorConfig(
94
+ // i18nScope: string,
95
+ // type: EditorConfigType,
96
+ // options: UiSchemaElementOptions[] = []
97
+ // ): Promise<IEditorConfig> {
98
+ // // Delegate to module fn
99
+ // throw new Error("getEditorConfig Not Implemented for Initiatives");
100
+ // }
87
101
  static applyDefaults(partialInitiative, context) {
88
102
  // ensure we have the orgUrlKey
89
103
  if (!partialInitiative.orgUrlKey) {
@@ -1 +1 @@
1
- {"version":3,"file":"HubInitiative.js","sourceRoot":"","sources":["../../../src/initiatives/HubInitiative.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HubInitiative.js","sourceRoot":"","sources":["../../../src/initiatives/HubInitiative.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.deepGetPropValues = void 0;
4
+ const _1 = require(".");
5
+ const util_1 = require("../util");
6
+ /**
7
+ * For a given property name, extract an array of the unique values of that property
8
+ * This was designed to work with string values, so no promises about other types
9
+ * @param obj
10
+ */
11
+ function deepGetPropValues(obj, prop) {
12
+ const props = [];
13
+ _1._deepMapValues(obj, (value, path) => {
14
+ // if the path ends with the property we're looking for then add it to the list
15
+ if (path.split(".").pop() === prop) {
16
+ props.push(value);
17
+ }
18
+ return value;
19
+ });
20
+ return props.filter(util_1.unique);
21
+ }
22
+ exports.deepGetPropValues = deepGetPropValues;
23
+ //# sourceMappingURL=deepGetPropValues.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deepGetPropValues.js","sourceRoot":"","sources":["../../../src/objects/deepGetPropValues.ts"],"names":[],"mappings":";;;AAAA,wBAAmC;AACnC,kCAAiC;AAEjC;;;;GAIG;AAEH,SAAgB,iBAAiB,CAC/B,GAAwB,EACxB,IAAY;IAEZ,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,iBAAc,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QAClC,+EAA+E;QAC/E,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,IAAI,EAAE;YAClC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACnB;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CAAC;IACH,OAAO,KAAK,CAAC,MAAM,CAAC,aAAM,CAAC,CAAC;AAC9B,CAAC;AAbD,8CAaC"}
@@ -84,6 +84,19 @@ class HubProject extends HubItemEntity_1.HubItemEntity {
84
84
  }
85
85
  }
86
86
  }
87
+ /**
88
+ * Static method to get the editor config for for the HubProject entity.
89
+ * @param i18nScope Translation scope to be interpolated into the schemas
90
+ * @param type
91
+ * @param options Optional hash of uiSchema element option overrides
92
+ * Note: typescript does not have a means to specify static methods in interfaces
93
+ * so while this is the implementation of IWithEditorBehavior, it is not enforced
94
+ * by the compiler.
95
+ */
96
+ static async getEditorConfig(i18nScope, type, options = []) {
97
+ // Delegate to module fn
98
+ return HubProjects_1.getHubProjectEditorConfig(i18nScope, type, options);
99
+ }
87
100
  static applyDefaults(partialProject, context) {
88
101
  // ensure we have the orgUrlKey
89
102
  if (!partialProject.orgUrlKey) {
@@ -1 +1 @@
1
- {"version":3,"file":"HubProject.js","sourceRoot":"","sources":["../../../src/projects/HubProject.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HubProject.js","sourceRoot":"","sources":["../../../src/projects/HubProject.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.enrichProjectSearchResult = exports.convertItemToProject = exports.deleteProject = exports.fetchProject = exports.updateProject = exports.createProject = void 0;
3
+ exports.getHubProjectEditorConfig = exports.enrichProjectSearchResult = exports.convertItemToProject = exports.deleteProject = exports.fetchProject = exports.updateProject = exports.createProject = void 0;
4
4
  // Note - we separate these imports so we can cleanly spy on things in tests
5
5
  const models_1 = require("../models");
6
6
  const slugs_1 = require("../items/slugs");
@@ -12,6 +12,9 @@ const _enrichments_1 = require("../items/_enrichments");
12
12
  const _internal_1 = require("../content/_internal");
13
13
  const defaults_1 = require("./defaults");
14
14
  const getBasePropertyMap_1 = require("../core/_internal/getBasePropertyMap");
15
+ const schemas_1 = require("../core/schemas");
16
+ const internal_1 = require("../core/schemas/internal");
17
+ const applyUiSchemaElementOptions_1 = require("../core/schemas/internal/applyUiSchemaElementOptions");
15
18
  /**
16
19
  * Returns an Array of IPropertyMap objects
17
20
  * that define the projection of properties from a IModel to an IHubProject
@@ -215,4 +218,38 @@ async function enrichProjectSearchResult(item, include, requestOptions) {
215
218
  return result;
216
219
  }
217
220
  exports.enrichProjectSearchResult = enrichProjectSearchResult;
221
+ /**
222
+ * Get the editor config for for the HubProject entity.
223
+ * @param i18nScope Translation scope to be interpolated into the schemas
224
+ * @param type
225
+ * @param options Optional hash of Element component options
226
+ * @returns
227
+ */
228
+ async function getHubProjectEditorConfig(i18nScope, type, options = []) {
229
+ // schema is always the entire schema
230
+ let schema = index_1.cloneObject(schemas_1.HubProjectSchema);
231
+ // uiSchema is the complete (edit) schema, unless otherwise specified
232
+ let uiSchema = index_1.cloneObject(schemas_1.HubProjectEditUiSchema);
233
+ // by default we don't need to filter the schema b/c it's the entire schema
234
+ let filterSchema = false;
235
+ // if another schema is requested, we need to use that UI schema
236
+ // and the subset the overall schema down to just the properties
237
+ // used in the UI schema
238
+ switch (type) {
239
+ case "create":
240
+ uiSchema = index_1.cloneObject(schemas_1.HubProjectCreateUiSchema);
241
+ filterSchema = true;
242
+ break;
243
+ }
244
+ if (filterSchema) {
245
+ // filter out properties not used in the UI schema
246
+ schema = internal_1.filterSchemaToUiSchema(schema, uiSchema);
247
+ }
248
+ // interpolate the i18n scope into the uiSchema
249
+ uiSchema = index_1.interpolate(uiSchema, { i18nScope });
250
+ // apply the options
251
+ uiSchema = applyUiSchemaElementOptions_1.applyUiSchemaElementOptions(uiSchema, options);
252
+ return Promise.resolve({ schema, uiSchema });
253
+ }
254
+ exports.getHubProjectEditorConfig = getHubProjectEditorConfig;
218
255
  //# sourceMappingURL=HubProjects.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"HubProjects.js","sourceRoot":"","sources":["../../../src/projects/HubProjects.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HubProjects.js","sourceRoot":"","sources":["../../../src/projects/HubProjects.ts"],"names":[],"mappings":";;;AAEA,4EAA4E;AAC5E,sCAKmB;AACnB,0CAKwB;AACxB,oCAgBkB;AAClB,iEAKkC;AAGlC,qEAAgF;AAGhF,mEAAgE;AAChE,wDAA6D;AAC7D,oDAAyD;AACzD,yCAAoE;AACpE,6EAA0E;AAC1E,6CAIyB;AACzB,uDAAkE;AAClE,sGAAmG;AAEnG;;;;GAIG;AACH,SAAS,cAAc;IACrB,MAAM,GAAG,GAAG,uCAAkB,EAAE,CAAC;IAEjC,yBAAyB;IACzB,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC,CAAC;IAC3D,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC,CAAC;IAC7D,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,kBAAkB,EAAE,CAAC,CAAC;IACrE,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC,CAAC;IAC/D,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC,CAAC;IAE/D,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;;GAQG;AACI,KAAK,UAAU,aAAa,CACjC,cAAoC,EACpC,cAAmC;IAEnC,kCAAkC;IAClC,2CAA2C;IAC3C,MAAM,OAAO,mCAAQ,0BAAe,GAAK,cAAc,CAAE,CAAC;IAE1D,uDAAuD;IACvD,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;QACjB,OAAO,CAAC,IAAI,GAAG,qBAAa,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;KAC/D;IACD,yBAAyB;IACzB,OAAO,CAAC,IAAI,GAAG,MAAM,qBAAa,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,cAAc,CAAC,CAAC;IAC3E,uBAAuB;IACvB,OAAO,CAAC,YAAY,GAAG,sBAAc,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1E,kDAAkD;IAClD,MAAM,MAAM,GAAG,IAAI,+BAAc,CAAuB,cAAc,EAAE,CAAC,CAAC;IAC1E,wEAAwE;IACxE,IAAI,KAAK,GAAG,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,mBAAW,CAAC,gCAAqB,CAAC,CAAC,CAAC;IAC9E,kBAAkB;IAClB,KAAK,GAAG,MAAM,oBAAW,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;IACjD,wCAAwC;IACxC,IAAI,UAAU,GAAG,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACjD,UAAU,GAAG,YAAY,CAAC,KAAK,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC;IAC7D,gBAAgB;IAChB,OAAO,UAAyB,CAAC;AACnC,CAAC;AA3BD,sCA2BC;AAED;;;;;GAKG;AACI,KAAK,UAAU,aAAa,CACjC,OAAoB,EACpB,cAAmC;IAEnC,gEAAgE;IAChE,OAAO,CAAC,IAAI,GAAG,MAAM,qBAAa,CAChC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,EAAE,EAC9C,cAAc,CACf,CAAC;IACF,8BAA8B;IAC9B,MAAM,KAAK,GAAG,MAAM,iBAAQ,CAAC,OAAO,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC;IACzD,4BAA4B;IAC5B,MAAM,MAAM,GAAG,IAAI,+BAAc,CAAuB,cAAc,EAAE,CAAC,CAAC;IAC1E,0EAA0E;IAC1E,wEAAwE;IACxE,sDAAsD;IACtD,MAAM,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC3D,0BAA0B;IAC1B,MAAM,YAAY,GAAG,MAAM,oBAAW,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;IACtE,8CAA8C;IAC9C,IAAI,cAAc,GAAG,MAAM,CAAC,aAAa,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IACjE,cAAc,GAAG,YAAY,CAAC,KAAK,EAAE,cAAc,EAAE,cAAc,CAAC,CAAC;IACrE,qEAAqE;IACrE,uCAAuC;IACvC,OAAO,cAA6B,CAAC;AACvC,CAAC;AAzBD,sCAyBC;AAED;;;;;GAKG;AACH,SAAgB,YAAY,CAC1B,UAAkB,EAClB,cAA+B;IAE/B,IAAI,OAAO,CAAC;IACZ,IAAI,cAAM,CAAC,UAAU,CAAC,EAAE;QACtB,iBAAiB;QACjB,OAAO,GAAG,4BAAO,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;KAC/C;SAAM;QACL,OAAO,GAAG,qBAAa,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;KACrD;IACD,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;QAC3B,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QACvB,OAAO,oBAAoB,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;AACL,CAAC;AAfD,oCAeC;AAED;;;;;GAKG;AACI,KAAK,UAAU,aAAa,CACjC,EAAU,EACV,cAAmC;IAEnC,MAAM,EAAE,GAAG,gCAAK,cAAc,GAAK,EAAE,EAAE,EAAE,CAAsB,CAAC;IAChE,MAAM,+BAAU,CAAC,EAAE,CAAC,CAAC;IACrB,OAAO;AACT,CAAC;AAPD,sCAOC;AAED;;;;;;;GAOG;AACI,KAAK,UAAU,oBAAoB,CACxC,IAAW,EACX,cAA+B;IAE/B,MAAM,KAAK,GAAG,MAAM,2BAAkB,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IAC7D,yEAAyE;IACzE,MAAM,MAAM,GAAG,IAAI,+BAAc,CAAuB,cAAc,EAAE,CAAC,CAAC;IAC1E,MAAM,GAAG,GAAG,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,EAAE,CAAgB,CAAC;IAC3D,OAAO,YAAY,CAAC,KAAK,EAAE,GAAG,EAAE,cAAc,CAAC,CAAC;AAClD,CAAC;AATD,oDASC;AAED;;;;;;GAMG;AACH,SAAS,YAAY,CACnB,KAAa,EACb,OAA6B,EAC7B,cAA+B;IAE/B,IAAI,KAAa,CAAC;IAClB,IAAI,cAAc,CAAC,cAAc,EAAE;QACjC,MAAM,OAAO,GAAgB,cAAc,CAAC,cAA6B,CAAC;QAC1E,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;KACvB;IACD,gBAAgB;IAChB,OAAO,CAAC,YAAY,GAAG,2BAAmB,CAAC,KAAK,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;IAC9E,eAAe;IACf,OAAO,CAAC,WAAW,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACnD,OAAO,CAAC,iBAAiB,GAAG,cAAc,CAAC;IAC3C,OAAO,CAAC,WAAW,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACpD,OAAO,CAAC,iBAAiB,GAAG,eAAe,CAAC;IAC5C,2DAA2D;IAC3D,OAAO,OAAsB,CAAC;AAChC,CAAC;AAED;;;;;;;GAOG;AACI,KAAK,UAAU,yBAAyB,CAC7C,IAAW,EACX,OAAiB,EACjB,cAAkC;IAElC,6BAA6B;IAC7B,MAAM,MAAM,GAAqB;QAC/B,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,IAAI,EAAE,IAAI,CAAC,KAAK;QAChB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,WAAW;QACzC,WAAW,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;QACnC,iBAAiB,EAAE,cAAc;QACjC,WAAW,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;QACpC,iBAAiB,EAAE,eAAe;QAClC,MAAM,EAAE,iBAAS,CAAC,IAAI,CAAC,IAAI,CAAC;QAC5B,KAAK,EAAE;YACL,IAAI,EAAE,iBAAiB;YACvB,YAAY,EAAE,iBAAiB;YAC/B,SAAS,EAAE,iBAAiB;SAC7B;KACF,CAAC;IAEF,mBAAmB;IACnB,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,iBAAiB;IACjB,OAAO,GAAG,CAAC,GAAG,QAAQ,EAAE,GAAG,OAAO,CAAC,CAAC,MAAM,CAAC,cAAM,CAAC,CAAC;IACnD,qDAAqD;IACrD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,2BAAY,CAAC,CAAC;IACxC,+CAA+C;IAC/C,MAAM,WAAW,GAAG,aAAK,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,cAAM,CAAC,CAAC;IAC9D,wBAAwB;IACxB,IAAI,QAAQ,GAAG,EAAE,CAAC;IAClB,IAAI,WAAW,CAAC,MAAM,EAAE;QACtB,mEAAmE;QACnE,QAAQ,GAAG,MAAM,mCAAoB,CAAC,IAAI,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;KAC1E;IACD,yCAAyC;IACzC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACrB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,eAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,eAAe;IACf,8CAA8C;IAC9C,MAAM,CAAC,KAAK,CAAC,SAAS,GAAG,2BAAmB,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IACnE,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,sBAAc,CAAC,MAAM,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC;IAC9D,MAAM,CAAC,KAAK,CAAC,YAAY,GAAG,6BAAiB,CAC3C,MAAM,CAAC,IAAI,EACX,MAAM,CAAC,EAAE,EACT,IAAI,CAAC,YAAY,CAClB,CAAC;IAEF,OAAO,MAAM,CAAC;AAChB,CAAC;AAvDD,8DAuDC;AAED;;;;;;GAMG;AACI,KAAK,UAAU,yBAAyB,CAC7C,SAAiB,EACjB,IAAsB,EACtB,UAAoC,EAAE;IAEtC,qCAAqC;IACrC,IAAI,MAAM,GAAG,mBAAW,CAAC,0BAAgB,CAAC,CAAC;IAC3C,qEAAqE;IACrE,IAAI,QAAQ,GAAG,mBAAW,CAAC,gCAAsB,CAAC,CAAC;IACnD,2EAA2E;IAC3E,IAAI,YAAY,GAAG,KAAK,CAAC;IAEzB,gEAAgE;IAChE,gEAAgE;IAChE,wBAAwB;IACxB,QAAQ,IAAI,EAAE;QACZ,KAAK,QAAQ;YACX,QAAQ,GAAG,mBAAW,CAAC,kCAAwB,CAAC,CAAC;YACjD,YAAY,GAAG,IAAI,CAAC;YACpB,MAAM;KACT;IAED,IAAI,YAAY,EAAE;QAChB,kDAAkD;QAClD,MAAM,GAAG,iCAAsB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;KACnD;IAED,+CAA+C;IAC/C,QAAQ,GAAG,mBAAW,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;IAChD,oBAAoB;IACpB,QAAQ,GAAG,yDAA2B,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAE1D,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;AAC/C,CAAC;AAjCD,8DAiCC"}
@@ -0,0 +1,12 @@
1
+ import { IConfigurationSchema, IUiSchema, UiSchemaElementOptions } from "../schemas";
2
+ export declare type EditorConfigType = "create" | "edit";
3
+ export interface IEditorConfig {
4
+ schema: IConfigurationSchema;
5
+ uiSchema: IUiSchema;
6
+ }
7
+ /**
8
+ *
9
+ */
10
+ export interface IWithEditorBehavior {
11
+ getEditorConfig(i18nScope: string, type: EditorConfigType, options: UiSchemaElementOptions[]): Promise<IEditorConfig>;
12
+ }
@@ -2,3 +2,4 @@ export * from "./IWithPermissionBehavior";
2
2
  export * from "./IWithCatalogBehavior";
3
3
  export * from "./IWithStoreBehavior";
4
4
  export * from "./IWithSharingBehavior";
5
+ export * from "./IWithEditorBehavior";
@@ -2,3 +2,4 @@ export * from "./traits";
2
2
  export * from "./types";
3
3
  export * from "./behaviors";
4
4
  export * from "./PermissionManager";
5
+ export * from "./schemas";
@@ -0,0 +1,10 @@
1
+ import { IConfigurationSchema, IUiSchema } from "./types";
2
+ export declare const HubProjectSchema: IConfigurationSchema;
3
+ /**
4
+ * Minimal UI Schema for Hub Project
5
+ */
6
+ export declare const HubProjectCreateUiSchema: IUiSchema;
7
+ /**
8
+ * Complete UI Schema for Hub Project
9
+ */
10
+ export declare const HubProjectEditUiSchema: IUiSchema;
@@ -0,0 +1,2 @@
1
+ export * from "./types";
2
+ export * from "./hubproject";
@@ -0,0 +1,10 @@
1
+ import { IUiSchema, UiSchemaElementOptions } from "../types";
2
+ /**
3
+ * Apply a set of run-time configurations into the UI schema so
4
+ * the controls can be configured for the current environment.
5
+ * TODO: Add Example
6
+ * @param schema
7
+ * @param options
8
+ * @returns
9
+ */
10
+ export declare function applyUiSchemaElementOptions(schema: IUiSchema, options?: UiSchemaElementOptions[]): IUiSchema;
@@ -0,0 +1,8 @@
1
+ import { IConfigurationSchema, IUiSchema } from "../types";
2
+ /**
3
+ * Subset a json schema to only those properties needed by the uiSchema
4
+ * @param schema
5
+ * @param uiSchema
6
+ * @returns
7
+ */
8
+ export declare function filterSchemaToUiSchema(schema: IConfigurationSchema, uiSchema: IUiSchema): IConfigurationSchema;
@@ -0,0 +1,9 @@
1
+ import { IUiSchema } from "../types";
2
+ /**
3
+ * Get all the property names from a UI schema.
4
+ *
5
+ * Used to subset a json schema to only those properties used in a UI Schema
6
+ * @param uiSchema
7
+ * @returns
8
+ */
9
+ export declare function getUiSchemaProps(uiSchema: IUiSchema): string[];
@@ -0,0 +1,4 @@
1
+ export * from "./getUiSchemaProps";
2
+ export * from "./subsetSchema";
3
+ export * from "./filterSchemaToUiSchema";
4
+ export * from "./applyUiSchemaElementOptions";
@@ -0,0 +1,8 @@
1
+ import { IConfigurationSchema } from "../types";
2
+ /**
3
+ * Subset a json schema to only those properties specified.
4
+ * @param schema
5
+ * @param props
6
+ * @returns
7
+ */
8
+ export declare function subsetSchema(schema: IConfigurationSchema, props: string[]): IConfigurationSchema;
@@ -0,0 +1,61 @@
1
+ import { JSONSchema } from "json-schema-typed";
2
+ import Ajv from "ajv";
3
+ export declare enum UiSchemaRuleEffects {
4
+ SHOW = "SHOW",
5
+ HIDE = "HIDE",
6
+ DISABLE = "DISABLE",
7
+ NONE = ""
8
+ }
9
+ export declare enum UiSchemaElementTypes {
10
+ section = "Section",
11
+ step = "Step",
12
+ control = "Control",
13
+ layout = "Layout",
14
+ slot = "Slot"
15
+ }
16
+ export declare enum UiSchemaSectionTypes {
17
+ accordion = "accordion",
18
+ stepper = "stepper"
19
+ }
20
+ export interface IConfigurationSchema extends JSONSchema {
21
+ type?: "object";
22
+ }
23
+ export interface IConfigurationValues {
24
+ [key: string]: unknown;
25
+ }
26
+ export interface IChangeEventDetail {
27
+ valid: boolean;
28
+ values?: {
29
+ [key: string]: any;
30
+ };
31
+ }
32
+ export interface IValidationResult {
33
+ valid: boolean;
34
+ errors?: Ajv.ErrorObject[];
35
+ }
36
+ export interface IUiSchemaRule {
37
+ effect: UiSchemaRuleEffects;
38
+ condition: {
39
+ scope: string;
40
+ schema: IConfigurationSchema;
41
+ };
42
+ }
43
+ export interface IUiSchemaElement {
44
+ type: string;
45
+ labelKey?: string;
46
+ label?: string;
47
+ options?: {
48
+ [key: string]: any;
49
+ };
50
+ scope?: string;
51
+ rule?: IUiSchemaRule;
52
+ elements?: IUiSchemaElement[];
53
+ tooltip?: string;
54
+ }
55
+ export interface IUiSchema extends IUiSchemaElement {
56
+ elements?: IUiSchema[] | IUiSchemaElement[];
57
+ }
58
+ /**
59
+ * Run-time configuration for UiSchema Elements
60
+ */
61
+ export declare type UiSchemaElementOptions = Pick<IUiSchemaElement, "scope" | "options">;
@@ -46,6 +46,12 @@ export declare class HubInitiative extends HubItemEntity<IHubInitiative> impleme
46
46
  * @returns
47
47
  */
48
48
  static fetch(identifier: string, context: IArcGISContext): Promise<HubInitiative>;
49
+ /**
50
+ * Static method to get the editor config for for the HubProject entity.
51
+ * @param i18nScope Translation scope to be interpolated into the schemas
52
+ * @param type
53
+ * @param options Optional hash of Element component options
54
+ */
49
55
  private static applyDefaults;
50
56
  /**
51
57
  * Apply a new state to the instance
@@ -0,0 +1,6 @@
1
+ /**
2
+ * For a given property name, extract an array of the unique values of that property
3
+ * This was designed to work with string values, so no promises about other types
4
+ * @param obj
5
+ */
6
+ export declare function deepGetPropValues(obj: Record<string, any>, prop: string): string[];
@@ -1,7 +1,8 @@
1
- import { IHubProject, IWithPermissionBehavior, IWithCatalogBehavior, PermissionManager, IWithStoreBehavior, IWithSharingBehavior } from "../core";
1
+ import { IHubProject, IWithPermissionBehavior, IWithCatalogBehavior, PermissionManager, IWithStoreBehavior, IWithSharingBehavior, UiSchemaElementOptions } from "../core";
2
2
  import { Catalog } from "../search/Catalog";
3
3
  import { IArcGISContext } from "../ArcGISContext";
4
4
  import { HubItemEntity } from "../core/HubItemEntity";
5
+ import { EditorConfigType, IEditorConfig } from "../core/behaviors/IWithEditorBehavior";
5
6
  /**
6
7
  * Hub Project Class
7
8
  */
@@ -46,6 +47,16 @@ export declare class HubProject extends HubItemEntity<IHubProject> implements IW
46
47
  * @returns
47
48
  */
48
49
  static fetch(identifier: string, context: IArcGISContext): Promise<HubProject>;
50
+ /**
51
+ * Static method to get the editor config for for the HubProject entity.
52
+ * @param i18nScope Translation scope to be interpolated into the schemas
53
+ * @param type
54
+ * @param options Optional hash of uiSchema element option overrides
55
+ * Note: typescript does not have a means to specify static methods in interfaces
56
+ * so while this is the implementation of IWithEditorBehavior, it is not enforced
57
+ * by the compiler.
58
+ */
59
+ static getEditorConfig(i18nScope: string, type: EditorConfigType, options?: UiSchemaElementOptions[]): Promise<IEditorConfig>;
49
60
  private static applyDefaults;
50
61
  /**
51
62
  * Apply a new state to the instance
@@ -1,5 +1,5 @@
1
1
  import { IUserRequestOptions } from "@esri/arcgis-rest-auth";
2
- import { IHubRequestOptions } from "../index";
2
+ import { IHubRequestOptions, EditorConfigType, UiSchemaElementOptions, IEditorConfig } from "../index";
3
3
  import { IItem } from "@esri/arcgis-rest-portal";
4
4
  import { IRequestOptions } from "@esri/arcgis-rest-request";
5
5
  import { IHubProject } from "../core/types";
@@ -53,3 +53,11 @@ export declare function convertItemToProject(item: IItem, requestOptions: IReque
53
53
  * @returns
54
54
  */
55
55
  export declare function enrichProjectSearchResult(item: IItem, include: string[], requestOptions: IHubRequestOptions): Promise<IHubSearchResult>;
56
+ /**
57
+ * Get the editor config for for the HubProject entity.
58
+ * @param i18nScope Translation scope to be interpolated into the schemas
59
+ * @param type
60
+ * @param options Optional hash of Element component options
61
+ * @returns
62
+ */
63
+ export declare function getHubProjectEditorConfig(i18nScope: string, type: EditorConfigType, options?: UiSchemaElementOptions[]): Promise<IEditorConfig>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@esri/hub-common",
3
- "version": "11.5.0",
3
+ "version": "11.6.0",
4
4
  "description": "Common TypeScript types and utility functions for @esri/hub.js.",
5
5
  "main": "dist/node/index.js",
6
6
  "module": "dist/esm/index.js",
@@ -14,8 +14,10 @@
14
14
  "dependencies": {
15
15
  "abab": "^2.0.5",
16
16
  "adlib": "^3.0.7",
17
+ "ajv": "^6.12.6",
17
18
  "fast-xml-parser": "^3.21.0",
18
19
  "jsonapi-typescript": "^0.1.3",
20
+ "json-schema-typed": "^7.0.3",
19
21
  "tslib": "^1.13.0"
20
22
  },
21
23
  "peerDependencies": {