@vertigis/workflow 5.35.1 → 5.36.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 (220) hide show
  1. package/Hooks.d.ts +3 -3
  2. package/IActivityHandler.d.ts +1 -6
  3. package/activities/arcgis/AddAttachment.d.ts +2 -2
  4. package/activities/arcgis/AddAttachment.js +1 -1
  5. package/activities/arcgis/AddFeatures.d.ts +3 -3
  6. package/activities/arcgis/AddFeatures.js +1 -1
  7. package/activities/arcgis/AddGraphics.d.ts +2 -2
  8. package/activities/arcgis/AddGraphics.js +1 -1
  9. package/activities/arcgis/ArcadeScript.d.ts +2 -2
  10. package/activities/arcgis/ArcadeScript.js +1 -1
  11. package/activities/arcgis/AreaEngineTask.d.ts +2 -2
  12. package/activities/arcgis/AreaEngineTask.js +1 -1
  13. package/activities/arcgis/BufferEngineTask.d.ts +2 -2
  14. package/activities/arcgis/BufferEngineTask.js +1 -1
  15. package/activities/arcgis/ClearGraphics.d.ts +1 -1
  16. package/activities/arcgis/ClearGraphics.js +1 -1
  17. package/activities/arcgis/ClipEngineTask.d.ts +2 -2
  18. package/activities/arcgis/ClipEngineTask.js +1 -1
  19. package/activities/arcgis/CompareGeometries.d.ts +2 -2
  20. package/activities/arcgis/CompareGeometries.js +1 -1
  21. package/activities/arcgis/CutEngineTask.d.ts +2 -2
  22. package/activities/arcgis/CutEngineTask.js +1 -1
  23. package/activities/arcgis/DeleteAttachments.d.ts +2 -2
  24. package/activities/arcgis/DeleteAttachments.js +1 -1
  25. package/activities/arcgis/DeleteFeatures.d.ts +3 -3
  26. package/activities/arcgis/DeleteFeatures.js +1 -1
  27. package/activities/arcgis/DensifyEngineTask.d.ts +2 -2
  28. package/activities/arcgis/DensifyEngineTask.js +1 -1
  29. package/activities/arcgis/DifferenceEngineTask.d.ts +2 -2
  30. package/activities/arcgis/DifferenceEngineTask.js +1 -1
  31. package/activities/arcgis/DistanceEngineTask.d.ts +2 -2
  32. package/activities/arcgis/DistanceEngineTask.js +1 -1
  33. package/activities/arcgis/ExtendedSpatialReferenceInfoEngineTask.d.ts +1 -1
  34. package/activities/arcgis/FlipEngineTask.d.ts +2 -2
  35. package/activities/arcgis/FlipEngineTask.js +1 -1
  36. package/activities/arcgis/GeneralizeEngineTask.d.ts +2 -2
  37. package/activities/arcgis/GeneralizeEngineTask.js +1 -1
  38. package/activities/arcgis/Geocode.d.ts +2 -2
  39. package/activities/arcgis/Geocode.js +1 -1
  40. package/activities/arcgis/GeoprocessingAsync.js +1 -1
  41. package/activities/arcgis/GetCodedValueDomain.d.ts +4 -4
  42. package/activities/arcgis/GetCodedValueDomain.js +1 -1
  43. package/activities/arcgis/GetFeatureLayerInfo.d.ts +2 -2
  44. package/activities/arcgis/GetFeatureLayerInfo.js +1 -1
  45. package/activities/arcgis/GetGraphics.d.ts +2 -2
  46. package/activities/arcgis/GetGraphics.js +1 -1
  47. package/activities/arcgis/GetLayer.d.ts +2 -2
  48. package/activities/arcgis/GetLayer.js +1 -1
  49. package/activities/arcgis/GetLayerDefinitionExpression.d.ts +2 -2
  50. package/activities/arcgis/GetLayerDefinitionExpression.js +1 -1
  51. package/activities/arcgis/GetLayerProperty.d.ts +2 -2
  52. package/activities/arcgis/GetLayerProperty.js +1 -1
  53. package/activities/arcgis/GetLayerVisibility.d.ts +2 -2
  54. package/activities/arcgis/GetLayerVisibility.js +1 -1
  55. package/activities/arcgis/GetMap.d.ts +2 -2
  56. package/activities/arcgis/GetMap.js +1 -1
  57. package/activities/arcgis/GetMapScreenshot.d.ts +1 -1
  58. package/activities/arcgis/GetTable.d.ts +2 -2
  59. package/activities/arcgis/GetTable.js +1 -1
  60. package/activities/arcgis/GetViewExtent.d.ts +2 -2
  61. package/activities/arcgis/GetViewExtent.js +1 -1
  62. package/activities/arcgis/GetViewpoint.d.ts +2 -2
  63. package/activities/arcgis/GetViewpoint.js +1 -1
  64. package/activities/arcgis/IntersectEngineTask.d.ts +2 -2
  65. package/activities/arcgis/IntersectEngineTask.js +1 -1
  66. package/activities/arcgis/LengthEngineTask.d.ts +2 -2
  67. package/activities/arcgis/LengthEngineTask.js +1 -1
  68. package/activities/arcgis/MapProvider.js +1 -1
  69. package/activities/arcgis/NearestVertexEngineTask.d.ts +2 -2
  70. package/activities/arcgis/NearestVertexEngineTask.js +1 -1
  71. package/activities/arcgis/NearestVerticesEngineTask.d.ts +2 -2
  72. package/activities/arcgis/NearestVerticesEngineTask.js +1 -1
  73. package/activities/arcgis/OffsetEngineTask.d.ts +2 -2
  74. package/activities/arcgis/OffsetEngineTask.js +1 -1
  75. package/activities/arcgis/QueryAttachmentInfos.d.ts +2 -2
  76. package/activities/arcgis/QueryAttachmentInfos.js +1 -1
  77. package/activities/arcgis/QueryTask.js +1 -1
  78. package/activities/arcgis/RelateEngineTask.d.ts +2 -2
  79. package/activities/arcgis/RelateEngineTask.js +1 -1
  80. package/activities/arcgis/RemoveGraphics.d.ts +2 -2
  81. package/activities/arcgis/RemoveGraphics.js +1 -1
  82. package/activities/arcgis/RemoveLayer.d.ts +2 -2
  83. package/activities/arcgis/RemoveLayer.js +1 -1
  84. package/activities/arcgis/RotateEngineTask.d.ts +2 -2
  85. package/activities/arcgis/RotateEngineTask.js +1 -1
  86. package/activities/arcgis/SetFeaturePopup.d.ts +1 -1
  87. package/activities/arcgis/SetImageryLayerOptions.d.ts +2 -2
  88. package/activities/arcgis/SetImageryLayerOptions.js +1 -1
  89. package/activities/arcgis/SetLayerDefinitionExpression.d.ts +2 -2
  90. package/activities/arcgis/SetLayerDefinitionExpression.js +1 -1
  91. package/activities/arcgis/SetLayerPopup.d.ts +2 -2
  92. package/activities/arcgis/SetLayerPopup.js +1 -1
  93. package/activities/arcgis/SetLayerProperty.d.ts +2 -2
  94. package/activities/arcgis/SetLayerProperty.js +1 -1
  95. package/activities/arcgis/SetLayerVisibility.d.ts +2 -2
  96. package/activities/arcgis/SetLayerVisibility.js +1 -1
  97. package/activities/arcgis/SetViewExtent.d.ts +2 -2
  98. package/activities/arcgis/SetViewExtent.js +1 -1
  99. package/activities/arcgis/SetViewpoint.d.ts +2 -2
  100. package/activities/arcgis/SetViewpoint.js +1 -1
  101. package/activities/arcgis/ShowFeaturePopup.d.ts +2 -2
  102. package/activities/arcgis/ShowFeaturePopup.js +1 -1
  103. package/activities/arcgis/ShowResults.d.ts +2 -2
  104. package/activities/arcgis/SimplifyEngineTask.d.ts +2 -2
  105. package/activities/arcgis/SimplifyEngineTask.js +1 -1
  106. package/activities/arcgis/UnionEngineTask.d.ts +2 -2
  107. package/activities/arcgis/UnionEngineTask.js +1 -1
  108. package/activities/arcgis/UpdateAttachment.d.ts +2 -2
  109. package/activities/arcgis/UpdateAttachment.js +1 -1
  110. package/activities/arcgis/UpdateFeatures.d.ts +3 -3
  111. package/activities/arcgis/UpdateFeatures.js +1 -1
  112. package/activities/arcgis/libs/arcGisRestApi.d.ts +1 -8
  113. package/activities/arcgis/tools.d.ts +0 -9
  114. package/activities/arcgis/tools.js +1 -1
  115. package/activities/core/WebRequest.js +1 -1
  116. package/activities/essentials/RunEssentialsWorkflow.d.ts +1 -1
  117. package/activities/essentials/RunEssentialsWorkflow.js +1 -1
  118. package/activities/forms/ActivateFormElement.d.ts +2 -2
  119. package/activities/forms/ActivateFormElement.js +1 -1
  120. package/activities/forms/AddFormElement.d.ts +3 -3
  121. package/activities/forms/ClearFormElementError.d.ts +2 -2
  122. package/activities/forms/ClearFormElementError.js +1 -1
  123. package/activities/forms/DisplayForm.d.ts +2 -2
  124. package/activities/forms/DisplayForm.js +1 -1
  125. package/activities/forms/FormRenderer.d.ts +35 -29
  126. package/activities/forms/FormRenderer.js +1 -1
  127. package/activities/forms/HideFormElement.d.ts +2 -2
  128. package/activities/forms/HideFormElement.js +1 -1
  129. package/activities/forms/SetCurrentFormElementItem.d.ts +2 -2
  130. package/activities/forms/SetCurrentFormElementItem.js +1 -1
  131. package/activities/forms/SetFormElementError.d.ts +2 -2
  132. package/activities/forms/SetFormElementError.js +1 -1
  133. package/activities/forms/SetFormElementEvent.d.ts +2 -2
  134. package/activities/forms/SetFormElementItemProperty.d.ts +2 -2
  135. package/activities/forms/SetFormElementItemProperty.js +1 -1
  136. package/activities/forms/SetFormElementItems.d.ts +2 -2
  137. package/activities/forms/SetFormElementItems.js +1 -1
  138. package/activities/forms/SetFormElementProperty.d.ts +2 -2
  139. package/activities/forms/SetFormElementProperty.js +1 -1
  140. package/activities/forms/ShowFormElement.d.ts +2 -2
  141. package/activities/forms/ShowFormElement.js +1 -1
  142. package/execution/ActivityLoader.js +1 -1
  143. package/execution/Engine.js +1 -1
  144. package/execution/ModuleLoader.js +1 -1
  145. package/execution/ProgramRunner.js +1 -1
  146. package/forms/FormComponent.d.ts +18 -1
  147. package/forms/FormComponent.js +1 -1
  148. package/forms/FormDefinition.d.ts +1 -6
  149. package/forms/FormHost.d.ts +0 -2
  150. package/forms/FormHost.js +1 -1
  151. package/forms/FormPresenterHost.d.ts +0 -2
  152. package/forms/NumberParser.d.ts +1 -0
  153. package/forms/NumberParser.js +1 -1
  154. package/forms/common.d.ts +2 -2
  155. package/forms/common.js +1 -1
  156. package/forms/components/AutoComplete.d.ts +3 -2
  157. package/forms/components/AutoComplete.js +1 -1
  158. package/forms/components/ButtonBar.d.ts +3 -8
  159. package/forms/components/ButtonBar.js +1 -1
  160. package/forms/components/CheckBox.d.ts +2 -2
  161. package/forms/components/CheckBox.js +1 -1
  162. package/forms/components/CheckGroup.d.ts +3 -2
  163. package/forms/components/CheckGroup.js +1 -1
  164. package/forms/components/Custom.d.ts +2 -2
  165. package/forms/components/Custom.js +1 -1
  166. package/forms/components/DatePicker.d.ts +3 -2
  167. package/forms/components/DatePicker.js +1 -1
  168. package/forms/components/DateRangePicker.d.ts +3 -2
  169. package/forms/components/DateRangePicker.js +1 -1
  170. package/forms/components/DateTimePicker.d.ts +3 -2
  171. package/forms/components/DateTimePicker.js +1 -1
  172. package/forms/components/DropDownList.js +1 -1
  173. package/forms/components/FilePicker.js +1 -1
  174. package/forms/components/Form.js +1 -1
  175. package/forms/components/FormLabelNumberField.d.ts +3 -1
  176. package/forms/components/FormLabelNumberField.js +1 -1
  177. package/forms/components/GeometryPicker.js +1 -1
  178. package/forms/components/HorizontalRule.d.ts +2 -2
  179. package/forms/components/Image.d.ts +2 -2
  180. package/forms/components/Image.js +1 -1
  181. package/forms/components/ItemPicker.js +1 -1
  182. package/forms/components/ListBox.d.ts +3 -2
  183. package/forms/components/ListBox.js +1 -1
  184. package/forms/components/Markdown.d.ts +3 -4
  185. package/forms/components/Markdown.js +1 -1
  186. package/forms/components/Number.d.ts +3 -2
  187. package/forms/components/Number.js +1 -1
  188. package/forms/components/NumberRangeSlider.d.ts +2 -2
  189. package/forms/components/NumberRangeSlider.js +1 -1
  190. package/forms/components/NumberSlider.d.ts +3 -2
  191. package/forms/components/NumberSlider.js +1 -1
  192. package/forms/components/RadioGroup.d.ts +3 -2
  193. package/forms/components/RadioGroup.js +1 -1
  194. package/forms/components/Scanner.js +1 -1
  195. package/forms/components/Section.js +1 -1
  196. package/forms/components/Signature.js +1 -1
  197. package/forms/components/SignatureDialog.js +1 -1
  198. package/forms/components/Text.d.ts +2 -2
  199. package/forms/components/TextArea.d.ts +2 -2
  200. package/forms/components/TextArea.js +1 -1
  201. package/forms/components/TextBox.d.ts +2 -16
  202. package/forms/components/TextBox.js +1 -1
  203. package/forms/components/TimePicker.d.ts +3 -2
  204. package/forms/components/TimePicker.js +1 -1
  205. package/forms/dateUtilities.d.ts +4 -18
  206. package/forms/dateUtilities.js +1 -1
  207. package/forms/index.d.ts +48 -12
  208. package/forms/listUtilities.d.ts +3 -0
  209. package/forms/listUtilities.js +1 -0
  210. package/forms/manifest.d.ts +3 -0
  211. package/forms/manifest.js +1 -0
  212. package/forms/numberUtilities.d.ts +40 -3
  213. package/forms/numberUtilities.js +1 -1
  214. package/forms/presenter.js +1 -1
  215. package/forms/renderers.js +1 -1
  216. package/forms/utils.d.ts +35 -21
  217. package/forms/utils.js +1 -1
  218. package/libs/version.d.ts +1 -1
  219. package/libs/version.js +1 -1
  220. package/package.json +2 -2
