@esri/hub-common 11.5.0 → 11.7.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/core/HubItemEntity.js.map +1 -1
- package/dist/esm/core/behaviors/IWithEditorBehavior.js +1 -0
- package/dist/esm/core/behaviors/IWithEditorBehavior.js.map +1 -0
- package/dist/esm/core/behaviors/index.js +1 -0
- package/dist/esm/core/behaviors/index.js.map +1 -1
- package/dist/esm/core/index.js +1 -0
- package/dist/esm/core/index.js.map +1 -1
- package/dist/esm/core/schemas/hubproject.js +70 -0
- package/dist/esm/core/schemas/hubproject.js.map +1 -0
- package/dist/esm/core/schemas/index.js +3 -0
- package/dist/esm/core/schemas/index.js.map +1 -0
- package/dist/esm/core/schemas/internal/applyUiSchemaElementOptions.js +31 -0
- package/dist/esm/core/schemas/internal/applyUiSchemaElementOptions.js.map +1 -0
- package/dist/esm/core/schemas/internal/filterSchemaToUiSchema.js +14 -0
- package/dist/esm/core/schemas/internal/filterSchemaToUiSchema.js.map +1 -0
- package/dist/esm/core/schemas/internal/getUiSchemaProps.js +17 -0
- package/dist/esm/core/schemas/internal/getUiSchemaProps.js.map +1 -0
- package/dist/esm/core/schemas/internal/index.js +5 -0
- package/dist/esm/core/schemas/internal/index.js.map +1 -0
- package/dist/esm/core/schemas/internal/subsetSchema.js +17 -0
- package/dist/esm/core/schemas/internal/subsetSchema.js.map +1 -0
- package/dist/esm/core/schemas/types.js +21 -0
- package/dist/esm/core/schemas/types.js.map +1 -0
- package/dist/esm/extent.js +9 -0
- package/dist/esm/extent.js.map +1 -1
- package/dist/esm/initiatives/HubInitiative.js +14 -0
- package/dist/esm/initiatives/HubInitiative.js.map +1 -1
- package/dist/esm/models/index.js +15 -1
- package/dist/esm/models/index.js.map +1 -1
- package/dist/esm/objects/deepGetPropValues.js +19 -0
- package/dist/esm/objects/deepGetPropValues.js.map +1 -0
- package/dist/esm/projects/HubProject.js +14 -1
- package/dist/esm/projects/HubProject.js.map +1 -1
- package/dist/esm/projects/HubProjects.js +37 -1
- package/dist/esm/projects/HubProjects.js.map +1 -1
- package/dist/node/core/HubItemEntity.js.map +1 -1
- package/dist/node/core/behaviors/IWithEditorBehavior.js +3 -0
- package/dist/node/core/behaviors/IWithEditorBehavior.js.map +1 -0
- package/dist/node/core/behaviors/index.js +1 -0
- package/dist/node/core/behaviors/index.js.map +1 -1
- package/dist/node/core/index.js +1 -0
- package/dist/node/core/index.js.map +1 -1
- package/dist/node/core/schemas/hubproject.js +73 -0
- package/dist/node/core/schemas/hubproject.js.map +1 -0
- package/dist/node/core/schemas/index.js +6 -0
- package/dist/node/core/schemas/index.js.map +1 -0
- package/dist/node/core/schemas/internal/applyUiSchemaElementOptions.js +35 -0
- package/dist/node/core/schemas/internal/applyUiSchemaElementOptions.js.map +1 -0
- package/dist/node/core/schemas/internal/filterSchemaToUiSchema.js +18 -0
- package/dist/node/core/schemas/internal/filterSchemaToUiSchema.js.map +1 -0
- package/dist/node/core/schemas/internal/getUiSchemaProps.js +21 -0
- package/dist/node/core/schemas/internal/getUiSchemaProps.js.map +1 -0
- package/dist/node/core/schemas/internal/index.js +8 -0
- package/dist/node/core/schemas/internal/index.js.map +1 -0
- package/dist/node/core/schemas/internal/subsetSchema.js +21 -0
- package/dist/node/core/schemas/internal/subsetSchema.js.map +1 -0
- package/dist/node/core/schemas/types.js +24 -0
- package/dist/node/core/schemas/types.js.map +1 -0
- package/dist/node/extent.js +10 -1
- package/dist/node/extent.js.map +1 -1
- package/dist/node/initiatives/HubInitiative.js +14 -0
- package/dist/node/initiatives/HubInitiative.js.map +1 -1
- package/dist/node/models/index.js +14 -0
- package/dist/node/models/index.js.map +1 -1
- package/dist/node/objects/deepGetPropValues.js +23 -0
- package/dist/node/objects/deepGetPropValues.js.map +1 -0
- package/dist/node/projects/HubProject.js +13 -0
- package/dist/node/projects/HubProject.js.map +1 -1
- package/dist/node/projects/HubProjects.js +38 -1
- package/dist/node/projects/HubProjects.js.map +1 -1
- package/dist/types/core/behaviors/IWithEditorBehavior.d.ts +12 -0
- package/dist/types/core/behaviors/index.d.ts +1 -0
- package/dist/types/core/index.d.ts +1 -0
- package/dist/types/core/schemas/hubproject.d.ts +10 -0
- package/dist/types/core/schemas/index.d.ts +2 -0
- package/dist/types/core/schemas/internal/applyUiSchemaElementOptions.d.ts +10 -0
- package/dist/types/core/schemas/internal/filterSchemaToUiSchema.d.ts +8 -0
- package/dist/types/core/schemas/internal/getUiSchemaProps.d.ts +9 -0
- package/dist/types/core/schemas/internal/index.d.ts +4 -0
- package/dist/types/core/schemas/internal/subsetSchema.d.ts +8 -0
- package/dist/types/core/schemas/types.d.ts +61 -0
- package/dist/types/extent.d.ts +7 -0
- package/dist/types/initiatives/HubInitiative.d.ts +6 -0
- package/dist/types/objects/deepGetPropValues.d.ts +6 -0
- package/dist/types/projects/HubProject.d.ts +12 -1
- package/dist/types/projects/HubProjects.d.ts +9 -1
- package/package.json +3 -1
|
@@ -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,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">;
|
package/dist/types/extent.d.ts
CHANGED
|
@@ -6,6 +6,13 @@ import { IHubRequestOptions, BBox } from "./types";
|
|
|
6
6
|
* @returns extent object
|
|
7
7
|
*/
|
|
8
8
|
export declare const bBoxToExtent: (bBox: BBox) => IExtent;
|
|
9
|
+
/**
|
|
10
|
+
* Given a Bbox, convert it to a string. Some api endpoints expect a string
|
|
11
|
+
*
|
|
12
|
+
* @param {BBox} extent
|
|
13
|
+
* @return {*} {string}
|
|
14
|
+
*/
|
|
15
|
+
export declare const bboxToString: (extent: BBox) => string;
|
|
9
16
|
export declare function createExtent(xmin: number, ymin: number, xmax: number, ymax: number, wkid?: number): IExtent;
|
|
10
17
|
/**
|
|
11
18
|
* Turns an extent object into a bounding box coordinate array
|
|
@@ -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.
|
|
3
|
+
"version": "11.7.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": {
|