@@ -1,4 +1,4 @@
1
- import { IActivityHandler, IActivityContext, Deferrable, EmptyOutputs } from "../../IActivityHandler";
1
+ import { IActivityHandler, IActivityContext, EmptyOutputs } from "../../IActivityHandler";
2
2
  import { MapProvider } from "./MapProvider";
3
3
  export interface ShowFeaturePopupInputs {
4
4
  features: __esri.Graphic | __esri.FeatureSet | __esri.Graphic[];
@@ -7,5 +7,5 @@ export interface ShowFeaturePopupInputs {
7
7
  export declare class ShowFeaturePopup implements IActivityHandler {
8
8
  static readonly action = "gcx:wf:arcgis::ShowFeaturePopup";
9
9
  static readonly suite = "gcx:wf:builtin";
10
- execute(inputs: ShowFeaturePopupInputs, context: IActivityContext, type: typeof MapProvider): Deferrable<EmptyOutputs>;
10
+ execute(inputs: ShowFeaturePopupInputs, _context: IActivityContext, type: typeof MapProvider): Promise<EmptyOutputs>;
11
11
  }
@@ -1 +1 @@
1
- import{__decorate}from"tslib";import{activate}from"../../Hooks.js";import{validation}from"../../Validation.js";import{MapProvider}from"./MapProvider.js";import{inline,featuresToArray}from"./tools.js";let ShowFeaturePopup=class{execute(o,e,r){const t=featuresToArray(validation.exists("features",o.features)),a=r.create();return inline(a.load(),()=>(a.showPopup(t),{}))}};ShowFeaturePopup.action="gcx:wf:arcgis::ShowFeaturePopup",ShowFeaturePopup.suite="gcx:wf:builtin",ShowFeaturePopup=__decorate([activate(MapProvider)],ShowFeaturePopup);export{ShowFeaturePopup};
1
+ import{__decorate}from"tslib";import{activate}from"../../Hooks.js";import{validation}from"../../Validation.js";import{MapProvider}from"./MapProvider.js";import{featuresToArray}from"./tools.js";let ShowFeaturePopup=class{async execute(o,e,r){o=featuresToArray(validation.exists("features",o.features));const t=r.create();return await t.load(),t.showPopup(o),{}}};ShowFeaturePopup.action="gcx:wf:arcgis::ShowFeaturePopup",ShowFeaturePopup.suite="gcx:wf:builtin",ShowFeaturePopup=__decorate([activate(MapProvider)],ShowFeaturePopup);export{ShowFeaturePopup};
@@ -1,4 +1,4 @@
1
- import { IActivityHandler, IActivityContext, Deferrable, EmptyOutputs } from "../../IActivityHandler";
1
+ import { IActivityHandler, IActivityContext, EmptyOutputs } from "../../IActivityHandler";
2
2
  /** @product This is intended for internal use only within VertiGIS Studio products. */
3
3
  export interface ShowResultsInputs {
4
4
  features: __esri.Graphic | __esri.FeatureSet | __esri.Graphic[];
@@ -47,5 +47,5 @@ export declare function getCombineMode(combineMode: string): CombineMode;
47
47
  export declare class ShowResults implements IActivityHandler {
48
48
  static readonly action = "gcx:wf:arcgis::SelectFeatures";
49
49
  static readonly suite = "gcx:wf:builtin";
50
- execute(inputs: ShowResultsInputs, context: IActivityContext): Deferrable<EmptyOutputs>;
50
+ execute(inputs: ShowResultsInputs, context: IActivityContext): EmptyOutputs;
51
51
  }
@@ -1,4 +1,4 @@
1
- import { IActivityHandler, Deferrable } from "../../IActivityHandler";
1
+ import { IActivityHandler } from "../../IActivityHandler";
2
2
  /** Defines inputs for the Simplify activity. This activity relies on the geometry engine. */
3
3
  export interface SimplifyEngineTaskInputs {
4
4
  /** The geometry to be simplified. */
@@ -11,5 +11,5 @@ export interface SimplifyEngineTaskOutputs {
11
11
  export declare class SimplifyEngineTask implements IActivityHandler {
12
12
  static readonly action = "gcx:wf:arcgis::SimplifyEngineTask";
13
13
  static readonly suite = "gcx:wf:builtin";
14
- execute(inputs: SimplifyEngineTaskInputs): Deferrable<SimplifyEngineTaskOutputs>;
14
+ execute(inputs: SimplifyEngineTaskInputs): Promise<SimplifyEngineTaskOutputs>;
15
15
  }
@@ -1 +1 @@
1
- import{simplify}from"@arcgis/core/geometry/geometryEngineAsync";import{validation}from"../../Validation.js";import{inline}from"./tools.js";class SimplifyEngineTask{execute(i){i=validation.exists("geometry",i.geometry),i=simplify(i);return inline(i,function(i){return{geometry:i}})}}SimplifyEngineTask.action="gcx:wf:arcgis::SimplifyEngineTask",SimplifyEngineTask.suite="gcx:wf:builtin";export{SimplifyEngineTask};
1
+ import{simplify}from"@arcgis/core/geometry/geometryEngineAsync";import{validation}from"../../Validation.js";class SimplifyEngineTask{async execute(i){i=validation.exists("geometry",i.geometry);return{geometry:await simplify(i)}}}SimplifyEngineTask.action="gcx:wf:arcgis::SimplifyEngineTask",SimplifyEngineTask.suite="gcx:wf:builtin";export{SimplifyEngineTask};
@@ -1,4 +1,4 @@
1
- import { IActivityHandler, Deferrable } from "../../IActivityHandler";
1
+ import { IActivityHandler } from "../../IActivityHandler";
2
2
  /** Defines inputs to the Union activity. This activity makes use of the geometry engine.
3
3
  This activity constructs the set- theoretic union of the geometries in the input array.All inputs must be of the same type. */
4
4
  export interface UnionEngineTaskInputs {
@@ -15,5 +15,5 @@ export interface UnionEngineTaskOutputs {
15
15
  export declare class UnionEngineTask implements IActivityHandler {
16
16
  static readonly action = "gcx:wf:arcgis::UnionEngineTask";
17
17
  static readonly suite = "gcx:wf:builtin";
18
- execute(inputs: UnionEngineTaskInputs): Deferrable<UnionEngineTaskOutputs>;
18
+ execute(inputs: UnionEngineTaskInputs): Promise<UnionEngineTaskOutputs>;
19
19
  }
@@ -1 +1 @@
1
- import{union}from"@arcgis/core/geometry/geometryEngineAsync";import{validation}from"../../Validation.js";import{inline}from"./tools.js";class UnionEngineTask{execute(n){var i=validation.array("geometry1",n.geometry1,[]),n=validation.array("geometry2",n.geometry2,[]),n=union([...i,...n]);return inline(n,function(n){return{geometry:n}})}}UnionEngineTask.action="gcx:wf:arcgis::UnionEngineTask",UnionEngineTask.suite="gcx:wf:builtin";export{UnionEngineTask};
1
+ import{union}from"@arcgis/core/geometry/geometryEngineAsync";import{validation}from"../../Validation.js";class UnionEngineTask{async execute(n){var i=validation.array("geometry1",n.geometry1,[]),n=validation.array("geometry2",n.geometry2,[]);return{geometry:await union([...i,...n])}}}UnionEngineTask.action="gcx:wf:arcgis::UnionEngineTask",UnionEngineTask.suite="gcx:wf:builtin";export{UnionEngineTask};
@@ -1,4 +1,4 @@
1
- import { IActivityHandler, IActivityContext, Deferrable } from "../../IActivityHandler";
1
+ import { IActivityHandler, IActivityContext } from "../../IActivityHandler";
2
2
  export interface UpdateAttachmentInputs {
3
3
  /** The URL of the ArcGIS feature layer or table. Either url or layer is required. */
4
4
  url?: string;
@@ -25,5 +25,5 @@ export interface UpdateAttachmentOutputs {
25
25
  export declare class UpdateAttachment implements IActivityHandler {
26
26
  static readonly action = "gcx:wf:arcgis::UpdateAttachment";
27
27
  static readonly suite = "gcx:wf:builtin";
28
- execute(inputs: UpdateAttachmentInputs, context: IActivityContext): Deferrable<UpdateAttachmentOutputs>;
28
+ execute(inputs: UpdateAttachmentInputs, context: IActivityContext): Promise<UpdateAttachmentOutputs>;
29
29
  }
@@ -1 +1 @@
1
- import esriRequest from"@arcgis/core/request";import{GenericActivityError}from"../../Errors.js";import{validation}from"../../Validation.js";import{addToPath,inline,isAbortable,schedulePromiseCancellation}from"./tools.js";class UpdateAttachment{execute(t,e){var a=validation.urlOrLayer(t).trim(),n=validation.number("objectId",t.objectId,validation.never);const i=validation.number("attachmentId",t.attachmentId,validation.never);var o=validation.exists("attachment",t.attachment,validation.never),r=validation.string("gdbVersion",t.gdbVersion),d=validation.boolean("returnEditMoment",t.returnEditMoment,!1),c=validation.number("uploadId",t.uploadId),l=validation.number("timeout",t.timeout),n=addToPath(a,`${n}/updateAttachment`);let s=validation.string("attachmentName",t.attachmentName,"").trim();""===s&&(s=void 0);const m=new FormData;m.append("f","json"),m.append("attachmentId",i.toString()),m.append("attachment",o,s),r&&m.append("gdbVersion",r),m.append("returnEditMoment",d?"true":"false"),null!=c&&m.append("uploadId",c?"true":"false");const u={method:"post",body:m,responseType:"json",timeout:l,cacheBust:!1};isAbortable(e.cancellationToken)&&(u.signal=e.cancellationToken.signal);n=esriRequest(n,u).then(t=>t.data);return schedulePromiseCancellation(e,n),inline(n,function(t){t=t.updateAttachmentResult;if(!t)throw new GenericActivityError('Error running the "Update Attachment" activity. The response did not include the required "updateAttachmentResult" property.');return{result:t}})}}UpdateAttachment.action="gcx:wf:arcgis::UpdateAttachment",UpdateAttachment.suite="gcx:wf:builtin";export{UpdateAttachment};
1
+ import esriRequest from"@arcgis/core/request";import{GenericActivityError}from"../../Errors.js";import{validation}from"../../Validation.js";import{addToPath,isAbortable,schedulePromiseCancellation}from"./tools.js";class UpdateAttachment{async execute(t,e){var a=validation.urlOrLayer(t).trim(),n=validation.number("objectId",t.objectId,validation.never);const i=validation.number("attachmentId",t.attachmentId,validation.never);var o=validation.exists("attachment",t.attachment,validation.never),r=validation.string("gdbVersion",t.gdbVersion),d=validation.boolean("returnEditMoment",t.returnEditMoment,!1),c=validation.number("uploadId",t.uploadId),s=validation.number("timeout",t.timeout),n=addToPath(a,`${n}/updateAttachment`);let l=validation.string("attachmentName",t.attachmentName,"").trim();""===l&&(l=void 0);const m=new FormData;m.append("f","json"),m.append("attachmentId",i.toString()),m.append("attachment",o,l),r&&m.append("gdbVersion",r),m.append("returnEditMoment",d?"true":"false"),null!=c&&m.append("uploadId",c?"true":"false");const u={method:"post",body:m,responseType:"json",timeout:s,cacheBust:!1};isAbortable(e.cancellationToken)&&(u.signal=e.cancellationToken.signal);n=esriRequest(n,u);schedulePromiseCancellation(e,n);n=(await n).data.updateAttachmentResult;if(!n)throw new GenericActivityError('Error running the "Update Attachment" activity. The response did not include the required "updateAttachmentResult" property.');return{result:n}}}UpdateAttachment.action="gcx:wf:arcgis::UpdateAttachment",UpdateAttachment.suite="gcx:wf:builtin";export{UpdateAttachment};
@@ -1,4 +1,4 @@
1
- import { IActivityHandler, IActivityContext, Deferrable } from "../../IActivityHandler";
1
+ import { IActivityHandler, IActivityContext } from "../../IActivityHandler";
2
2
  import { ApplyEditResult, ApplyEditResults } from "./libs/arcGisRestApi";
3
3
  /** Defines inputs for the UpdateFeatures activity. */
4
4
  export interface UpdateFeaturesInputs {
@@ -21,7 +21,7 @@ export interface UpdateFeaturesOutputs {
21
21
  export declare class UpdateFeatures implements IActivityHandler {
22
22
  static readonly action = "gcx:wf:arcgis::UpdateFeatures";
23
23
  static readonly suite = "gcx:wf:builtin";
24
- execute(inputs: UpdateFeaturesInputs, context: IActivityContext): Deferrable<UpdateFeaturesOutputs>;
24
+ execute(inputs: UpdateFeaturesInputs, context: IActivityContext): Promise<UpdateFeaturesOutputs>;
25
25
  /** Called after the apply edit operation completes. */
26
- protected onApplyEditsComplete(results: ApplyEditResults): void;
26
+ protected onApplyEditsComplete(_results: ApplyEditResults): void;
27
27
  }
@@ -1 +1 @@
1
- import{validation}from"../../Validation.js";import{inline,schedulePromiseCancellation,addToPath,post}from"./tools.js";class UpdateFeatures{execute(e,t){var a=validation.urlOrLayer(e),a=addToPath(a,"applyEdits"),s=validation.string("gdbVersion",e.gdbVersion),i=validation.number("timeout",e.timeout),s={updates:validation.array("features",e.features,validation.never),gdbVersion:s},i=post(a,s,i,t.cancellationToken.signal);schedulePromiseCancellation(t,i);const o=this;return inline(i,function(e){o.onApplyEditsComplete(e);var t=!!e.updateResults?.every(e=>e.success);return{results:e.updateResults,success:t}})}onApplyEditsComplete(e){}}UpdateFeatures.action="gcx:wf:arcgis::UpdateFeatures",UpdateFeatures.suite="gcx:wf:builtin";export{UpdateFeatures};
1
+ import{validation}from"../../Validation.js";import{schedulePromiseCancellation,addToPath,post}from"./tools.js";class UpdateFeatures{async execute(e,t){var a=validation.urlOrLayer(e),a=addToPath(a,"applyEdits"),s=validation.string("gdbVersion",e.gdbVersion),i=validation.number("timeout",e.timeout),s={updates:validation.array("features",e.features,validation.never),gdbVersion:s},i=post(a,s,i,t.cancellationToken.signal);schedulePromiseCancellation(t,i);const o=await i;this.onApplyEditsComplete(o);i=!!o.updateResults?.every(e=>e.success);return{results:o.updateResults,success:i}}onApplyEditsComplete(e){}}UpdateFeatures.action="gcx:wf:arcgis::UpdateFeatures",UpdateFeatures.suite="gcx:wf:builtin";export{UpdateFeatures};
@@ -13,13 +13,6 @@ export interface ApplyEditResults {
13
13
  deleteResults: ApplyEditResult[];
14
14
  }
15
15
  export interface FeatureLayerInfo {
16
- types?: FeatureType[];
17
16
  fields: __esri.Field[];
18
- }
19
- export interface FeatureType {
20
- id: string;
21
- name: string;
22
- domains: {
23
- [field: string]: __esri.Domain;
24
- };
17
+ types?: __esri.FeatureType[];
25
18
  }
@@ -21,15 +21,6 @@ export declare function isCancellable(promise: PromiseLike<any>): promise is Pro
21
21
  * @param promise A promise to be cancelled when the workflow is cancelled.
22
22
  */
23
23
  export declare function schedulePromiseCancellation(context: IActivityContext, promise: PromiseLike<any>): void;
24
- /**
25
- * Calls the given `fulfilledCallback` function if the promise has already been fulfilled.
26
- * Calls the given `rejectedCallback` function if the promise has already been rejected.
27
- * Otherwise, attaches the supplied callbacks to the promise.
28
- * @param value The promise to be inspected.
29
- * @param fulfilledCallback The function to call when the promise is fulfilled.
30
- * @param rejectedCallback The function to call when the promise is rejected.
31
- * */
32
- export declare function inline<T, TResult>(value: PromiseLike<T> | T, fulfilledCallback: (result: T) => PromiseLike<TResult> | TResult, rejectedCallback?: (error: any) => PromiseLike<TResult> | TResult): PromiseLike<TResult> | TResult;
33
24
  export declare function addToPath(url: string, pathSuffix: string): string;
34
25
  export interface ExtentLike extends __esri.Geometry {
35
26
  xmin?: number;
@@ -1 +1 @@
1
- import Extent from"@arcgis/core/geometry/Extent";import esriRequest from"@arcgis/core/request";import Bluebird from"bluebird";import{jsonToQueryObject}from"../../activities/core/converters.js";function isAbortable(e){return"object"==typeof e.signal}function isCancellable(e){return null!=e&&"function"==typeof e.cancel}function schedulePromiseCancellation(e,n){!isAbortable(e.cancellationToken)&&isCancellable(n)&&e.cancellationToken.finally(()=>n.cancel())}function inline(e,n,t=void 0){const a=Bluebird.resolve(e);return a.isFulfilled()?n(a.value()):a.isRejected()&&t?t(a.reason()):a.then(n,t)}function addToPath(t,a){return t.replace(/([\#\?].*)?$/,function(e){const n=t.substring(0,t.length-e.length);return n.match(/\/+$/)?a+e:"/"+a+e})}function isExtent(e){return"number"==typeof e.xmin&&("number"==typeof e.xmax&&("number"==typeof e.ymin&&"number"==typeof e.ymax))}function polygonFromExtent(e,n){if(null!=e)return isExtent(e)?new n({rings:[[[e.xmin,e.ymin],[e.xmax,e.ymin],[e.xmax,e.ymax],[e.xmin,e.ymax]]],spatialReference:e.spatialReference}):e}function get(e,n,t,a){n.f="json";const i={method:"get",query:jsonToQueryObject(n),responseType:"json",timeout:t,cacheBust:!1};return a&&(i.signal=a),esriRequest(e,i).then(e=>e.data)}function post(e,n,t,a){n.f="json";const i={method:"post",query:jsonToQueryObject(n),responseType:"json",timeout:t,cacheBust:!1};return a&&(i.signal=a),esriRequest(e,i).then(e=>e.data)}function isFeatureSet(e){return null!=e&&(!Array.isArray(e)&&!!Array.isArray(e.features))}function featuresToArray(e){return null==e?[]:e instanceof Array?e:isFeatureSet(e)?e.features:void 0!==e.attributes&&null!==e.attributes||void 0!==e.geometry&&null!==e.geometry?[e]:[]}function extentOf(e){let n=void 0;for(const a of e||[])if(a)if("point"===a.type){var t=a;void 0===n?n=pointToExtent(t):(n.xmin=Math.min(n.xmin,t.x),n.ymin=Math.min(n.ymin,t.y),n.xmax=Math.max(n.xmax,t.x),n.ymax=Math.max(n.ymax,t.y),n.spatialReference=a.spatialReference||n.spatialReference,"number"==typeof t.z&&(n.zmin=Math.min(n.zmin,t.z),n.zmax=Math.max(n.zmax,t.z)))}else{let e=a.extent;void 0!==e&&null!==e&&(void 0!==n?(n.xmin=Math.min(n.xmin,e.xmin),n.ymin=Math.min(n.ymin,e.ymin),n.xmax=Math.max(n.xmax,e.xmax),n.ymax=Math.max(n.ymax,e.ymax),n.spatialReference=a.spatialReference||n.spatialReference,"number"==typeof e.zmin&&(n.zmin=Math.min(n.zmin,e.zmin)),"number"==typeof e.zmax&&(n.zmax=Math.max(n.zmax,e.zmax))):(e=e.clone(),n=e))}return n}function pointToExtent(e){const n=new Extent;return n.xmin=e.x,n.ymin=e.y,n.xmax=e.x,n.ymax=e.y,n.spatialReference=e.spatialReference,"number"==typeof e.z&&(n.zmin=e.z,n.zmax=e.z),n}export{isAbortable,isCancellable,schedulePromiseCancellation,inline,addToPath,polygonFromExtent,get,post,isFeatureSet,featuresToArray,extentOf};
1
+ import Extent from"@arcgis/core/geometry/Extent";import esriRequest from"@arcgis/core/request";import{jsonToQueryObject}from"../../activities/core/converters.js";function isAbortable(e){return"object"==typeof e.signal}function isCancellable(e){return null!=e&&"function"==typeof e.cancel}function schedulePromiseCancellation(e,t){!isAbortable(e.cancellationToken)&&isCancellable(t)&&e.cancellationToken.finally(()=>t.cancel())}function addToPath(n,a){return n.replace(/([\#\?].*)?$/,function(e){const t=n.substring(0,n.length-e.length);return t.match(/\/+$/)?a+e:"/"+a+e})}function isExtent(e){return"number"==typeof e.xmin&&("number"==typeof e.xmax&&("number"==typeof e.ymin&&"number"==typeof e.ymax))}function polygonFromExtent(e,t){if(null!=e)return isExtent(e)?new t({rings:[[[e.xmin,e.ymin],[e.xmax,e.ymin],[e.xmax,e.ymax],[e.xmin,e.ymax]]],spatialReference:e.spatialReference}):e}function get(e,t,n,a){t.f="json";const i={method:"get",query:jsonToQueryObject(t),responseType:"json",timeout:n,cacheBust:!1};return a&&(i.signal=a),esriRequest(e,i).then(e=>e.data)}function post(e,t,n,a){t.f="json";const i={method:"post",query:jsonToQueryObject(t),responseType:"json",timeout:n,cacheBust:!1};return a&&(i.signal=a),esriRequest(e,i).then(e=>e.data)}function isFeatureSet(e){return null!=e&&(!Array.isArray(e)&&!!Array.isArray(e.features))}function featuresToArray(e){return null==e?[]:e instanceof Array?e:isFeatureSet(e)?e.features:void 0!==e.attributes&&null!==e.attributes||void 0!==e.geometry&&null!==e.geometry?[e]:[]}function extentOf(e){let t=void 0;for(const a of e||[])if(a)if("point"===a.type){var n=a;void 0===t?t=pointToExtent(n):(t.xmin=Math.min(t.xmin,n.x),t.ymin=Math.min(t.ymin,n.y),t.xmax=Math.max(t.xmax,n.x),t.ymax=Math.max(t.ymax,n.y),t.spatialReference=a.spatialReference||t.spatialReference,"number"==typeof n.z&&(t.zmin=Math.min(t.zmin,n.z),t.zmax=Math.max(t.zmax,n.z)))}else{let e=a.extent;void 0!==e&&null!==e&&(void 0!==t?(t.xmin=Math.min(t.xmin,e.xmin),t.ymin=Math.min(t.ymin,e.ymin),t.xmax=Math.max(t.xmax,e.xmax),t.ymax=Math.max(t.ymax,e.ymax),t.spatialReference=a.spatialReference||t.spatialReference,"number"==typeof e.zmin&&(t.zmin=Math.min(t.zmin,e.zmin)),"number"==typeof e.zmax&&(t.zmax=Math.max(t.zmax,e.zmax))):(e=e.clone(),t=e))}return t}function pointToExtent(e){const t=new Extent;return t.xmin=e.x,t.ymin=e.y,t.xmax=e.x,t.ymax=e.y,t.spatialReference=e.spatialReference,"number"==typeof e.z&&(t.zmin=e.z,t.zmax=e.z),t}export{isAbortable,isCancellable,schedulePromiseCancellation,addToPath,polygonFromExtent,get,post,isFeatureSet,featuresToArray,extentOf};
@@ -1 +1 @@
1
- import{__decorate}from"tslib";import Bluebird from"bluebird";import{GenericActivityError}from"../../Errors.js";import{activate}from"../../Hooks.js";import{validation}from"../../Validation.js";import{ChannelProvider}from"./ChannelProvider.js";import{jsonToFormData}from"./converters.js";function isJsonResponse(e){const t=e.response.headers["Content-Type"];if("string"==typeof t&&"application/json"===t.split(";")[0].trim())return!0;return!1}function encode(e){return null==e?"":"boolean"==typeof e?!0===e?"true":"false":"number"==typeof e?encodeURIComponent(e.toString()):"string"==typeof e?encodeURIComponent(e):"object"==typeof e?encodeURIComponent(JSON.stringify(e)):""}function makeQueryString(e){const t=[];for(const r in e){var n=e[r];if(n instanceof Array)for(const o of n)t.push(r+"="+encode(o));else t.push(r+"="+encode(n))}return t.join("&")}let WebRequest=class{async execute(o,e,t){const s=t.create(o.channel,o.channelName);let n=s.request.url=validation.string("url",o.url,validation.never);s.request.headers=o.headers||{},s.timeout=validation.number("timeout",o.timeout,6e4),s.corsWithCredentials=validation.boolean("corsWithCredentials",o.corsWithCredentials,!1);t=o.query;null!=t&&(n=n.split("#")[0],r=makeQueryString(t),n=0<=n.indexOf("?")?n+"&"+r:n+"?"+r,s.request.url=n);var r=o.method;s.request.method="string"==typeof r?r:"GET";let i=o.blob;i instanceof Blob&&(i=await i.arrayBuffer()),i instanceof ArrayBuffer&&(s.request.content=i);r=o.text;"string"==typeof r&&(s.request.content=r);r=o.json;void 0!==r&&(s.request.json=r);r=o.form;null!=r&&(Object.values(r).some(e=>e instanceof Blob)?s.request.content=jsonToFormData(r):s.request.content=makeQueryString(r)),"blob"===o.expect&&(s.binary=!0),e.cancellationToken.finally(function(){s.cancel()});const a=(new Date).valueOf();return s.send().then(function(r){return Bluebird.attempt(function(){const e={channel:s,elapsed:(new Date).valueOf()-a};var t=s.response.content;"string"==typeof t&&(e.text=t,"json"===o.expect&&(r||isJsonResponse(s))&&(e.json=JSON.parse(t))),t instanceof ArrayBuffer&&(e.blob=t);t=s.response.payload;if(null!=t&&(e.json=t),r)return e;const n=new GenericActivityError("WF0014","Cannot perform web request.");return n.timedOut=e.elapsed>=s.timeout,n.elapsed=e.elapsed,n.error=s.response.error,n.partialResult=e,Bluebird.reject(n)})})}};WebRequest.action="gcx:wf:core:request:WebRequest",WebRequest.suite="gcx:wf:builtin",WebRequest=__decorate([activate(ChannelProvider)],WebRequest);export{WebRequest};
1
+ import{__decorate}from"tslib";import{GenericActivityError}from"../../Errors.js";import{activate}from"../../Hooks.js";import{validation}from"../../Validation.js";import{ChannelProvider}from"./ChannelProvider.js";import{jsonToFormData}from"./converters.js";function isJsonResponse(e){const t=e.response.headers["Content-Type"];if("string"==typeof t&&"application/json"===t.split(";")[0].trim())return!0;return!1}function encode(e){return null==e?"":"boolean"==typeof e?!0===e?"true":"false":"number"==typeof e?encodeURIComponent(e.toString()):"string"==typeof e?encodeURIComponent(e):"object"==typeof e?encodeURIComponent(JSON.stringify(e)):""}function makeQueryString(e){const t=[];for(const o in e){var n=e[o];if(n instanceof Array)for(const r of n)t.push(o+"="+encode(r));else t.push(o+"="+encode(n))}return t.join("&")}let WebRequest=class{async execute(e,t,n){const o=n.create(e.channel,e.channelName);let r=o.request.url=validation.string("url",e.url,validation.never);o.request.headers=e.headers||{},o.timeout=validation.number("timeout",e.timeout,6e4),o.corsWithCredentials=validation.boolean("corsWithCredentials",e.corsWithCredentials,!1);n=e.query;null!=n&&(r=r.split("#")[0],s=makeQueryString(n),r=0<=r.indexOf("?")?r+"&"+s:r+"?"+s,o.request.url=r);var s=e.method;o.request.method="string"==typeof s?s:"GET";let i=e.blob;i instanceof Blob&&(i=await i.arrayBuffer()),i instanceof ArrayBuffer&&(o.request.content=i);s=e.text;"string"==typeof s&&(o.request.content=s);s=e.json;void 0!==s&&(o.request.json=s);s=e.form;null!=s&&(Object.values(s).some(e=>e instanceof Blob)?o.request.content=jsonToFormData(s):o.request.content=makeQueryString(s)),"blob"===e.expect&&(o.binary=!0),t.cancellationToken.finally(function(){o.cancel()});s=(new Date).valueOf(),t=await o.send();const a={channel:o,elapsed:(new Date).valueOf()-s};s=o.response.content;"string"==typeof s&&(a.text=s,"json"===e.expect&&(t||isJsonResponse(o))&&(a.json=JSON.parse(s))),s instanceof ArrayBuffer&&(a.blob=s);s=o.response.payload;if(null!=s&&(a.json=s),t)return a;const l=new GenericActivityError("WF0014","Cannot perform web request.");throw l.timedOut=a.elapsed>=o.timeout,l.elapsed=a.elapsed,l.error=o.response.error,l.partialResult=a,l}};WebRequest.action="gcx:wf:core:request:WebRequest",WebRequest.suite="gcx:wf:builtin",WebRequest=__decorate([activate(ChannelProvider)],WebRequest);export{WebRequest};
@@ -18,7 +18,7 @@ export interface RunEssentialsWorkflowOutputs {
18
18
  export declare class RunEssentialsWorkflow implements IActivityHandler {
19
19
  static readonly action = "gcx:wf:essentials::RunEssentialsWorkflow";
20
20
  static readonly suite = "gcx:wf:builtin";
21
- execute(inputs: RunEssentialsWorkflowInputs, context: IActivityContext, type: typeof ChannelProvider): PromiseLike<RunEssentialsWorkflowOutputs>;
21
+ execute(inputs: RunEssentialsWorkflowInputs, context: IActivityContext, type: typeof ChannelProvider): Promise<RunEssentialsWorkflowOutputs>;
22
22
  private isString;
23
23
  private getWorkflowSchema;
24
24
  private validateInputs;
@@ -1 +1 @@
1
- import{__decorate}from"tslib";import Bluebird from"bluebird";import{GenericActivityError}from"../../Errors.js";import{activate}from"../../Hooks.js";import{validation}from"../../Validation.js";import{ChannelProvider}from"../core/ChannelProvider.js";class WorkflowSchema{constructor(){this.inputs={}}}let RunEssentialsWorkflow=class{execute(r,n,o){const s=validation.string("url",r.url,validation.never);return this.getWorkflowSchema(s,o).then(e=>{var t=this.validateInputs(r.arguments,e);if(t)return Bluebird.reject(t);const l=o.create(void 0,"geocortex");l.request.url=s+"/run",l.timeout=validation.number("timeout",r.timeout,6e4),l.request.method="POST",l.request.headers["Content-Type"]="application/x-www-form-urlencoded",l.request.json={inargs:this.constructInArgs(r.arguments,e),f:"json"},n.cancellationToken.finally(function(){l.cancel()});const u=(new Date).valueOf();return l.send().then(function(a){return Bluebird.attempt(function(){var e=(new Date).valueOf()-u;const t={result:{}};if(a){var r=l.getResponseData(l.response.payload);if("Completed"===r.status){r=r.outputs;if(r)for(const i of r){var n=i.name,o=i.value;t.result[n]=o}return t}}const s=new GenericActivityError(void 0,"Error running Essentials Workflow activity.");return s.timedOut=e>=l.timeout,s.elapsed=e,s.error=l.response.error,s.partialResult=t,Bluebird.reject(s)})})})}isString(e){return"string"==typeof e}getWorkflowSchema(e,t){const i=t.create(void 0,"geocortex");return i.request.url=e,i.request.json={f:"json",deep:!0},i.send().then(e=>{if(e){const o=new WorkflowSchema;var t=i.getResponseData(i.response.payload).inputs;if(t)for(const s of t){var r=s.name,n=s.typeName;this.isString(r)&&this.isString(n)&&(o.inputs[r]={name:r,typeName:n})}return Bluebird.resolve(o)}t=new GenericActivityError(void 0,"Error running Essentials Workflow activity. Error retrieving workflow schema.");return Bluebird.reject(t)})}validateInputs(e,t){const r=[],n=[];for(const s in t.inputs)e.hasOwnProperty(s)||r.push(s);for(const i in e)t.inputs.hasOwnProperty(i)||n.push(i);if(0<r.length+n.length){let e="",t="";r.length&&(e=" Missing parameters: "+r),n.length&&(t=" Unexpected parameters: "+n);var o="Invalid parameters supplied to Essentials Workflow activity."+e+t;return new GenericActivityError(void 0,o)}}constructInArgs(e,t){const r=[];for(const n in e)r.push({name:n,typeName:t.inputs[n].typeName,value:e[n]});return r}};RunEssentialsWorkflow.action="gcx:wf:essentials::RunEssentialsWorkflow",RunEssentialsWorkflow.suite="gcx:wf:builtin",RunEssentialsWorkflow=__decorate([activate(ChannelProvider)],RunEssentialsWorkflow);export{RunEssentialsWorkflow};
1
+ import{__decorate}from"tslib";import Bluebird from"bluebird";import{GenericActivityError}from"../../Errors.js";import{activate}from"../../Hooks.js";import{validation}from"../../Validation.js";import{ChannelProvider}from"../core/ChannelProvider.js";class WorkflowSchema{constructor(){this.inputs={}}}let RunEssentialsWorkflow=class{async execute(e,t,r){var n=validation.string("url",e.url,validation.never),o=await this.getWorkflowSchema(n,r),s=this.validateInputs(e.arguments,o);if(s)return Bluebird.reject(s);const i=r.create(void 0,"geocortex");i.request.url=n+"/run",i.timeout=validation.number("timeout",e.timeout,6e4),i.request.method="POST",i.request.headers["Content-Type"]="application/x-www-form-urlencoded",i.request.json={inargs:this.constructInArgs(e.arguments,o),f:"json"},t.cancellationToken.finally(function(){i.cancel()});o=(new Date).valueOf(),t=await i.send(),o=(new Date).valueOf()-o;const a={result:{}};if(t){t=i.getResponseData(i.response.payload);if("Completed"===t.status){t=t.outputs;if(t)for(const p of t){var l=p.name,u=p.value;a.result[l]=u}return a}}const c=new GenericActivityError(void 0,"Error running Essentials Workflow activity.");throw c.timedOut=o>=i.timeout,c.elapsed=o,c.error=i.response.error,c.partialResult=a,c}isString(e){return"string"==typeof e}async getWorkflowSchema(e,t){const r=t.create(void 0,"geocortex");if(r.request.url=e,r.request.json={f:"json",deep:!0},await r.send()){const s=new WorkflowSchema;e=r.getResponseData(r.response.payload).inputs;if(e)for(const i of e){var n=i.name,o=i.typeName;this.isString(n)&&this.isString(o)&&(s.inputs[n]={name:n,typeName:o})}return s}throw new GenericActivityError(void 0,"Error running Essentials Workflow activity. Error retrieving workflow schema.")}validateInputs(e,t){const r=[],n=[];for(const s in t.inputs)e.hasOwnProperty(s)||r.push(s);for(const i in e)t.inputs.hasOwnProperty(i)||n.push(i);if(0<r.length+n.length){let e="",t="";r.length&&(e=" Missing parameters: "+r),n.length&&(t=" Unexpected parameters: "+n);var o="Invalid parameters supplied to Essentials Workflow activity."+e+t;return new GenericActivityError(void 0,o)}}constructInArgs(e,t){const r=[];for(const n in e)r.push({name:n,typeName:t.inputs[n].typeName,value:e[n]});return r}};RunEssentialsWorkflow.action="gcx:wf:essentials::RunEssentialsWorkflow",RunEssentialsWorkflow.suite="gcx:wf:builtin",RunEssentialsWorkflow=__decorate([activate(ChannelProvider)],RunEssentialsWorkflow);export{RunEssentialsWorkflow};
@@ -1,4 +1,4 @@
1
- import { IActivityHandler, IActivityContext, Deferrable, EmptyOutputs } from "../../IActivityHandler";
1
+ import { IActivityHandler, EmptyOutputs } from "../../IActivityHandler";
2
2
  import * as defs from "../../forms/FormDefinition";
3
3
  import { DisplayFormOutputs } from "./DisplayForm";
4
4
  export interface ActivateFormElementInputs {
@@ -9,5 +9,5 @@ export interface ActivateFormElementInputs {
9
9
  export declare class ActivateFormElement implements IActivityHandler {
10
10
  static readonly action = "gcx:wf:forms::ActivateFormElement";
11
11
  static readonly suite = "gcx:wf:builtin";
12
- execute(inputs: ActivateFormElementInputs, context: IActivityContext): Deferrable<EmptyOutputs>;
12
+ execute(inputs: ActivateFormElementInputs): EmptyOutputs;
13
13
  }
@@ -1 +1 @@
1
- import{validation}from"../../Validation.js";import{getFormForElement}from"./FormElementMap.js";class ActivateFormElement{execute(e,t){let{elementName:m,form:o}=e;return"object"==typeof m&&(o=getFormForElement(m)),validation.exists("form",o),m=o.actor.getElementName(m,o.event),o.actor.assignElementProperty(m,"autoActivate",!0),{}}}ActivateFormElement.action="gcx:wf:forms::ActivateFormElement",ActivateFormElement.suite="gcx:wf:builtin";export{ActivateFormElement};
1
+ import{validation}from"../../Validation.js";import{getFormForElement}from"./FormElementMap.js";class ActivateFormElement{execute(e){let{elementName:t,form:m}=e;return"object"==typeof t&&(m=getFormForElement(t)),validation.exists("form",m),t=m.actor.getElementName(t,m.event),m.actor.assignElementProperty(t,"autoActivate",!0),{}}}ActivateFormElement.action="gcx:wf:forms::ActivateFormElement",ActivateFormElement.suite="gcx:wf:builtin";export{ActivateFormElement};
@@ -1,4 +1,4 @@
1
- import { IActivityHandler, IActivityContext, Deferrable, EmptyOutputs } from "../../IActivityHandler";
1
+ import { IActivityHandler, IActivityContext, EmptyOutputs } from "../../IActivityHandler";
2
2
  import * as defs from "../../forms/FormDefinition";
3
3
  import { DisplayFormOutputs } from "./DisplayForm";
4
4
  export interface AddFormElementInputs {
@@ -6,7 +6,7 @@ export interface AddFormElementInputs {
6
6
  /** The ID of the form element to add. */
7
7
  elementName: string;
8
8
  /** The type of form element to add. */
9
- elementType: "AutoComplete" | "ButtonBar" | "CheckBox" | "CheckGroup" | "Custom" | "DatePicker" | "DateRangePicker" | "DateTimePicker" | "DropDownList" | "FilePicker" | "GeometryPicker" | "HorizontalRule" | "Image" | "ItemPicker" | "ListBox" | "Number" | "NumberRangeSlider" | "NumberSlider" | "PasswordBox" | "RadioGroup" | "Section" | "Scanner" | "Text" | "TextArea" | "TextBox" | "TimePicker" | string;
9
+ elementType: "AutoComplete" | "ButtonBar" | "CheckBox" | "CheckGroup" | "Custom" | "DatePicker" | "DateRangePicker" | "DateTimePicker" | "DropDownList" | "FilePicker" | "GeometryPicker" | "HorizontalRule" | "Image" | "ItemPicker" | "ListBox" | "Number" | "NumberRangeSlider" | "NumberSlider" | "PasswordBox" | "RadioGroup" | "Scanner" | "Section" | "Signature" | "Text" | "TextArea" | "TextBox" | "TimePicker" | string;
10
10
  /** The definition of the form element to add. */
11
11
  element: defs.Element;
12
12
  targetForm?: DisplayFormOutputs;
@@ -14,5 +14,5 @@ export interface AddFormElementInputs {
14
14
  export declare class AddFormElement implements IActivityHandler {
15
15
  static readonly action = "gcx:wf:forms::AddFormElement";
16
16
  static readonly suite = "gcx:wf:builtin";
17
- execute(inputs: AddFormElementInputs, context: IActivityContext): Deferrable<EmptyOutputs>;
17
+ execute(inputs: AddFormElementInputs, context: IActivityContext): EmptyOutputs;
18
18
  }
@@ -1,4 +1,4 @@
1
- import { IActivityHandler, IActivityContext, Deferrable, EmptyOutputs } from "../../IActivityHandler";
1
+ import { IActivityHandler, EmptyOutputs } from "../../IActivityHandler";
2
2
  import * as defs from "../../forms/FormDefinition";
3
3
  import { DisplayFormOutputs } from "./DisplayForm";
4
4
  export interface ClearFormElementErrorInputs {
@@ -9,5 +9,5 @@ export interface ClearFormElementErrorInputs {
9
9
  export declare class ClearFormElementError implements IActivityHandler {
10
10
  static readonly action = "gcx:wf:forms::ClearFormElementError";
11
11
  static readonly suite = "gcx:wf:builtin";
12
- execute(inputs: ClearFormElementErrorInputs, context: IActivityContext): Deferrable<EmptyOutputs>;
12
+ execute(inputs: ClearFormElementErrorInputs): EmptyOutputs;
13
13
  }
@@ -1 +1 @@
1
- import{validation}from"../../Validation.js";import{getFormForElement}from"./FormElementMap.js";class ClearFormElementError{execute(e,r){let{elementName:o,form:t}=e;return"object"==typeof o&&(t=getFormForElement(o)),validation.exists("form",t),o=t.actor.getElementName(o,t.event),t.actor.setElementError(o,void 0),{}}}ClearFormElementError.action="gcx:wf:forms::ClearFormElementError",ClearFormElementError.suite="gcx:wf:builtin";export{ClearFormElementError};
1
+ import{validation}from"../../Validation.js";import{getFormForElement}from"./FormElementMap.js";class ClearFormElementError{execute(e){let{elementName:r,form:o}=e;return"object"==typeof r&&(o=getFormForElement(r)),validation.exists("form",o),r=o.actor.getElementName(r,o.event),o.actor.setElementError(r,void 0),{}}}ClearFormElementError.action="gcx:wf:forms::ClearFormElementError",ClearFormElementError.suite="gcx:wf:builtin";export{ClearFormElementError};
@@ -1,5 +1,5 @@
1
1
  import { Lookup } from "../../Collections";
2
- import { IActivityHandler, IActivityContext, Deferrable } from "../../IActivityHandler";
2
+ import { IActivityHandler, IActivityContext } from "../../IActivityHandler";
3
3
  import { FormRenderer, defs } from "./FormRenderer";
4
4
  /** Defines the inputs for a display form activity. */
5
5
  export interface DisplayFormInputs {
@@ -39,7 +39,7 @@ export declare class DisplayForm implements IActivityHandler {
39
39
  static readonly action = "gcx:wf:forms:form:DisplayForm";
40
40
  static readonly suite = "gcx:wf:builtin";
41
41
  /** Performs the operation on behalf of the engine. */
42
- execute(inputs: DisplayFormInputs, context: IActivityContext, type: typeof FormRenderer): Deferrable<DisplayFormOutputs>;
42
+ execute(inputs: DisplayFormInputs, context: IActivityContext, type: typeof FormRenderer): Promise<DisplayFormOutputs>;
43
43
  /**
44
44
  * Updates the references in the `ElementMap` for all of the elements
45
45
  * contained in `displayFormOutputs`.
@@ -1 +1 @@
1
- var DisplayForm_1;import{__decorate}from"tslib";import Bluebird from"bluebird";import{activate}from"../../Hooks.js";import{setFormForElement}from"./FormElementMap.js";import{FormRenderer}from"./FormRenderer.js";function loop(r,o){let i,s;var e=new Bluebird((e,t)=>{i=e,s=t});let n=r();return function e(){for(;n.isFulfilled();){var t;if(void 0===(t=n.value()))break;if(void 0!==(t=o(t))){i(t);break}n=r()}n.isPending()&&n.then(e),n.isRejected()&&s(n.reason())}(),e}let DisplayForm=DisplayForm_1=class{static createRenderer(e,t,r){let o=t.luid,i=!1!==e.reset;var s=e.name;"string"==typeof s&&(o=":"+s);const n=this.renderers;let a=n[o];if(void 0===a){i=!0,a=n[o]=r.create();const l=a.state=t.ambient;var u=function(){delete n[o],a.dispose()};l.completion.then(u,u)}i?a.load(e.form,e.template):a.load();u="string"==typeof e.container?e.container:"default",e="string"==typeof e.region?e.region:void 0;return a.form.defaults.container=void 0!==e||"default"!==u&&"modal"!==u?{name:u,region:e}:u,a}execute(e,n,t){let a=n.state;if(void 0!==a){var r=a.outputs,o=n.caught;if(void 0!==o){var i=r.event,i=i?`Error in ${i.name} element's ${i.type} event in`:"Error in a subworkflow of";return console.error(`${i} a Display Form activity: ${o.message}`,o),n.fork("catch"),a.busy(),a.outputs={actor:a,state:a.form.elements,event:r.event,route:!1,error:o},DisplayForm_1.updateElementMap(a.outputs),a.outputs}o=r.result;if("string"==typeof o)return a.spinNoBlock(),a.outputs={actor:a,state:a.form.elements,event:r.event,route:!1,result:o,status:o},DisplayForm_1.updateElementMap(a.outputs),a.outputs;if("object"==typeof o&&null!==o)return a.spinNoBlock(),Bluebird.reject(o);r.route&&a.route(r.event)}else a=DisplayForm_1.createRenderer(e,n,t),n.persist(a);return a.outputs=void 0,loop(function(){const e=a.observe();return e.isFulfilled()&&void 0===e.value()&&a.dispose(),e},function(e){let t;var r=e.value;const o=("submit"===e.type||"end"===e.type)&&"string"==typeof r?r:void 0;function i(){return t=a.outputs={actor:a,state:a.form.elements,event:e,route:!1,result:o,status:o},DisplayForm_1.updateElementMap(a.outputs),a.outputs}if(!a.trap(e)&&n.hasBranch(e.routingKey)){const s=e.cancellationToken;if(void 0!==s&&null!==s){if(Bluebird.resolve(s).isFulfilled())return void a.route(e);s.then(function(){a.outputs===t&&n.goto()})}else a.busy();return n.fork(e.routingKey),n.registerForErrors(),i()}if(void 0!==o)return a.spinNoBlock(),i();a.route(e)})}static updateElementMap(e){if(e&&e.state)for(const t in e.state)setFormForElement(e.state[t],e)}};DisplayForm.renderers={},DisplayForm.action="gcx:wf:forms:form:DisplayForm",DisplayForm.suite="gcx:wf:builtin",DisplayForm=DisplayForm_1=__decorate([activate(FormRenderer)],DisplayForm);export{DisplayForm};
1
+ var DisplayForm_1;import{__decorate}from"tslib";import Bluebird from"bluebird";import{activate}from"../../Hooks.js";import{setFormForElement}from"./FormElementMap.js";import{FormRenderer}from"./FormRenderer.js";function loop(r,o){let i,s;var e=new Bluebird((e,t)=>{i=e,s=t});let n=r();return function e(){for(;n.isFulfilled();){var t;if(void 0===(t=n.value()))break;if(void 0!==(t=o(t))){i(t);break}n=r()}n.isPending()&&n.then(e),n.isRejected()&&s(n.reason())}(),e}let DisplayForm=DisplayForm_1=class{static createRenderer(e,t,r){let o=t.luid;var i=!1!==e.reset,s=e.name;"string"==typeof s&&(o=":"+s);const n=this.renderers;let l=n[o],a;if(l&&(!1==i&&(a=l.form),delete n[o],l=void 0),void 0===l){l=n[o]=r.create(),a&&(l.form=a);const m=l.state=t.ambient;var u=function(){delete n[o],l.dispose()};m.completion.then(u,u)}a?l.load():l.load(e.form,e.template);u="string"==typeof e.container?e.container:"default",e="string"==typeof e.region?e.region:void 0;return l.form.defaults.container=void 0!==e||"default"!==u&&"modal"!==u?{name:u,region:e}:u,l}execute(e,n,t){let l=n.state;if(void 0!==l){var r=l.outputs,o=n.caught;if(void 0!==o){var i=r.event,i=i?`Error in ${i.name} element's ${i.type} event in`:"Error in a subworkflow of";return console.error(`${i} a Display Form activity: ${o.message}`,o),n.fork("catch"),l.busy(),l.outputs={actor:l,state:l.form.elements,event:r.event,route:!1,error:o},DisplayForm_1.updateElementMap(l.outputs),l.cancelTool(),Promise.resolve(l.outputs)}o=r.result;if("string"==typeof o)return l.spinNoBlock(),l.outputs={actor:l,state:l.form.elements,event:r.event,route:!1,result:o,status:o},DisplayForm_1.updateElementMap(l.outputs),l.cancelTool(),Promise.resolve(l.outputs);if("object"==typeof o&&null!==o)return l.spinNoBlock(),Bluebird.reject(o);r.route&&l.route(r.event)}else l=DisplayForm_1.createRenderer(e,n,t),n.persist(l);return l.outputs=void 0,loop(function(){const e=l.observe();return e.isFulfilled()&&void 0===e.value()&&(console.warn("Error detecting observing form. Promise is fulfilled with no value."),l.dispose()),e},function(e){let t;var r=e.value;const o=("submit"===e.type||"end"===e.type)&&"string"==typeof r?r:void 0;function i(){return t=l.outputs={actor:l,state:l.form.elements,event:e,route:!1,result:o,status:o},DisplayForm_1.updateElementMap(l.outputs),l.cancelTool(),l.outputs}if(!l.trap(e)&&n.hasBranch(e.routingKey)){const s=e.cancellationToken;if(void 0!==s&&null!==s){if(Bluebird.resolve(s).isFulfilled())return void l.route(e);s.then(function(){l.outputs===t&&n.goto()})}else l.busy();return n.fork(e.routingKey),n.registerForErrors(),i()}if(void 0!==o)return l.spinNoBlock(),i();l.route(e)})}static updateElementMap(e){if(e&&e.state)for(const t in e.state)setFormForElement(e.state[t],e)}};DisplayForm.renderers={},DisplayForm.action="gcx:wf:forms:form:DisplayForm",DisplayForm.suite="gcx:wf:builtin",DisplayForm=DisplayForm_1=__decorate([activate(FormRenderer)],DisplayForm);export{DisplayForm};
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { Activator } from "../../Activator";
3
2
  import { Lookup } from "../../Collections";
4
3
  import { FormHost, defs } from "../../forms/FormHost";
@@ -16,11 +15,18 @@ export interface FormActor {
16
15
  /** Sets element visibility to true. */
17
16
  showElement(element: defs.Element): void;
18
17
  /** Assigns an error message to an element. */
19
- setElementError(elementName: string, error: string, markdown?: boolean): void;
18
+ setElementError(elementName: string, error: string | undefined, markdown?: boolean): void;
20
19
  /** Finds the specified item and sets it as the current one. Returns true if a match was found, false otherwise. */
21
20
  setCurrentItem(elementName: string, value: defs.Value | defs.Text | defs.Item, matchType: defs.ItemMatchType): boolean;
22
- /** Assigns a property to an element, or overwrites an existing property. */
23
- assignElementProperty(elementName: string, propertyName: string, propertyValue: any, markdown?: boolean): void;
21
+ /**
22
+ * Assigns a property to an element, or overwrites an existing property.
23
+ * @param elementName The name of the element to be updated.
24
+ * @param propertyName The name of the property of the element to be updated.
25
+ * @param propertyValue The new value for the element's property.
26
+ * @param markdown (optional) True if the value should be treated as markdown, false otherwise. The default value is false.
27
+ * @param event (optional) Only relevant when `propertyName` is `"value"`. If a boolean value, indicates whether or not to post a "changed" event. If a `Partial<defs.Element>` specifies some of the properties of the event to be posted. Any `name` and `value` provided here are ignored. The default value is true.
28
+ */
29
+ assignElementProperty(elementName: string, propertyName: string, propertyValue: any, markdown?: boolean, event?: Partial<defs.Event> | boolean): void;
24
30
  /** Assigns an items property to an element. */
25
31
  assignItemsToElement(elementName: string, items: Lookup<defs.Item>, reset?: boolean): void;
26
32
  /** Assigns a property to an element item, or overwrites an existing property. */
@@ -47,30 +53,16 @@ export declare class FormRenderer extends FormHost implements FormActor {
47
53
  static createCustom(): FormRenderer;
48
54
  /** Register this renderer class as the form renderer. */
49
55
  static register(activator: Activator): void;
50
- /** Used to request that the form spins without blocking the application. */
51
- spinNoBlock(): boolean;
52
- hideElement(element: defs.Element): void;
53
- showElement(element: defs.Element): void;
54
- setCurrentItem(elementName: string, searchValue: defs.Value | defs.Text | defs.Item, itemMatchType: defs.ItemMatchType): boolean;
55
- setElementError(elementName: string, error: string, markdown?: boolean): void;
56
- assignElementProperty(elementName: string, propertyName: string, propertyValue: any, markdown?: boolean): void;
57
- assignItemsToElement(elementName: string, items: Lookup<defs.Item>, reset?: boolean): void;
56
+ addElement(elementName: string, type: string, element: defs.Element): defs.Element;
57
+ assignElementProperty(elementName: string, propertyName: string, propertyValue: any, markdown?: boolean, event?: Partial<defs.Event> | boolean): void;
58
58
  assignElementItemProperty(elementName: string, itemKey: string, propertyName: string, propertyValue: any, markdown?: boolean): void;
59
+ assignItemsToElement(elementName: string, items: Lookup<defs.Item>, reset?: boolean): void;
60
+ cancelTool(): void;
59
61
  deriveLocale(): string;
60
62
  /** Disposes the form renderer. */
61
63
  dispose(): boolean;
62
- /** Loads the form. */
63
- load(): boolean;
64
- /** Loads the form with a new definition. */
65
- load(form: defs.Form, template?: defs.Form): boolean;
66
- /**
67
- * Checks to see if the other FormRenderer is related to this one.
68
- * If two forms share the same ambient state, they belong to the
69
- * same workflow. Otherwise they may yet be related if the other belongs to
70
- * a workflow that is an ancestor of the current workflow.
71
- * @param other The other FormRenderer to compare to this one.
72
- */
73
- isRelated(other: FormRenderer): any;
64
+ /** Filters the items of an element based on heuristics. */
65
+ filterItems(elementName: string, input: string): boolean;
74
66
  /**
75
67
  * Returns the specified element or throws an error with a helpful message
76
68
  * if the element does not exist. Throwing an error now makes it easier
@@ -121,14 +113,28 @@ export declare class FormRenderer extends FormHost implements FormActor {
121
113
  */
122
114
  getElementName(element: defs.Element | string, event?: defs.Event): string;
123
115
  getElementRegistration(element: defs.Element): FormElementRegistration | undefined;
116
+ protected getText(content: defs.Text): defs.Text;
117
+ hideElement(element: defs.Element): void;
118
+ /**
119
+ * Checks to see if the other FormRenderer is related to this one.
120
+ * If two forms share the same ambient state, they belong to the
121
+ * same workflow. Otherwise they may yet be related if the other belongs to
122
+ * a workflow that is an ancestor of the current workflow.
123
+ * @param other The other FormRenderer to compare to this one.
124
+ */
125
+ isRelated(other: FormRenderer): any;
126
+ /** Loads the form. */
127
+ load(): boolean;
128
+ /** Loads the form with a new definition. */
129
+ load(form: defs.Form, template?: defs.Form): boolean;
124
130
  /** Renders form text as HTML. */
125
131
  renderHtml(content: defs.Text, htmlContentCategory?: defs.HTMLContentCategory): string;
126
132
  /** Renders form text as plain text. */
127
133
  renderText(content: defs.Text): string;
134
+ setCurrentItem(elementName: string, searchValue: defs.Value | defs.Text | defs.Item, itemMatchType: defs.ItemMatchType): boolean;
135
+ setElementError(elementName: string, error: string | undefined, markdown?: boolean): void;
136
+ showElement(element: defs.Element): void;
137
+ /** Used to request that the form spins without blocking the application. */
138
+ spinNoBlock(): boolean;
128
139
  translateText(content: defs.Text): string | defs.MarkdownRef;
129
- /** Filters the items of an element based on heuristics. */
130
- filterItems(elementName: string, input: string): boolean;
131
- protected getText(content: defs.Text): defs.Text;
132
- renderCustom(component: {}, element: defs.Element): JSX.Element;
133
- addElement(elementName: string, type: string, element: defs.Element): defs.Element;
134
140
  }
@@ -1 +1 @@
1
- import{ActivityAbortedError}from"../../Errors.js";import{FormComponent}from"../../forms/FormComponent.js";import{FormHost,defs}from"../../forms/FormHost.js";import{FormElementTypes}from"../../forms/constants.js";import{renderElement}from"../../forms/renderers.js";import{text}from"../../forms/utils.js";import{FormElementNotFoundError,NoFormElementAvailableError}from"./Errors.js";function sanitizeValue(e,t,r){if("string"!=typeof t)return t;if(!0!==r)return t;switch(e){case"description":case"error":case"label":case"prompt":case"title":case"tooltip":case"itemLabel":break;default:return t}return{markdown:t}}const guid="F889738A-EBE2-4D52-8B46-3E24CC6E30F6:";class FormRenderer extends FormHost{static create(){return new this}static createCustom(){const e=new this;return e.custom=!0,e}static register(e){e.factories.push(e=>e===this.type?this:void 0)}spinNoBlock(){return this.spin()}hideElement(e){e.visible=!1,this.invalidate()}showElement(e){e.visible=!0,this.invalidate()}setCurrentItem(e,t,r){const n=this.getElement(e);if(!n||!n.items)return!1;let s;switch(r){case"index":s=(e,t,r)=>{var s=Object.keys(n.items);return 0<s.length&&e===s[r]};break;case"item":s=(e,t,r)=>r===t;break;case"key":s=(e,t,r)=>r===e;break;case"label":s=(e,t,r)=>r===t.label;break;case"value":s=(e,t,r)=>r===t.value;break;default:throw new Error("Unsupported value for itemMatchType: "+r)}for(const i in n.items)if(s(i,n.items[i],t))return n.current=i,this.invalidate(e),this.cascade(e),!0;return!1}setElementError(e,t,r){this.errors[e]=sanitizeValue("error",t,r)}assignElementProperty(t,r,s,e){s=sanitizeValue(r,s,e);const n=this.getElement(t);if(n[r]!==s){const i={},o=this.getElementRegistration(n);if(o?.onPropertyChange)try{const a=(e,t)=>{i[e]!==t&&(i[e]=t,o.onPropertyChange({properties:{...n,...i},property:e,setProperty:a}))};a(r,s)}catch(e){throw console.error(`Error setting element property.\nElement: "${t}"\nProperty: "${r}"\nValue: ${s}\n`,e),e}else i[r]=s;for(const m of Object.keys(i))n[m]=i[m];if(o&&"value"in i&&this.post("changed",{name:t,value:i.value}),n.customType)this.refresh();else switch(r){case"autoActivate":case"collapsed":case"visible":this.invalidate();break;default:this.invalidate(t)}}}assignItemsToElement(e,t,r){const s=this.getElement(e);let n=s.items||{};!1!==r&&(n={});for(const i in t)n[i]=t[i];s.items=n,"GeometryPicker"!==s.type&&"ItemPicker"!==s.type||delete s.state,this.invalidate(e)}assignElementItemProperty(e,t,r,s,n){const i=this.getElement(e);i.items[t][r]=sanitizeValue(r,s,n),this.refresh(e)}deriveLocale(){return this.state?.locale||super.deriveLocale()}dispose(){if(super.dispose()){const e=this.state;return void 0!==e&&null!==e&&e.completion.isPending()&&e.reject(new ActivityAbortedError),!0}return!1}load(e,t){t=super.load(e,t);if(t&&this.form?.elements)for(const s in this.form.elements){var r=this.form.elements[s];const n=this.getElementRegistration(r);n&&n.getInitialProperties&&(r={...r,...n.getInitialProperties()},this.form.elements[s]=r)}return t}isRelated(e){return this.state&&this.state.trivia&&this.state.trivia.isDescendantOf&&this.state.trivia.isDescendantOf(e.state)}getElement(e,t){let r;if(e){if("string"!=typeof e)return e;r=e}else t?.name&&(r=t.name);if(r){t=this.form.elements[r];if(!t)throw new FormElementNotFoundError(r);return t}throw new NoFormElementAvailableError}getElementName(e,t){if(e){if("string"==typeof e)return e;for(const r in this.form.elements)if(this.form.elements[r]===e)return r;throw new FormElementNotFoundError(e)}if(t?.name)return t.name;throw new NoFormElementAvailableError}getElementRegistration(e){return this.state?.trivia?.getFormElementRegistration?.(e.customType??e.type)}renderHtml(e,t){return super.renderHtml(this.getText(e),t)}renderText(e){return super.renderText(this.getText(e))}translateText(e){return super.translateText(this.getText(e))}filterItems(e,t){const r=this.find(e);if(void 0===r||null===r)return!1;var s=r.items;if(null==s)return!1;if("string"!=typeof t)return t;let n=!1;const i={};var o=t.toLowerCase().split(/\s+/);for(const l in s){var a=s[l];const f=this.renderText(a.label);var m=f.toLowerCase().split(/\s+/);for(const c of o)if(0<c.length)for(const u of m)0<u.length&&(0!==c.indexOf(u)&&0!==u.indexOf(c)||(n=!0,i[l]=a))}return r.items=i,this.invalidate(e),n}getText(e){if(void 0!==this.state){const r=this.state.environment.getText;if("function"==typeof r){if(text.isMarkdown(e))return{markdown:r(e.markdown)};if(text.isStatus(e))return{markdown:r(`@form-element-status-${e.status}`)};if(e&&"@"===e[0]){var t=r(e);if(t)return t}}}return e}renderCustom(e,t){if(e instanceof FormComponent)return renderElement(FormElementTypes.CUSTOM,e,t)}addElement(e,t,r){if(this.form.elements.hasOwnProperty(e))throw new Error(`Element already present: ${e}`);const s={};if("object"==typeof r)for(const n in r)s[n]=r[n];s.type=t;t=s.section;if(t){let e;if("object"==typeof t?e=t.name:"string"==typeof t&&(e=t),"header"===e||"footer"===e)throw new Error("Elements cannot be added to the header or footer.")}return this.form.elements[e]=s,this.invalidate(),s}}FormRenderer.type=guid+"FormRenderer";export{defs,FormRenderer};
1
+ import{ActivityAbortedError}from"../../Errors.js";import{FormHost,defs}from"../../forms/FormHost.js";import{FormElementTypes}from"../../forms/constants.js";import{BuiltInFormElements}from"../../forms/manifest.js";import{text}from"../../forms/utils.js";import{FormElementNotFoundError,NoFormElementAvailableError}from"./Errors.js";function toMarkdownRef(e,t){if("string"!=typeof t)return t;switch(e){case"description":case"error":case"itemLabel":case"label":case"title":return{markdown:t};default:return t}}const guid="F889738A-EBE2-4D52-8B46-3E24CC6E30F6:";class FormRenderer extends FormHost{static create(){return new this}static createCustom(){const e=new this;return e.custom=!0,e}static register(e){e.factories.push(e=>e===this.type?this:void 0)}addElement(e,t,r){if(this.form.elements.hasOwnProperty(e))throw new Error(`Element already present: ${e}`);const s={};if("object"==typeof r)for(const n in r)s[n]=r[n];s.type=t;t=s.section;if(t){let e;if("object"==typeof t?e=t.name:"string"==typeof t&&(e=t),"header"===e||"footer"===e)throw new Error("Elements cannot be added to the header or footer.")}return this.form.elements[e]=s,this.invalidate(),s}assignElementProperty(t,r,s,e=!1,n=!0){e&&(s=toMarkdownRef(r,s));const o=this.getElement(t);if(o[r]!==s){const i={},a=this.getElementRegistration(o);if(a?.onPropertyChange)try{const l=(e,t)=>{i[e]!==t&&(i[e]=t,a.onPropertyChange({properties:{...o,...i},property:e,setProperty:l}))};l(r,s)}catch(e){throw console.error(`Error setting element property.\nElement: "${t}"\nProperty: "${r}"\nValue: ${s}\n`,e),e}else i[r]=s;for(const m of Object.keys(i))o[m]=i[m];if(a&&"value"in i&&!1!==n&&(n={..."object"==typeof n?n:{},name:t,value:i.value},this.post("changed",n)),o.customType||BuiltInFormElements[o.type])this.refresh();else switch(r){case"autoActivate":case"collapsed":case"visible":this.invalidate();break;default:this.invalidate(t)}}}assignElementItemProperty(e,t,r,s,n){const o=this.getElement(e);o.items[t][r]=n?toMarkdownRef(r,s):s,this.refresh(e)}assignItemsToElement(e,t,r){const s=this.getElement(e);let n=s.items||{};!1!==r&&(n={});for(const o in t)n[o]=t[o];s.items=n,s.type!==FormElementTypes.GEOMETRYPICKER&&s.type!==FormElementTypes.ITEMPICKER||delete s.state,this.invalidate(e)}cancelTool(){}deriveLocale(){return this.state?.locale||super.deriveLocale()}dispose(){if(super.dispose()){const e=this.state;return void 0!==e&&null!==e&&e.completion.isPending()&&e.reject(new ActivityAbortedError),!0}return!1}filterItems(e,t){const r=this.find(e);if(void 0===r||null===r)return!1;var s=r.items;if(null==s)return!1;if("string"!=typeof t)return t;let n=!1;const o={};var i=t.toLowerCase().split(/\s+/);for(const m in s){var a=s[m];const f=this.renderText(a.label);var l=f.toLowerCase().split(/\s+/);for(const c of i)if(0<c.length)for(const h of l)0<h.length&&(0!==c.indexOf(h)&&0!==h.indexOf(c)||(n=!0,o[m]=a))}return r.items=o,this.invalidate(e),n}getElement(e,t){let r;if(e){if("string"!=typeof e)return e;r=e}else t?.name&&(r=t.name);if(r){t=this.form.elements[r];if(!t)throw new FormElementNotFoundError(r);return t}throw new NoFormElementAvailableError}getElementName(e,t){if(e){if("string"==typeof e)return e;for(const r in this.form.elements)if(this.form.elements[r]===e)return r;throw new FormElementNotFoundError(e)}if(t?.name)return t.name;throw new NoFormElementAvailableError}getElementRegistration(e){return this.state?.trivia?.getFormElementRegistration?.(e.customType??e.type)}getText(e){if(void 0!==this.state){const r=this.state.environment.getText;if("function"==typeof r){if(text.isMarkdown(e))return{markdown:r(e.markdown)};if(text.isStatus(e))return{markdown:r(`@form-element-status-${e.status}`)};if(e&&"@"===e[0]){var t=r(e);if(t)return t}}}return e}hideElement(e){e.visible=!1,this.invalidate()}isRelated(e){return this.state&&this.state.trivia&&this.state.trivia.isDescendantOf&&this.state.trivia.isDescendantOf(e.state)}load(e,t){t=super.load(e,t);if(t&&this.form?.elements)for(const s in this.form.elements){var r=this.form.elements[s];const n=this.getElementRegistration(r);n&&n.getInitialProperties&&(r={...r,...n.getInitialProperties()},this.form.elements[s]=r)}return t}renderHtml(e,t){return super.renderHtml(this.getText(e),t)}renderText(e){return super.renderText(this.getText(e))}setCurrentItem(e,t,r){const n=this.getElement(e);if(!n||!n.items)return!1;let s;switch(r){case"index":s=(e,t,r)=>{var s=Object.keys(n.items);return 0<s.length&&e===s[r]};break;case"item":s=(e,t,r)=>r===t;break;case"key":s=(e,t,r)=>r===e;break;case"label":s=(e,t,r)=>r===t.label;break;case"value":s=(e,t,r)=>r===t.value;break;default:throw new Error("Unsupported value for itemMatchType: "+r)}for(const o in n.items)if(s(o,n.items[o],t))return n.current=o,this.invalidate(e),this.cascade(e),!0;return!1}setElementError(e,t,r=!1){this.errors[e]=r?toMarkdownRef("error",t):t}showElement(e){e.visible=!0,this.invalidate()}spinNoBlock(){return this.spin()}translateText(e){return super.translateText(this.getText(e))}}FormRenderer.type=guid+"FormRenderer";export{defs,FormRenderer};
@@ -1,4 +1,4 @@
1
- import { IActivityHandler, IActivityContext, Deferrable, EmptyOutputs } from "../../IActivityHandler";
1
+ import { IActivityHandler, EmptyOutputs } from "../../IActivityHandler";
2
2
  import * as defs from "../../forms/FormDefinition";
3
3
  import { DisplayFormOutputs } from "./DisplayForm";
4
4
  export interface HideFormElementInputs {
@@ -9,5 +9,5 @@ export interface HideFormElementInputs {
9
9
  export declare class HideFormElement implements IActivityHandler {
10
10
  static readonly action = "gcx:wf:forms::HideFormElement";
11
11
  static readonly suite = "gcx:wf:builtin";
12
- execute(inputs: HideFormElementInputs, context: IActivityContext): Deferrable<EmptyOutputs>;
12
+ execute(inputs: HideFormElementInputs): EmptyOutputs;
13
13
  }
@@ -1 +1 @@
1
- import{validation}from"../../Validation.js";import{getFormForElement}from"./FormElementMap.js";class HideFormElement{execute(e,t){var m=e["elementName"];let o=e["form"];"object"==typeof m&&(o=getFormForElement(m)),validation.exists("form",o);m=o.actor.getElement(m,o.event);return o.actor.hideElement(m),{}}}HideFormElement.action="gcx:wf:forms::HideFormElement",HideFormElement.suite="gcx:wf:builtin";export{HideFormElement};
1
+ import{validation}from"../../Validation.js";import{getFormForElement}from"./FormElementMap.js";class HideFormElement{execute(e){var t=e["elementName"];let m=e["form"];"object"==typeof t&&(m=getFormForElement(t)),validation.exists("form",m);t=m.actor.getElement(t,m.event);return m.actor.hideElement(t),{}}}HideFormElement.action="gcx:wf:forms::HideFormElement",HideFormElement.suite="gcx:wf:builtin";export{HideFormElement};
@@ -1,4 +1,4 @@
1
- import { IActivityHandler, IActivityContext, Deferrable } from "../../IActivityHandler";
1
+ import { IActivityHandler } from "../../IActivityHandler";
2
2
  import * as defs from "../../forms/FormDefinition";
3
3
  import { DisplayFormOutputs } from "./DisplayForm";
4
4
  export interface SetCurrentFormElementItemInputs {
@@ -14,5 +14,5 @@ export interface SetCurrentFormElementItemOutputs {
14
14
  export declare class SetCurrentFormElementItem implements IActivityHandler {
15
15
  static readonly action = "gcx:wf:forms::SetCurrentFormElementItem";
16
16
  static readonly suite = "gcx:wf:builtin";
17
- execute(inputs: SetCurrentFormElementItemInputs, context: IActivityContext): Deferrable<SetCurrentFormElementItemOutputs>;
17
+ execute(inputs: SetCurrentFormElementItemInputs): SetCurrentFormElementItemOutputs;
18
18
  }
@@ -1 +1 @@
1
- import{validation}from"../../Validation.js";import{getFormForElement}from"./FormElementMap.js";class SetCurrentFormElementItem{execute(e,t){var{matchType:a,value:m}=e;let{elementName:r,form:n}=e;switch("object"==typeof r&&(n=getFormForElement(r)),validation.exists("form",n),validation.string("matchType",a,validation.never),validation.exists("value",m),a){case"index":case"item":case"key":case"label":case"value":break;default:validation.fail("matchOn",'The `matchOn` input must be "index", "item", "key", "label" or "value".')}e=n.actor.getElementName(r,n.event);return{result:n.actor.setCurrentItem(e,m,a)}}}SetCurrentFormElementItem.action="gcx:wf:forms::SetCurrentFormElementItem",SetCurrentFormElementItem.suite="gcx:wf:builtin";export{SetCurrentFormElementItem};
1
+ import{validation}from"../../Validation.js";import{getFormForElement}from"./FormElementMap.js";class SetCurrentFormElementItem{execute(e){var{matchType:t,value:a}=e;let{elementName:m,form:r}=e;switch("object"==typeof m&&(r=getFormForElement(m)),validation.exists("form",r),validation.string("matchType",t,validation.never),validation.exists("value",a),t){case"index":case"item":case"key":case"label":case"value":break;default:validation.fail("matchOn",'The `matchOn` input must be "index", "item", "key", "label" or "value".')}e=r.actor.getElementName(m,r.event);return{result:r.actor.setCurrentItem(e,a,t)}}}SetCurrentFormElementItem.action="gcx:wf:forms::SetCurrentFormElementItem",SetCurrentFormElementItem.suite="gcx:wf:builtin";export{SetCurrentFormElementItem};
@@ -1,4 +1,4 @@
1
- import { IActivityHandler, IActivityContext, Deferrable, EmptyOutputs } from "../../IActivityHandler";
1
+ import { IActivityHandler, EmptyOutputs } from "../../IActivityHandler";
2
2
  import * as defs from "../../forms/FormDefinition";
3
3
  import { DisplayFormOutputs } from "./DisplayForm";
4
4
  export interface SetFormElementErrorInputs {
@@ -13,5 +13,5 @@ export interface SetFormElementErrorInputs {
13
13
  export declare class SetFormElementError implements IActivityHandler {
14
14
  static readonly action = "gcx:wf:forms::SetFormElementError";
15
15
  static readonly suite = "gcx:wf:builtin";
16
- execute(inputs: SetFormElementErrorInputs, context: IActivityContext): Deferrable<EmptyOutputs>;
16
+ execute(inputs: SetFormElementErrorInputs): EmptyOutputs;
17
17
  }
@@ -1 +1 @@
1
- import{validation}from"../../Validation.js";import{getFormForElement}from"./FormElementMap.js";class SetFormElementError{execute(e,r){var t=e["error"];let{elementName:o,form:m}=e;"object"==typeof o&&(m=getFormForElement(o)),validation.exists("form",m);e=validation.boolean("markdown",e.markdown,!0);return o=m.actor.getElementName(o,m.event),m.actor.setElementError(o,t,e),{}}}SetFormElementError.action="gcx:wf:forms::SetFormElementError",SetFormElementError.suite="gcx:wf:builtin";export{SetFormElementError};
1
+ import{validation}from"../../Validation.js";import{getFormForElement}from"./FormElementMap.js";class SetFormElementError{execute(e){var r=e["error"];let{elementName:t,form:o}=e;"object"==typeof t&&(o=getFormForElement(t)),validation.exists("form",o);e=validation.boolean("markdown",e.markdown,!0);return t=o.actor.getElementName(t,o.event),o.actor.setElementError(t,r,e),{}}}SetFormElementError.action="gcx:wf:forms::SetFormElementError",SetFormElementError.suite="gcx:wf:builtin";export{SetFormElementError};
@@ -1,4 +1,4 @@
1
- import { IActivityHandler, IActivityContext, Deferrable, EmptyOutputs } from "../../IActivityHandler";
1
+ import { IActivityHandler, IActivityContext, EmptyOutputs } from "../../IActivityHandler";
2
2
  import { DisplayFormOutputs } from "./DisplayForm";
3
3
  export interface SetFormElementEventInputs {
4
4
  form: DisplayFormOutputs;
@@ -14,5 +14,5 @@ export interface SetFormElementEventInputs {
14
14
  export declare class SetFormElementEvent implements IActivityHandler {
15
15
  static readonly action = "gcx:wf:forms::SetFormElementEvent";
16
16
  static readonly suite = "gcx:wf:builtin";
17
- execute(inputs: SetFormElementEventInputs, context: IActivityContext): Deferrable<EmptyOutputs>;
17
+ execute(inputs: SetFormElementEventInputs, context: IActivityContext): EmptyOutputs;
18
18
  }
@@ -1,4 +1,4 @@
1
- import { IActivityHandler, IActivityContext, Deferrable, EmptyOutputs } from "../../IActivityHandler";
1
+ import { IActivityHandler, EmptyOutputs } from "../../IActivityHandler";
2
2
  import * as defs from "../../forms/FormDefinition";
3
3
  import { DisplayFormOutputs } from "./DisplayForm";
4
4
  export interface SetFormElementItemPropertyInputs {
@@ -17,5 +17,5 @@ export interface SetFormElementItemPropertyInputs {
17
17
  export declare class SetFormElementItemProperty implements IActivityHandler {
18
18
  static readonly action = "gcx:wf:forms::SetFormElementItemProperty";
19
19
  static readonly suite = "gcx:wf:builtin";
20
- execute(inputs: SetFormElementItemPropertyInputs, context: IActivityContext): Deferrable<EmptyOutputs>;
20
+ execute(inputs: SetFormElementItemPropertyInputs): EmptyOutputs;
21
21
  }
@@ -1 +1 @@
1
- import{validation}from"../../Validation.js";import{getFormForElement}from"./FormElementMap.js";class SetFormElementItemProperty{execute(e,t){var{propertyName:r,propertyValue:o,itemKey:m}=e;let{elementName:i,form:n}=e;"object"==typeof i&&(n=getFormForElement(i)),validation.exists("form",n),validation.exists("itemKey",m);let a=validation.string("itemKey",m,"");""===a&&(a=validation.number("itemKey",m,validation.never));m=a.toString(),e=validation.boolean("markdown",e.markdown,!0);return i=n.actor.getElementName(i,n.event),n.actor.assignElementItemProperty(i,m,r,o,e),{}}}SetFormElementItemProperty.action="gcx:wf:forms::SetFormElementItemProperty",SetFormElementItemProperty.suite="gcx:wf:builtin";export{SetFormElementItemProperty};
1
+ import{validation}from"../../Validation.js";import{getFormForElement}from"./FormElementMap.js";class SetFormElementItemProperty{execute(e){var{propertyName:t,propertyValue:r,itemKey:o}=e;let{elementName:m,form:i}=e;"object"==typeof m&&(i=getFormForElement(m)),validation.exists("form",i),validation.exists("itemKey",o);let n=validation.string("itemKey",o,"");""===n&&(n=validation.number("itemKey",o,validation.never));o=n.toString(),e=validation.boolean("markdown",e.markdown,!0);return m=i.actor.getElementName(m,i.event),i.actor.assignElementItemProperty(m,o,t,r,e),{}}}SetFormElementItemProperty.action="gcx:wf:forms::SetFormElementItemProperty",SetFormElementItemProperty.suite="gcx:wf:builtin";export{SetFormElementItemProperty};
@@ -1,5 +1,5 @@
1
1
  import { Lookup } from "../../Collections";
2
- import { IActivityHandler, IActivityContext, Deferrable, EmptyOutputs } from "../../IActivityHandler";
2
+ import { IActivityHandler, EmptyOutputs } from "../../IActivityHandler";
3
3
  import * as defs from "../../forms/FormDefinition";
4
4
  import { Item } from "../../forms/FormDefinition";
5
5
  import { DisplayFormOutputs } from "./DisplayForm";
@@ -15,5 +15,5 @@ export interface SetFormElementItemsInputs {
15
15
  export declare class SetFormElementItems implements IActivityHandler {
16
16
  static readonly action = "gcx:wf:forms::SetFormElementItems";
17
17
  static readonly suite = "gcx:wf:builtin";
18
- execute(inputs: SetFormElementItemsInputs, context: IActivityContext): Deferrable<EmptyOutputs>;
18
+ execute(inputs: SetFormElementItemsInputs): EmptyOutputs;
19
19
  }
@@ -1 +1 @@
1
- import{validation}from"../../Validation.js";import{getFormForElement}from"./FormElementMap.js";class SetFormElementItems{execute(e,t){var m=e["items"];let{elementName:o,form:r}=e;"object"==typeof o&&(r=getFormForElement(o)),validation.exists("form",r);e=validation.boolean("reset",e.reset,!0);return o=r.actor.getElementName(o,r.event),r.actor.assignItemsToElement(o,m,e),{}}}SetFormElementItems.action="gcx:wf:forms::SetFormElementItems",SetFormElementItems.suite="gcx:wf:builtin";export{SetFormElementItems};
1
+ import{validation}from"../../Validation.js";import{getFormForElement}from"./FormElementMap.js";class SetFormElementItems{execute(e){var t=e["items"];let{elementName:m,form:o}=e;"object"==typeof m&&(o=getFormForElement(m)),validation.exists("form",o);e=validation.boolean("reset",e.reset,!0);return m=o.actor.getElementName(m,o.event),o.actor.assignItemsToElement(m,t,e),{}}}SetFormElementItems.action="gcx:wf:forms::SetFormElementItems",SetFormElementItems.suite="gcx:wf:builtin";export{SetFormElementItems};