@esri/hub-common 14.98.0 → 14.99.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 (226) hide show
  1. package/dist/esm/core/EntityEditor.js +4 -0
  2. package/dist/esm/core/EntityEditor.js.map +1 -1
  3. package/dist/esm/core/fetchHubEntity.js +4 -0
  4. package/dist/esm/core/fetchHubEntity.js.map +1 -1
  5. package/dist/esm/core/getTypeFromEntity.js +3 -0
  6. package/dist/esm/core/getTypeFromEntity.js.map +1 -1
  7. package/dist/esm/core/schemas/internal/getEditorSchemas.js +10 -0
  8. package/dist/esm/core/schemas/internal/getEditorSchemas.js.map +1 -1
  9. package/dist/esm/core/schemas/types.js +2 -0
  10. package/dist/esm/core/schemas/types.js.map +1 -1
  11. package/dist/esm/core/types/HubEntityType.js +1 -0
  12. package/dist/esm/core/types/HubEntityType.js.map +1 -1
  13. package/dist/esm/core/types/IHubSurvey.js +1 -0
  14. package/dist/esm/core/types/IHubSurvey.js.map +1 -0
  15. package/dist/esm/core/types/index.js +1 -0
  16. package/dist/esm/core/types/index.js.map +1 -1
  17. package/dist/esm/discussions/HubDiscussion.js +1 -1
  18. package/dist/esm/discussions/api/settings/getDefaultEntitySettings.js +1 -0
  19. package/dist/esm/discussions/api/settings/getDefaultEntitySettings.js.map +1 -1
  20. package/dist/esm/index.js +1 -1
  21. package/dist/esm/index.js.map +1 -1
  22. package/dist/esm/permissions/HubPermissionPolicies.js +2 -0
  23. package/dist/esm/permissions/HubPermissionPolicies.js.map +1 -1
  24. package/dist/esm/permissions/types/Permission.js +2 -0
  25. package/dist/esm/permissions/types/Permission.js.map +1 -1
  26. package/dist/esm/sites/HubSites.js +1 -0
  27. package/dist/esm/sites/HubSites.js.map +1 -1
  28. package/dist/esm/sites/_internal/ensureBaseTelemetry.js +21 -0
  29. package/dist/esm/sites/_internal/ensureBaseTelemetry.js.map +1 -0
  30. package/dist/esm/sites/upgrade-site-schema.js +2 -0
  31. package/dist/esm/sites/upgrade-site-schema.js.map +1 -1
  32. package/dist/esm/surveys/HubSurvey.js +130 -0
  33. package/dist/esm/surveys/HubSurvey.js.map +1 -0
  34. package/dist/esm/surveys/_internal/SurveyBusinessRules.js +73 -0
  35. package/dist/esm/surveys/_internal/SurveyBusinessRules.js.map +1 -0
  36. package/dist/esm/surveys/_internal/SurveySchema.js +18 -0
  37. package/dist/esm/surveys/_internal/SurveySchema.js.map +1 -0
  38. package/dist/esm/surveys/_internal/SurveyUiSchemaEdit.js +108 -0
  39. package/dist/esm/surveys/_internal/SurveyUiSchemaEdit.js.map +1 -0
  40. package/dist/esm/surveys/_internal/SurveyUiSchemaSettings.js +60 -0
  41. package/dist/esm/surveys/_internal/SurveyUiSchemaSettings.js.map +1 -0
  42. package/dist/esm/surveys/_internal/computeProps.js +35 -0
  43. package/dist/esm/surveys/_internal/computeProps.js.map +1 -0
  44. package/dist/esm/surveys/_internal/getPropertyMap.js +12 -0
  45. package/dist/esm/surveys/_internal/getPropertyMap.js.map +1 -0
  46. package/dist/esm/surveys/constants.js +2 -0
  47. package/dist/esm/surveys/constants.js.map +1 -0
  48. package/dist/esm/surveys/defaults.js +9 -0
  49. package/dist/esm/surveys/defaults.js.map +1 -0
  50. package/dist/esm/surveys/edit.js +49 -0
  51. package/dist/esm/surveys/edit.js.map +1 -0
  52. package/dist/esm/surveys/fetch.js +45 -0
  53. package/dist/esm/surveys/fetch.js.map +1 -0
  54. package/dist/esm/surveys/index.js +6 -5
  55. package/dist/esm/surveys/index.js.map +1 -1
  56. package/dist/esm/surveys/types.js +1 -0
  57. package/dist/esm/surveys/types.js.map +1 -0
  58. package/dist/esm/surveys/utils/decode-form.js +35 -0
  59. package/dist/esm/surveys/utils/decode-form.js.map +1 -0
  60. package/dist/esm/surveys/utils/get-form-info-json.js +12 -0
  61. package/dist/esm/surveys/utils/get-form-info-json.js.map +1 -0
  62. package/dist/esm/surveys/utils/get-form-json.js +65 -0
  63. package/dist/esm/surveys/utils/get-form-json.js.map +1 -0
  64. package/dist/esm/surveys/utils/get-input-feature-service-model.js.map +1 -0
  65. package/dist/esm/surveys/utils/get-map-question.js +31 -0
  66. package/dist/esm/surveys/utils/get-map-question.js.map +1 -0
  67. package/dist/esm/surveys/utils/get-source-feature-service-model-from-fieldworker.js.map +1 -0
  68. package/dist/esm/surveys/utils/get-stakeholder-model.js.map +1 -0
  69. package/dist/esm/surveys/utils/get-survey-models.js.map +1 -0
  70. package/dist/esm/surveys/utils/has-map-question.js +11 -0
  71. package/dist/esm/surveys/utils/has-map-question.js.map +1 -0
  72. package/dist/esm/surveys/utils/index.js +16 -0
  73. package/dist/esm/surveys/utils/index.js.map +1 -0
  74. package/dist/esm/surveys/utils/is-fieldworker-view.js.map +1 -0
  75. package/dist/esm/surveys/utils/is-map-question.js +16 -0
  76. package/dist/esm/surveys/utils/is-map-question.js.map +1 -0
  77. package/dist/esm/surveys/utils/is-page-question.js +9 -0
  78. package/dist/esm/surveys/utils/is-page-question.js.map +1 -0
  79. package/dist/esm/surveys/utils/is-survey123-connect.js +16 -0
  80. package/dist/esm/surveys/utils/is-survey123-connect.js.map +1 -0
  81. package/dist/esm/surveys/utils/set-display-map-keyword.js +15 -0
  82. package/dist/esm/surveys/utils/set-display-map-keyword.js.map +1 -0
  83. package/dist/esm/surveys/utils/should-display-map.js +10 -0
  84. package/dist/esm/surveys/utils/should-display-map.js.map +1 -0
  85. package/dist/node/core/EntityEditor.js +4 -0
  86. package/dist/node/core/EntityEditor.js.map +1 -1
  87. package/dist/node/core/fetchHubEntity.js +4 -0
  88. package/dist/node/core/fetchHubEntity.js.map +1 -1
  89. package/dist/node/core/getTypeFromEntity.js +3 -0
  90. package/dist/node/core/getTypeFromEntity.js.map +1 -1
  91. package/dist/node/core/schemas/internal/getEditorSchemas.js +10 -0
  92. package/dist/node/core/schemas/internal/getEditorSchemas.js.map +1 -1
  93. package/dist/node/core/schemas/types.js +2 -0
  94. package/dist/node/core/schemas/types.js.map +1 -1
  95. package/dist/node/core/types/HubEntityType.js +1 -0
  96. package/dist/node/core/types/HubEntityType.js.map +1 -1
  97. package/dist/node/core/types/IHubSurvey.js +3 -0
  98. package/dist/node/core/types/IHubSurvey.js.map +1 -0
  99. package/dist/node/core/types/index.js +1 -0
  100. package/dist/node/core/types/index.js.map +1 -1
  101. package/dist/node/discussions/HubDiscussion.js +1 -1
  102. package/dist/node/discussions/api/settings/getDefaultEntitySettings.js +1 -0
  103. package/dist/node/discussions/api/settings/getDefaultEntitySettings.js.map +1 -1
  104. package/dist/node/index.js +1 -1
  105. package/dist/node/index.js.map +1 -1
  106. package/dist/node/permissions/HubPermissionPolicies.js +2 -0
  107. package/dist/node/permissions/HubPermissionPolicies.js.map +1 -1
  108. package/dist/node/permissions/types/Permission.js +2 -0
  109. package/dist/node/permissions/types/Permission.js.map +1 -1
  110. package/dist/node/sites/HubSites.js +1 -0
  111. package/dist/node/sites/HubSites.js.map +1 -1
  112. package/dist/node/sites/_internal/ensureBaseTelemetry.js +25 -0
  113. package/dist/node/sites/_internal/ensureBaseTelemetry.js.map +1 -0
  114. package/dist/node/sites/upgrade-site-schema.js +2 -0
  115. package/dist/node/sites/upgrade-site-schema.js.map +1 -1
  116. package/dist/node/surveys/HubSurvey.js +134 -0
  117. package/dist/node/surveys/HubSurvey.js.map +1 -0
  118. package/dist/node/surveys/_internal/SurveyBusinessRules.js +76 -0
  119. package/dist/node/surveys/_internal/SurveyBusinessRules.js.map +1 -0
  120. package/dist/node/surveys/_internal/SurveySchema.js +21 -0
  121. package/dist/node/surveys/_internal/SurveySchema.js.map +1 -0
  122. package/dist/node/surveys/_internal/SurveyUiSchemaEdit.js +111 -0
  123. package/dist/node/surveys/_internal/SurveyUiSchemaEdit.js.map +1 -0
  124. package/dist/node/surveys/_internal/SurveyUiSchemaSettings.js +63 -0
  125. package/dist/node/surveys/_internal/SurveyUiSchemaSettings.js.map +1 -0
  126. package/dist/node/surveys/_internal/computeProps.js +39 -0
  127. package/dist/node/surveys/_internal/computeProps.js.map +1 -0
  128. package/dist/node/surveys/_internal/getPropertyMap.js +16 -0
  129. package/dist/node/surveys/_internal/getPropertyMap.js.map +1 -0
  130. package/dist/node/surveys/constants.js +5 -0
  131. package/dist/node/surveys/constants.js.map +1 -0
  132. package/dist/node/surveys/defaults.js +12 -0
  133. package/dist/node/surveys/defaults.js.map +1 -0
  134. package/dist/node/surveys/edit.js +54 -0
  135. package/dist/node/surveys/edit.js.map +1 -0
  136. package/dist/node/surveys/fetch.js +50 -0
  137. package/dist/node/surveys/fetch.js.map +1 -0
  138. package/dist/node/surveys/index.js +6 -5
  139. package/dist/node/surveys/index.js.map +1 -1
  140. package/dist/node/surveys/types.js +3 -0
  141. package/dist/node/surveys/types.js.map +1 -0
  142. package/dist/node/surveys/utils/decode-form.js +38 -0
  143. package/dist/node/surveys/utils/decode-form.js.map +1 -0
  144. package/dist/node/surveys/utils/get-form-info-json.js +15 -0
  145. package/dist/node/surveys/utils/get-form-info-json.js.map +1 -0
  146. package/dist/node/surveys/utils/get-form-json.js +68 -0
  147. package/dist/node/surveys/utils/get-form-json.js.map +1 -0
  148. package/dist/node/surveys/utils/get-input-feature-service-model.js.map +1 -0
  149. package/dist/node/surveys/utils/get-map-question.js +34 -0
  150. package/dist/node/surveys/utils/get-map-question.js.map +1 -0
  151. package/dist/node/surveys/utils/get-source-feature-service-model-from-fieldworker.js.map +1 -0
  152. package/dist/node/surveys/utils/get-stakeholder-model.js.map +1 -0
  153. package/dist/node/surveys/utils/get-survey-models.js.map +1 -0
  154. package/dist/node/surveys/utils/has-map-question.js +14 -0
  155. package/dist/node/surveys/utils/has-map-question.js.map +1 -0
  156. package/dist/node/surveys/utils/index.js +19 -0
  157. package/dist/node/surveys/utils/index.js.map +1 -0
  158. package/dist/node/surveys/utils/is-fieldworker-view.js.map +1 -0
  159. package/dist/node/surveys/utils/is-map-question.js +19 -0
  160. package/dist/node/surveys/utils/is-map-question.js.map +1 -0
  161. package/dist/node/surveys/utils/is-page-question.js +12 -0
  162. package/dist/node/surveys/utils/is-page-question.js.map +1 -0
  163. package/dist/node/surveys/utils/is-survey123-connect.js +19 -0
  164. package/dist/node/surveys/utils/is-survey123-connect.js.map +1 -0
  165. package/dist/node/surveys/utils/set-display-map-keyword.js +19 -0
  166. package/dist/node/surveys/utils/set-display-map-keyword.js.map +1 -0
  167. package/dist/node/surveys/utils/should-display-map.js +13 -0
  168. package/dist/node/surveys/utils/should-display-map.js.map +1 -0
  169. package/dist/types/core/schemas/types.d.ts +17 -2
  170. package/dist/types/core/types/HubEntity.d.ts +2 -1
  171. package/dist/types/core/types/HubEntityType.d.ts +1 -1
  172. package/dist/types/core/types/IHubSurvey.d.ts +11 -0
  173. package/dist/types/core/types/index.d.ts +1 -0
  174. package/dist/types/index.d.ts +1 -1
  175. package/dist/types/permissions/types/Permission.d.ts +2 -1
  176. package/dist/types/sites/_internal/ensureBaseTelemetry.d.ts +9 -0
  177. package/dist/types/surveys/HubSurvey.d.ts +50 -0
  178. package/dist/types/surveys/_internal/SurveyBusinessRules.d.ts +12 -0
  179. package/dist/types/surveys/_internal/SurveySchema.d.ts +7 -0
  180. package/dist/types/surveys/_internal/SurveyUiSchemaEdit.d.ts +10 -0
  181. package/dist/types/surveys/_internal/SurveyUiSchemaSettings.d.ts +10 -0
  182. package/dist/types/surveys/_internal/computeProps.d.ts +12 -0
  183. package/dist/types/surveys/_internal/getPropertyMap.d.ts +8 -0
  184. package/dist/types/surveys/constants.d.ts +1 -0
  185. package/dist/types/surveys/defaults.d.ts +3 -0
  186. package/dist/types/surveys/edit.d.ts +17 -0
  187. package/dist/types/surveys/fetch.d.ts +20 -0
  188. package/dist/types/surveys/index.d.ts +6 -5
  189. package/dist/types/surveys/types.d.ts +15 -0
  190. package/dist/types/surveys/utils/decode-form.d.ts +8 -0
  191. package/dist/types/surveys/utils/get-form-info-json.d.ts +9 -0
  192. package/dist/types/surveys/utils/get-form-json.d.ts +8 -0
  193. package/dist/types/surveys/{get-input-feature-service-model.d.ts → utils/get-input-feature-service-model.d.ts} +1 -1
  194. package/dist/types/surveys/utils/get-map-question.d.ts +7 -0
  195. package/dist/types/surveys/{get-source-feature-service-model-from-fieldworker.d.ts → utils/get-source-feature-service-model-from-fieldworker.d.ts} +1 -1
  196. package/dist/types/surveys/{get-stakeholder-model.d.ts → utils/get-stakeholder-model.d.ts} +1 -1
  197. package/dist/types/surveys/{get-survey-models.d.ts → utils/get-survey-models.d.ts} +1 -1
  198. package/dist/types/surveys/utils/has-map-question.d.ts +8 -0
  199. package/dist/types/surveys/utils/index.d.ts +15 -0
  200. package/dist/types/surveys/utils/is-map-question.d.ts +7 -0
  201. package/dist/types/surveys/utils/is-page-question.d.ts +7 -0
  202. package/dist/types/surveys/utils/is-survey123-connect.d.ts +8 -0
  203. package/dist/types/surveys/utils/set-display-map-keyword.d.ts +7 -0
  204. package/dist/types/surveys/utils/should-display-map.d.ts +7 -0
  205. package/package.json +1 -1
  206. package/dist/esm/surveys/get-input-feature-service-model.js.map +0 -1
  207. package/dist/esm/surveys/get-source-feature-service-model-from-fieldworker.js.map +0 -1
  208. package/dist/esm/surveys/get-stakeholder-model.js.map +0 -1
  209. package/dist/esm/surveys/get-survey-models.js.map +0 -1
  210. package/dist/esm/surveys/is-fieldworker-view.js.map +0 -1
  211. package/dist/node/surveys/get-input-feature-service-model.js.map +0 -1
  212. package/dist/node/surveys/get-source-feature-service-model-from-fieldworker.js.map +0 -1
  213. package/dist/node/surveys/get-stakeholder-model.js.map +0 -1
  214. package/dist/node/surveys/get-survey-models.js.map +0 -1
  215. package/dist/node/surveys/is-fieldworker-view.js.map +0 -1
  216. /package/dist/esm/surveys/{get-input-feature-service-model.js → utils/get-input-feature-service-model.js} +0 -0
  217. /package/dist/esm/surveys/{get-source-feature-service-model-from-fieldworker.js → utils/get-source-feature-service-model-from-fieldworker.js} +0 -0
  218. /package/dist/esm/surveys/{get-stakeholder-model.js → utils/get-stakeholder-model.js} +0 -0
  219. /package/dist/esm/surveys/{get-survey-models.js → utils/get-survey-models.js} +0 -0
  220. /package/dist/esm/surveys/{is-fieldworker-view.js → utils/is-fieldworker-view.js} +0 -0
  221. /package/dist/node/surveys/{get-input-feature-service-model.js → utils/get-input-feature-service-model.js} +0 -0
  222. /package/dist/node/surveys/{get-source-feature-service-model-from-fieldworker.js → utils/get-source-feature-service-model-from-fieldworker.js} +0 -0
  223. /package/dist/node/surveys/{get-stakeholder-model.js → utils/get-stakeholder-model.js} +0 -0
  224. /package/dist/node/surveys/{get-survey-models.js → utils/get-survey-models.js} +0 -0
  225. /package/dist/node/surveys/{is-fieldworker-view.js → utils/is-fieldworker-view.js} +0 -0
  226. /package/dist/types/surveys/{is-fieldworker-view.d.ts → utils/is-fieldworker-view.d.ts} +0 -0
@@ -1,9 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
- tslib_1.__exportStar(require("./get-input-feature-service-model"), exports);
5
- tslib_1.__exportStar(require("./get-source-feature-service-model-from-fieldworker"), exports);
6
- tslib_1.__exportStar(require("./get-stakeholder-model"), exports);
7
- tslib_1.__exportStar(require("./get-survey-models"), exports);
8
- tslib_1.__exportStar(require("./is-fieldworker-view"), exports);
4
+ tslib_1.__exportStar(require("./HubSurvey"), exports);
5
+ tslib_1.__exportStar(require("./edit"), exports);
6
+ tslib_1.__exportStar(require("./fetch"), exports);
7
+ tslib_1.__exportStar(require("./constants"), exports);
8
+ tslib_1.__exportStar(require("./types"), exports);
9
+ tslib_1.__exportStar(require("./utils"), exports);
9
10
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/surveys/index.ts"],"names":[],"mappings":";;;AAAA,4EAAkD;AAClD,8FAAoE;AACpE,kEAAwC;AACxC,8DAAoC;AACpC,gEAAsC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/surveys/index.ts"],"names":[],"mappings":";;;AAAA,sDAA4B;AAC5B,iDAAuB;AACvB,kDAAwB;AACxB,sDAA4B;AAC5B,kDAAwB;AACxB,kDAAwB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/surveys/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.decodeForm = void 0;
4
+ const get_prop_1 = require("../../objects/get-prop");
5
+ const set_prop_1 = require("../../objects/set-prop");
6
+ const util_1 = require("../../util");
7
+ const is_page_question_1 = require("./is-page-question");
8
+ /**
9
+ * Decodes certain properties of the Survey Form json into html
10
+ * @param {IS123FormJSON} form
11
+ */
12
+ exports.decodeForm = (form) => {
13
+ const target = util_1.cloneObject(form);
14
+ const props = [
15
+ "header.content",
16
+ "subHeader.content",
17
+ "footer.content",
18
+ "settings.thankYouScreenContent",
19
+ ];
20
+ props.forEach((prop) => {
21
+ if (get_prop_1.getProp(target, prop)) {
22
+ set_prop_1.setProp(prop, decodeURIComponent(get_prop_1.getProp(target, prop)), target);
23
+ }
24
+ });
25
+ const toDecoded = (question) => {
26
+ const decode = (q) => {
27
+ if (q.description) {
28
+ q.description = decodeURIComponent(q.description);
29
+ }
30
+ return q;
31
+ };
32
+ return !is_page_question_1.isPageQuestion(question)
33
+ ? decode(question)
34
+ : Object.assign(Object.assign({}, question), { questions: question.questions.map(decode) });
35
+ };
36
+ return Object.assign(Object.assign({}, target), { questions: (target.questions || []).map(toDecoded) });
37
+ };
38
+ //# sourceMappingURL=decode-form.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decode-form.js","sourceRoot":"","sources":["../../../../src/surveys/utils/decode-form.ts"],"names":[],"mappings":";;;AAAA,qDAAiD;AACjD,qDAAiD;AACjD,qCAAyC;AAEzC,yDAAoD;AAEpD;;;GAGG;AACU,QAAA,UAAU,GAAG,CAAC,IAAmB,EAAE,EAAE;IAChD,MAAM,MAAM,GAAG,kBAAW,CAAC,IAAI,CAAC,CAAC;IACjC,MAAM,KAAK,GAAG;QACZ,gBAAgB;QAChB,mBAAmB;QACnB,gBAAgB;QAChB,gCAAgC;KACjC,CAAC;IACF,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACrB,IAAI,kBAAO,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE;YACzB,kBAAO,CAAC,IAAI,EAAE,kBAAkB,CAAC,kBAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;SAClE;IACH,CAAC,CAAC,CAAC;IACH,MAAM,SAAS,GAAG,CAAC,QAAuB,EAAE,EAAE;QAC5C,MAAM,MAAM,GAAG,CAAC,CAAgB,EAAE,EAAE;YAClC,IAAI,CAAC,CAAC,WAAW,EAAE;gBACjB,CAAC,CAAC,WAAW,GAAG,kBAAkB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;aACnD;YACD,OAAO,CAAC,CAAC;QACX,CAAC,CAAC;QACF,OAAO,CAAC,iCAAc,CAAC,QAAQ,CAAC;YAC9B,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;YAClB,CAAC,iCAAM,QAAQ,KAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,GAAE,CAAC;IACjE,CAAC,CAAC;IACF,uCACK,MAAM,KACT,SAAS,EAAE,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,IAClD;AACJ,CAAC,CAAC"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getFormInfoJson = void 0;
4
+ const arcgis_rest_portal_1 = require("@esri/arcgis-rest-portal");
5
+ /**
6
+ * This returns the /info/forminfo.json which simply has the form name and type.
7
+ * We need the name so we can make the getFormInfo call
8
+ * @param {string} id
9
+ * @param {IRequestOptions} requestOptions
10
+ * @returns {Promise}
11
+ */
12
+ exports.getFormInfoJson = (id, requestOptions) => {
13
+ return arcgis_rest_portal_1.getItemInfo(id, Object.assign({ fileName: "forminfo.json", readAs: "json" }, requestOptions));
14
+ };
15
+ //# sourceMappingURL=get-form-info-json.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-form-info-json.js","sourceRoot":"","sources":["../../../../src/surveys/utils/get-form-info-json.ts"],"names":[],"mappings":";;;AAAA,iEAAuD;AAGvD;;;;;;GAMG;AACU,QAAA,eAAe,GAAG,CAC7B,EAAU,EACV,cAA+B,EAC/B,EAAE;IACF,OAAO,gCAAW,CAAC,EAAE,kBACnB,QAAQ,EAAE,eAAe,EACzB,MAAM,EAAE,MAAM,IACX,cAAc,EACjB,CAAC;AACL,CAAC,CAAC"}
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getFormJson = void 0;
4
+ const arcgis_rest_portal_1 = require("@esri/arcgis-rest-portal");
5
+ const get_form_info_json_1 = require("./get-form-info-json");
6
+ const is_survey123_connect_1 = require("./is-survey123-connect");
7
+ const decode_form_1 = require("./decode-form");
8
+ /**
9
+ * Given a Survey Item, return the form json, if it exists.
10
+ * @param {IItem} the survey item
11
+ * @param {IGetItemInfoOptions} requestOptions
12
+ * @returns {Promise}
13
+ */
14
+ exports.getFormJson = async (item, requestOptions) => {
15
+ const { name } = await get_form_info_json_1.getFormInfoJson(item.id, requestOptions);
16
+ let promise;
17
+ if (is_survey123_connect_1.isSurvey123Connect(item)) {
18
+ // survey123 connect does not have a <name>.json file, instead
19
+ // that configuration is split between <name>.webform & <name>.info
20
+ promise = Promise.all([
21
+ arcgis_rest_portal_1.getItemInfo(item.id, Object.assign({ fileName: `${name}.webform`, readAs: "json" }, requestOptions)),
22
+ arcgis_rest_portal_1.getItemInfo(item.id, Object.assign({ fileName: `${name}.info`, readAs: "json" }, requestOptions)),
23
+ ]).then(([webform, info]) => {
24
+ // webform contains questions
25
+ const { surveyFormJson = {} } = webform;
26
+ // other settings come from info
27
+ // const { webformInfo: { settings } } = info;
28
+ const {
29
+ // webformInfo only exists if settings have been
30
+ // managed/changed from the s123 web application.
31
+ // Disabling survey submissions from the ArcGISSurvey123Connect
32
+ // desktop application does not disable survey submissions from
33
+ // the web UI. Therefore, just default to open when the survey settings
34
+ // have not been changed from the s123 web application.
35
+ webformInfo = {
36
+ settings: {
37
+ openStatusInfo: {
38
+ status: "open",
39
+ schedule: {
40
+ end: null,
41
+ status: null,
42
+ },
43
+ },
44
+ multiSubmissionInfo: {
45
+ maxAllowed: 0,
46
+ },
47
+ },
48
+ }, } = info;
49
+ const { settings } = webformInfo;
50
+ // combine relevant parts
51
+ return Object.assign(Object.assign({}, surveyFormJson), { settings });
52
+ });
53
+ }
54
+ else {
55
+ promise = arcgis_rest_portal_1.getItemInfo(item.id, Object.assign({ fileName: `${name}.json`, readAs: "json" }, requestOptions));
56
+ }
57
+ return promise.then((form) => {
58
+ // response may be null... so check...
59
+ if (form) {
60
+ // form's have some properties which may contain html, these will
61
+ // be run thru encodeURIComponent, so we decode it here for use
62
+ // in our template
63
+ form = decode_form_1.decodeForm(form);
64
+ }
65
+ return form;
66
+ });
67
+ };
68
+ //# sourceMappingURL=get-form-json.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-form-json.js","sourceRoot":"","sources":["../../../../src/surveys/utils/get-form-json.ts"],"names":[],"mappings":";;;AAAA,iEAIkC;AAClC,6DAAuD;AACvD,iEAA4D;AAC5D,+CAA2C;AAE3C;;;;;GAKG;AACU,QAAA,WAAW,GAAG,KAAK,EAC9B,IAAW,EACX,cAAmC,EACnC,EAAE;IACF,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,oCAAe,CAAC,IAAI,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC;IAChE,IAAI,OAAO,CAAC;IACZ,IAAI,yCAAkB,CAAC,IAAI,CAAC,EAAE;QAC5B,8DAA8D;QAC9D,mEAAmE;QACnE,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC;YACpB,gCAAW,CAAC,IAAI,CAAC,EAAE,kBACjB,QAAQ,EAAE,GAAG,IAAI,UAAU,EAC3B,MAAM,EAAE,MAAM,IACX,cAAc,EACjB;YACF,gCAAW,CAAC,IAAI,CAAC,EAAE,kBACjB,QAAQ,EAAE,GAAG,IAAI,OAAO,EACxB,MAAM,EAAE,MAAM,IACX,cAAc,EACjB;SACH,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE;YAC1B,6BAA6B;YAC7B,MAAM,EAAE,cAAc,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC;YACxC,gCAAgC;YAChC,8CAA8C;YAC9C,MAAM;YACJ,gDAAgD;YAChD,iDAAiD;YACjD,+DAA+D;YAC/D,+DAA+D;YAC/D,uEAAuE;YACvE,uDAAuD;YACvD,WAAW,GAAG;gBACZ,QAAQ,EAAE;oBACR,cAAc,EAAE;wBACd,MAAM,EAAE,MAAM;wBACd,QAAQ,EAAE;4BACR,GAAG,EAAE,IAAI;4BACT,MAAM,EAAE,IAAI;yBACb;qBACF;oBACD,mBAAmB,EAAE;wBACnB,UAAU,EAAE,CAAC;qBACd;iBACF;aACF,GACF,GAAG,IAAI,CAAC;YACT,MAAM,EAAE,QAAQ,EAAE,GAAG,WAAW,CAAC;YACjC,yBAAyB;YACzB,uCAAY,cAAc,KAAE,QAAQ,IAAG;QACzC,CAAC,CAAC,CAAC;KACJ;SAAM;QACL,OAAO,GAAG,gCAAW,CAAC,IAAI,CAAC,EAAE,kBAC3B,QAAQ,EAAE,GAAG,IAAI,OAAO,EACxB,MAAM,EAAE,MAAM,IACX,cAAc,EACjB,CAAC;KACJ;IAED,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;QAC3B,sCAAsC;QACtC,IAAI,IAAI,EAAE;YACR,iEAAiE;YACjE,+DAA+D;YAC/D,kBAAkB;YAClB,IAAI,GAAG,wBAAU,CAAC,IAAI,CAAC,CAAC;SACzB;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;AACL,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-input-feature-service-model.js","sourceRoot":"","sources":["../../../../src/surveys/utils/get-input-feature-service-model.ts"],"names":[],"mappings":";AAAA;gBACgB;;;AAGhB,iEAA2D;AAG3D;;;;;;;GAOG;AACU,QAAA,2BAA2B,GAAG,CACzC,MAAc,EACd,cAA+B,EACd,EAAE;IACnB,OAAO,oCAAe,iBACpB,EAAE,EAAE,MAAM,EACV,gBAAgB,EAAE,gBAAgB,EAClC,SAAS,EAAE,SAAS,IACjB,cAAc,EACjB,CAAC,IAAI,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE;QAC7C,IAAI,KAAK,CAAC;QACV,IAAI,cAAc,EAAE;YAClB,KAAK,GAAG,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;SAClC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CAAC;AACL,CAAC,CAAC"}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getMapQuestion = void 0;
4
+ const is_map_question_1 = require("./is-map-question");
5
+ const is_page_question_1 = require("./is-page-question");
6
+ /**
7
+ * Gets the map question from an Array of questions
8
+ * @param {Array} questions An array of questions
9
+ * @returns {Object}
10
+ */
11
+ exports.getMapQuestion = (questions) => {
12
+ const [head, ...tail] = questions;
13
+ return getMapQuestionRecur(head, tail);
14
+ };
15
+ const getMapQuestionRecur = (head, tail) => {
16
+ let result;
17
+ if (!head) {
18
+ result = null;
19
+ }
20
+ else if (is_map_question_1.isMapQuestion(head)) {
21
+ result = head;
22
+ }
23
+ else {
24
+ if (is_page_question_1.isPageQuestion(head)) {
25
+ result = exports.getMapQuestion(head.questions);
26
+ }
27
+ if (!result && tail.length) {
28
+ const [h, ...t] = tail;
29
+ result = getMapQuestionRecur(h, t);
30
+ }
31
+ }
32
+ return result;
33
+ };
34
+ //# sourceMappingURL=get-map-question.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-map-question.js","sourceRoot":"","sources":["../../../../src/surveys/utils/get-map-question.ts"],"names":[],"mappings":";;;AACA,uDAAkD;AAClD,yDAAoD;AAEpD;;;;GAIG;AACU,QAAA,cAAc,GAAG,CAAC,SAA0B,EAAiB,EAAE;IAC1E,MAAM,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,SAAS,CAAC;IAClC,OAAO,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AACzC,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAAC,IAAmB,EAAE,IAAS,EAAiB,EAAE;IAC5E,IAAI,MAAM,CAAC;IACX,IAAI,CAAC,IAAI,EAAE;QACT,MAAM,GAAG,IAAI,CAAC;KACf;SAAM,IAAI,+BAAa,CAAC,IAAI,CAAC,EAAE;QAC9B,MAAM,GAAG,IAAI,CAAC;KACf;SAAM;QACL,IAAI,iCAAc,CAAC,IAAI,CAAC,EAAE;YACxB,MAAM,GAAG,sBAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SACzC;QACD,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,EAAE;YAC1B,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC;YACvB,MAAM,GAAG,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SACpC;KACF;IACD,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-source-feature-service-model-from-fieldworker.js","sourceRoot":"","sources":["../../../../src/surveys/utils/get-source-feature-service-model-from-fieldworker.ts"],"names":[],"mappings":";AAAA;gBACgB;;;AAGhB,iEAA2D;AAG3D;;;;;;GAMG;AACU,QAAA,2CAA2C,GAAG,CACzD,aAAqB,EACrB,cAA+B,EACd,EAAE;IACnB,OAAO,oCAAe,iBACpB,EAAE,EAAE,aAAa,EACjB,gBAAgB,EAAE,cAAc,EAChC,SAAS,EAAE,SAAS,IACjB,cAAc,EACjB,CAAC,IAAI,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE;QAC7C,IAAI,KAAK,CAAC;QACV,IAAI,cAAc,EAAE;YAClB,KAAK,GAAG,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;SAClC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CAAC;AACL,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-stakeholder-model.js","sourceRoot":"","sources":["../../../../src/surveys/utils/get-stakeholder-model.ts"],"names":[],"mappings":";AAAA;gBACgB;;;AAGhB,iEAA2D;AAG3D;;;;;;GAMG;AACU,QAAA,mBAAmB,GAAG,CACjC,MAAc,EACd,cAA+B,EACd,EAAE;IACnB,OAAO,oCAAe,iBACpB,EAAE,EAAE,MAAM,EACV,gBAAgB,EAAE,aAAa,EAC/B,SAAS,EAAE,SAAS,IACjB,cAAc,EACjB,CAAC,IAAI,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE;QAC9C,IAAI,KAAK,CAAC;QACV,IAAI,eAAe,EAAE;YACnB,KAAK,GAAG,EAAE,IAAI,EAAE,eAAe,EAAY,CAAC;SAC7C;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CAAC;AACL,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-survey-models.js","sourceRoot":"","sources":["../../../../src/surveys/utils/get-survey-models.ts"],"names":[],"mappings":";AAAA;gBACgB;;;AAGhB,iEAA0D;AAE1D,uFAAgF;AAChF,2HAAkH;AAClH,mEAA8D;AAC9D,+DAA0D;AAE1D;;;;;GAKG;AACU,QAAA,eAAe,GAAG,CAC7B,YAA4B,EAC5B,cAA+B,EACI,EAAE;IACrC,IAAI,WAAmB,CAAC;IACxB,IAAI,WAAmB,CAAC;IAExB,MAAM,OAAO,GAAG,GAAG,EAAE,CACnB,OAAO,YAAY,KAAK,QAAQ;QAC9B,CAAC,CAAC,4BAAO,CAAC,YAAY,EAAE,cAAc,CAAC;QACvC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAEpC,OAAO,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;QAC7B,MAAM,QAAQ,GAA2B;YACvC,sEAAsE;YACtE,8BAA8B;YAC9B,6DAA2B,CAAC,IAAI,CAAC,EAAE,EAAE,cAAc,CAAC;YACpD,2CAAmB,CAAC,IAAI,CAAC,EAAE,EAAE,cAAc,CAAC;SAC7C,CAAC;QAEF,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;aACzB,IAAI,CAAC,CAAC,CAAC,sCAAsC,EAAE,iBAAiB,CAAC,EAAE,EAAE;YACpE,WAAW,GAAG,iBAAiB,CAAC;YAEhC,IACE,sCAAsC;gBACtC,uCAAiB,CAAC,sCAAsC,CAAC,IAAI,CAAC,EAC9D;gBACA,WAAW,GAAG,sCAAsC,CAAC;gBACrD,iDAAiD;gBACjD,6BAA6B;gBAC7B,OAAO,+FAA2C,CAChD,WAAW,CAAC,IAAI,CAAC,EAAE,EACnB,cAAc,CACf,CAAC;aACH;iBAAM;gBACL,OAAO,sCAAsC,CAAC;aAC/C;QACH,CAAC,CAAC;aACD,IAAI,CAAC,CAAC,cAAc,EAAE,EAAE;YACvB,OAAO;gBACL,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;gBACpB,cAAc;gBACd,WAAW;gBACX,WAAW;aACZ,CAAC;QACJ,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACL,CAAC,CAAC"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.hasMapQuestion = void 0;
4
+ const get_map_question_1 = require("./get-map-question");
5
+ /**
6
+ * Determines if the given Array of questions contains
7
+ * a map question
8
+ * @param {Array} questions An array of questions
9
+ * @returns {boolean}
10
+ */
11
+ exports.hasMapQuestion = (questions) => {
12
+ return Boolean(get_map_question_1.getMapQuestion(questions));
13
+ };
14
+ //# sourceMappingURL=has-map-question.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"has-map-question.js","sourceRoot":"","sources":["../../../../src/surveys/utils/has-map-question.ts"],"names":[],"mappings":";;;AACA,yDAAoD;AAEpD;;;;;GAKG;AACU,QAAA,cAAc,GAAG,CAAC,SAA0B,EAAE,EAAE;IAC3D,OAAO,OAAO,CAAC,iCAAc,CAAC,SAAS,CAAC,CAAC,CAAC;AAC5C,CAAC,CAAC"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./decode-form"), exports);
5
+ tslib_1.__exportStar(require("./get-form-info-json"), exports);
6
+ tslib_1.__exportStar(require("./get-form-json"), exports);
7
+ tslib_1.__exportStar(require("./get-input-feature-service-model"), exports);
8
+ tslib_1.__exportStar(require("./get-map-question"), exports);
9
+ tslib_1.__exportStar(require("./get-source-feature-service-model-from-fieldworker"), exports);
10
+ tslib_1.__exportStar(require("./get-stakeholder-model"), exports);
11
+ tslib_1.__exportStar(require("./get-survey-models"), exports);
12
+ tslib_1.__exportStar(require("./has-map-question"), exports);
13
+ tslib_1.__exportStar(require("./is-fieldworker-view"), exports);
14
+ tslib_1.__exportStar(require("./is-map-question"), exports);
15
+ tslib_1.__exportStar(require("./is-page-question"), exports);
16
+ tslib_1.__exportStar(require("./is-survey123-connect"), exports);
17
+ tslib_1.__exportStar(require("./set-display-map-keyword"), exports);
18
+ tslib_1.__exportStar(require("./should-display-map"), exports);
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/surveys/utils/index.ts"],"names":[],"mappings":";;;AAAA,wDAA8B;AAC9B,+DAAqC;AACrC,0DAAgC;AAChC,4EAAkD;AAClD,6DAAmC;AACnC,8FAAoE;AACpE,kEAAwC;AACxC,8DAAoC;AACpC,6DAAmC;AACnC,gEAAsC;AACtC,4DAAkC;AAClC,6DAAmC;AACnC,iEAAuC;AACvC,oEAA0C;AAC1C,+DAAqC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is-fieldworker-view.js","sourceRoot":"","sources":["../../../../src/surveys/utils/is-fieldworker-view.ts"],"names":[],"mappings":";;;AAEA;;;;;GAKG;AACH,SAAgB,iBAAiB,CAAC,kBAAyB;IACzD,MAAM,cAAc,GAAG,CAAC,WAAmB,EAAW,EAAE,CACtD,kBAAkB,CAAC,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;IAE5D,kEAAkE;IAClE,IAAI,aAAa,GAAG,cAAc,CAAC,iBAAiB,CAAC,CAAC;IAEtD,wDAAwD;IACxD,IAAI,CAAC,aAAa,EAAE;QAClB,MAAM,uBAAuB,GAAG;YAC9B,WAAW;YACX,iBAAiB;YACjB,cAAc;SACf,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QACxB,aAAa;YACX,uBAAuB,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC;KACjE;IAED,OAAO,aAAa,CAAC;AACvB,CAAC;AAnBD,8CAmBC"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isMapQuestion = void 0;
4
+ /**
5
+ * Determines if the given question is a map question
6
+ * @param {Object} question A question object
7
+ * @returns {boolean}
8
+ */
9
+ exports.isMapQuestion = (question) => {
10
+ const { type, maps = [], defaultMap } = question;
11
+ const types = [
12
+ "esriQuestionTypeGeoPoint",
13
+ "esriQuestionTypePolyline",
14
+ "esriQuestionTypePolygon",
15
+ ];
16
+ const isType = types.includes(type);
17
+ return isType && (maps.length > 0 || defaultMap);
18
+ };
19
+ //# sourceMappingURL=is-map-question.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is-map-question.js","sourceRoot":"","sources":["../../../../src/surveys/utils/is-map-question.ts"],"names":[],"mappings":";;;AAEA;;;;GAIG;AACU,QAAA,aAAa,GAAG,CAAC,QAAuB,EAAE,EAAE;IACvD,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG,EAAE,EAAE,UAAU,EAAE,GAAG,QAAQ,CAAC;IACjD,MAAM,KAAK,GAAG;QACZ,0BAA0B;QAC1B,0BAA0B;QAC1B,yBAAyB;KAC1B,CAAC;IACF,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACpC,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,UAAU,CAAC,CAAC;AACnD,CAAC,CAAC"}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isPageQuestion = void 0;
4
+ /**
5
+ * Determines if the given question is actually a page of questions
6
+ * @param {Object} question A question object
7
+ * @returns {boolean}
8
+ */
9
+ exports.isPageQuestion = (question) => {
10
+ return question.type === "esriQuestionTypePage";
11
+ };
12
+ //# sourceMappingURL=is-page-question.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is-page-question.js","sourceRoot":"","sources":["../../../../src/surveys/utils/is-page-question.ts"],"names":[],"mappings":";;;AAEA;;;;GAIG;AACU,QAAA,cAAc,GAAG,CAAC,QAAuB,EAAE,EAAE;IACxD,OAAO,QAAQ,CAAC,IAAI,KAAK,sBAAsB,CAAC;AAClD,CAAC,CAAC"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isSurvey123Connect = void 0;
4
+ /**
5
+ * Returns true if the given Form item is a Survey123 Connect
6
+ * survey
7
+ * @param {IItem} formItem The Form item
8
+ * @returns {boolean}
9
+ */
10
+ exports.isSurvey123Connect = (formItem) => {
11
+ var _a;
12
+ const results = false;
13
+ if (formItem) {
14
+ const typeKeywords = (_a = formItem.typeKeywords) !== null && _a !== void 0 ? _a : [];
15
+ return typeKeywords.includes("Survey123 Connect");
16
+ }
17
+ return results;
18
+ };
19
+ //# sourceMappingURL=is-survey123-connect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is-survey123-connect.js","sourceRoot":"","sources":["../../../../src/surveys/utils/is-survey123-connect.ts"],"names":[],"mappings":";;;AAEA;;;;;GAKG;AACU,QAAA,kBAAkB,GAAG,CAAC,QAAe,EAAE,EAAE;;IACpD,MAAM,OAAO,GAAG,KAAK,CAAC;IACtB,IAAI,QAAQ,EAAE;QACZ,MAAM,YAAY,SAAG,QAAQ,CAAC,YAAY,mCAAI,EAAE,CAAC;QACjD,OAAO,YAAY,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;KACnD;IACD,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.setDisplayMapKeyword = void 0;
4
+ const constants_1 = require("../constants");
5
+ /**
6
+ * Adds or removes MAP_SURVEY_TYPEKEYWORD type keyword and returns the updated list
7
+ * @param {IGroup|IHubContent|IHubItemEntity} subject
8
+ * @param {boolean} displayMap
9
+ * @returns {string[]} updated list of type keywords
10
+ */
11
+ function setDisplayMapKeyword(typeKeywords, displayMap) {
12
+ const updatedTypeKeywords = (typeKeywords || []).filter((typeKeyword) => typeKeyword !== constants_1.MAP_SURVEY_TYPEKEYWORD);
13
+ if (displayMap) {
14
+ updatedTypeKeywords.push(constants_1.MAP_SURVEY_TYPEKEYWORD);
15
+ }
16
+ return updatedTypeKeywords;
17
+ }
18
+ exports.setDisplayMapKeyword = setDisplayMapKeyword;
19
+ //# sourceMappingURL=set-display-map-keyword.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"set-display-map-keyword.js","sourceRoot":"","sources":["../../../../src/surveys/utils/set-display-map-keyword.ts"],"names":[],"mappings":";;;AAAA,4CAAsD;AAEtD;;;;;GAKG;AACH,SAAgB,oBAAoB,CAClC,YAAsB,EACtB,UAAmB;IAEnB,MAAM,mBAAmB,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,MAAM,CACrD,CAAC,WAAmB,EAAE,EAAE,CAAC,WAAW,KAAK,kCAAsB,CAChE,CAAC;IACF,IAAI,UAAU,EAAE;QACd,mBAAmB,CAAC,IAAI,CAAC,kCAAsB,CAAC,CAAC;KAClD;IACD,OAAO,mBAAmB,CAAC;AAC7B,CAAC;AAXD,oDAWC"}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.shouldDisplayMap = void 0;
4
+ const constants_1 = require("../constants");
5
+ /**
6
+ * Determines the display mode of the given survey
7
+ * @param {Object} formItem A Form item
8
+ * @returns {boolean}
9
+ */
10
+ exports.shouldDisplayMap = (item) => {
11
+ return (item.type === "Form" && item.typeKeywords.includes(constants_1.MAP_SURVEY_TYPEKEYWORD));
12
+ };
13
+ //# sourceMappingURL=should-display-map.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"should-display-map.js","sourceRoot":"","sources":["../../../../src/surveys/utils/should-display-map.ts"],"names":[],"mappings":";;;AACA,4CAAsD;AAEtD;;;;GAIG;AACU,QAAA,gBAAgB,GAAG,CAAC,IAAW,EAAE,EAAE;IAC9C,OAAO,CACL,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,kCAAsB,CAAC,CAC3E,CAAC;AACJ,CAAC,CAAC"}
@@ -12,7 +12,7 @@ export interface IEditorConfig {
12
12
  * to the supported/defined uiSchema configurations
13
13
  */
14
14
  export declare type EntityEditorType = (typeof validEntityEditorTypes)[number];
15
- export declare const validEntityEditorTypes: readonly ["hub:project:create", "hub:project:edit", "hub:project:metrics", "hub:content:edit", "hub:content:settings", "hub:content:discussions", "hub:initiative:edit", "hub:initiative:create", "hub:site:edit", "hub:site:create", "hub:site:followers", "hub:site:discussions", "hub:site:settings", "hub:discussion:edit", "hub:discussion:create", "hub:discussion:settings", "hub:page:edit", "hub:template:edit", "hub:group:edit", "hub:group:settings", "hub:group:discussions", "hub:group:create:followers", "hub:group:create:association", "hub:group:create:view", "hub:group:create:edit", "hub:initiativeTemplate:edit"];
15
+ export declare const validEntityEditorTypes: readonly ["hub:project:create", "hub:project:edit", "hub:project:metrics", "hub:content:edit", "hub:content:settings", "hub:content:discussions", "hub:initiative:edit", "hub:initiative:create", "hub:site:edit", "hub:site:create", "hub:site:followers", "hub:site:discussions", "hub:site:settings", "hub:discussion:edit", "hub:discussion:create", "hub:discussion:settings", "hub:page:edit", "hub:template:edit", "hub:group:edit", "hub:group:settings", "hub:group:discussions", "hub:group:create:followers", "hub:group:create:association", "hub:group:create:view", "hub:group:create:edit", "hub:initiativeTemplate:edit", "hub:survey:edit", "hub:survey:settings"];
16
16
  /** Defines the possible editor type values for a stat card. These
17
17
  * correspond to the supported/defined uiSchema configurations. This should
18
18
  * have its own signature in the getEditorConfig function.
@@ -36,7 +36,7 @@ export declare const validCardEditorTypes: readonly ["hub:card:stat", "hub:card:
36
36
  * to defined schema/uiSchema configurations
37
37
  */
38
38
  export declare type EditorType = (typeof validEditorTypes)[number];
39
- export declare const validEditorTypes: readonly ["hub:project:create", "hub:project:edit", "hub:project:metrics", "hub:content:edit", "hub:content:settings", "hub:content:discussions", "hub:initiative:edit", "hub:initiative:create", "hub:site:edit", "hub:site:create", "hub:site:followers", "hub:site:discussions", "hub:site:settings", "hub:discussion:edit", "hub:discussion:create", "hub:discussion:settings", "hub:page:edit", "hub:template:edit", "hub:group:edit", "hub:group:settings", "hub:group:discussions", "hub:group:create:followers", "hub:group:create:association", "hub:group:create:view", "hub:group:create:edit", "hub:initiativeTemplate:edit", "hub:card:stat", "hub:card:follow"];
39
+ export declare const validEditorTypes: readonly ["hub:project:create", "hub:project:edit", "hub:project:metrics", "hub:content:edit", "hub:content:settings", "hub:content:discussions", "hub:initiative:edit", "hub:initiative:create", "hub:site:edit", "hub:site:create", "hub:site:followers", "hub:site:discussions", "hub:site:settings", "hub:discussion:edit", "hub:discussion:create", "hub:discussion:settings", "hub:page:edit", "hub:template:edit", "hub:group:edit", "hub:group:settings", "hub:group:discussions", "hub:group:create:followers", "hub:group:create:association", "hub:group:create:view", "hub:group:create:edit", "hub:initiativeTemplate:edit", "hub:survey:edit", "hub:survey:settings", "hub:card:stat", "hub:card:follow"];
40
40
  /**
41
41
  * An editor's module when dynamically imported depending on the EditorType. This
42
42
  * will always have a buildUiSchema function, and sometimes it will have a
@@ -174,3 +174,18 @@ export interface IUiSchemaCondition {
174
174
  scope?: string;
175
175
  schema: IConfigurationSchema;
176
176
  }
177
+ export interface IUiSchemaMessage {
178
+ type: UiSchemaMessageTypes;
179
+ display?: "message" | "notice";
180
+ keyword?: string;
181
+ title?: string;
182
+ titleKey?: string;
183
+ label?: string;
184
+ labelKey?: string;
185
+ icon?: boolean | string;
186
+ kind?: "brand" | "danger" | "info" | "success" | "warning";
187
+ hidden?: boolean;
188
+ condition?: IUiSchemaCondition;
189
+ allowShowBeforeInteract?: boolean;
190
+ alwaysShow?: boolean;
191
+ }
@@ -5,4 +5,5 @@ import { IHubSite } from "./IHubSite";
5
5
  import { IHubDiscussion } from "./IHubDiscussion";
6
6
  import { IHubGroup } from "./IHubGroup";
7
7
  import { IHubTemplate } from "./IHubTemplate";
8
- export declare type HubEntity = IHubSite | IHubProject | IHubDiscussion | IHubInitiative | IHubPage | IHubGroup | IHubTemplate;
8
+ import { IHubSurvey } from "./IHubSurvey";
9
+ export declare type HubEntity = IHubSite | IHubProject | IHubDiscussion | IHubInitiative | IHubPage | IHubGroup | IHubTemplate | IHubSurvey;
@@ -1,2 +1,2 @@
1
- export declare const HUB_ENTITY_TYPES: readonly ["site", "project", "initiative", "initiativeTemplate", "page", "discussion", "content", "org", "group", "template"];
1
+ export declare const HUB_ENTITY_TYPES: readonly ["site", "project", "initiative", "initiativeTemplate", "page", "discussion", "content", "org", "group", "template", "survey"];
2
2
  export declare type HubEntityType = (typeof HUB_ENTITY_TYPES)[number];
@@ -0,0 +1,11 @@
1
+ import { IWithPermissions } from "../traits";
2
+ import { IHubItemEntity, IHubItemEntityEditor } from "./IHubItemEntity";
3
+ /**
4
+ * Defines properties of Hub Survey object
5
+ * @internal
6
+ */
7
+ export interface IHubSurvey extends IHubItemEntity, IWithPermissions {
8
+ hasMapQuestion: boolean;
9
+ displayMap: boolean;
10
+ }
11
+ export declare type IHubSurveyEditor = IHubItemEntityEditor<IHubSurvey> & {};
@@ -9,6 +9,7 @@ export * from "./IHubDiscussion";
9
9
  export * from "./IHubEditableContent";
10
10
  export * from "./IHubEntityBase";
11
11
  export * from "./IHubEvent";
12
+ export * from "./IHubSurvey";
12
13
  export * from "./IHubGroup";
13
14
  export * from "./IHubImage";
14
15
  export * from "./IHubInitiative";
@@ -14,6 +14,7 @@ export * from "./i18n";
14
14
  export * from "./initiatives";
15
15
  export * from "./initiative-templates";
16
16
  export * from "./discussions";
17
+ export * from "./surveys";
17
18
  export * from "./items";
18
19
  export * from "./models";
19
20
  export * from "./objects";
@@ -25,7 +26,6 @@ export * from "./request";
25
26
  export * from "./resources";
26
27
  export * from "./search";
27
28
  export * from "./sites";
28
- export * from "./surveys";
29
29
  export * from "./templates";
30
30
  export * from "./types";
31
31
  export * from "./urls";
@@ -8,6 +8,7 @@ import { PagePermissions } from "../../pages/_internal/PageBusinessRules";
8
8
  import { PlatformPermissions } from "../PlatformPermissionPolicies";
9
9
  import { InitiativeTemplatePermissions } from "../../initiative-templates/_internal/InitiativeTemplateBusinessRules";
10
10
  import { TemplatePermissions } from "../../templates/_internal/TemplateBusinessRules";
11
+ import { SurveyPermissions } from "../../surveys/_internal/SurveyBusinessRules";
11
12
  /**
12
13
  * Defines the values for Permissions
13
14
  * It's critical that the arrays defined in the modules use `as const`
@@ -18,7 +19,7 @@ declare const SystemPermissions: string[];
18
19
  /**
19
20
  * Defines the possible values for Permissions
20
21
  */
21
- export declare type Permission = (typeof SitePermissions)[number] | (typeof ProjectPermissions)[number] | (typeof InitiativePermissions)[number] | (typeof ContentPermissions)[number] | (typeof GroupPermissions)[number] | (typeof PagePermissions)[number] | (typeof PlatformPermissions)[number] | (typeof TempPermissions)[number] | (typeof DiscussionPermissions)[number] | (typeof InitiativeTemplatePermissions)[number] | (typeof TemplatePermissions)[number] | (typeof SystemPermissions)[number];
22
+ export declare type Permission = (typeof SitePermissions)[number] | (typeof ProjectPermissions)[number] | (typeof InitiativePermissions)[number] | (typeof ContentPermissions)[number] | (typeof GroupPermissions)[number] | (typeof PagePermissions)[number] | (typeof PlatformPermissions)[number] | (typeof TempPermissions)[number] | (typeof DiscussionPermissions)[number] | (typeof InitiativeTemplatePermissions)[number] | (typeof TemplatePermissions)[number] | (typeof SystemPermissions)[number] | (typeof SurveyPermissions)[number];
22
23
  /**
23
24
  * Validate a Permission
24
25
  * @param permission
@@ -0,0 +1,9 @@
1
+ import { IDraft, IModel } from "../../types";
2
+ /**
3
+ * During a period in late 2023 and early 2024, the python api
4
+ * was writing a bad confirmation for basemaps as part of the site
5
+ * cloning process. This migration will fix that.
6
+ * @param {Object} model Site Model
7
+ * @private
8
+ */
9
+ export declare function ensureBaseTelemetry<T extends IModel | IDraft>(model: T): T;
@@ -0,0 +1,50 @@
1
+ import { IArcGISContext } from "../ArcGISContext";
2
+ import { HubItemEntity } from "../core/HubItemEntity";
3
+ import { IWithEditorBehavior } from "../core/behaviors/IWithEditorBehavior";
4
+ import { IEditorConfig } from "../core/schemas/types";
5
+ import { HubEntityEditor, IEntityEditorContext } from "../core/types/HubEntityEditor";
6
+ import { IHubSurvey } from "../core/types/IHubSurvey";
7
+ import { SurveyEditorType } from "./_internal/SurveySchema";
8
+ /**
9
+ * Hub Survey Class
10
+ */
11
+ export declare class HubSurvey extends HubItemEntity<IHubSurvey> implements IWithEditorBehavior {
12
+ /**
13
+ * Create an instance from a HubSurvey object
14
+ * @param json - JSON object to create a HubSurvey from
15
+ * @param context - ArcGIS context
16
+ * @returns
17
+ */
18
+ static fromJson(json: Partial<IHubSurvey>, context: IArcGISContext): HubSurvey;
19
+ private static applyDefaults;
20
+ /**
21
+ * Apply a new state to the instance
22
+ * @param changes A partial IHubSurvey
23
+ */
24
+ update(changes: Partial<IHubSurvey>): void;
25
+ /**
26
+ * Save the class instance
27
+ */
28
+ save(): Promise<void>;
29
+ /**
30
+ * Delete the HubSurvey object from the store
31
+ * set a flag to indicate that it is destroyed
32
+ * @returns a promise
33
+ */
34
+ delete(): Promise<void>;
35
+ getEditorConfig(i18nScope: string, type: SurveyEditorType): Promise<IEditorConfig>;
36
+ /**
37
+ * Return the Survey object as an editor object
38
+ * @param editorContext
39
+ * @param include
40
+ * @returns
41
+ */
42
+ toEditor(editorContext?: IEntityEditorContext, include?: string[]): Promise<HubEntityEditor>;
43
+ /**
44
+ * Load the Survey object from the editor object
45
+ * @param editor
46
+ * @param editorContext
47
+ * @returns IHubSurvey
48
+ */
49
+ fromEditor(editor: HubEntityEditor, editorContext?: IEntityEditorContext): Promise<IHubSurvey>;
50
+ }
@@ -0,0 +1,12 @@
1
+ import { IPermissionPolicy } from "../../permissions/types/IPermissionPolicy";
2
+ /**
3
+ * survey Permission Policies
4
+ * These define the requirements any user must meet to perform related actions
5
+ * @private
6
+ */
7
+ export declare const SurveyPermissions: readonly ["hub:survey", "hub:survey:create", "hub:survey:delete", "hub:survey:edit", "hub:survey:view", "hub:survey:workspace", "hub:survey:workspace:dashboard", "hub:survey:workspace:details", "hub:survey:workspace:settings", "hub:survey:manage"];
8
+ /**
9
+ * Survey permission policies
10
+ * @private
11
+ */
12
+ export declare const SurveyPermissionPolicies: IPermissionPolicy[];
@@ -0,0 +1,7 @@
1
+ import { IConfigurationSchema } from "../../core/schemas/types";
2
+ export declare type SurveyEditorType = (typeof SurveyEditorTypes)[number];
3
+ export declare const SurveyEditorTypes: readonly ["hub:survey:edit", "hub:survey:settings"];
4
+ /**
5
+ * defines the JSON schema for a Survey entity's editable fields
6
+ */
7
+ export declare const SurveySchema: IConfigurationSchema;
@@ -0,0 +1,10 @@
1
+ import { IArcGISContext } from "../../ArcGISContext";
2
+ import { IUiSchema } from "../../core/schemas/types";
3
+ import { IHubSurvey } from "../../core/types/IHubSurvey";
4
+ /**
5
+ * @private
6
+ * constructs the complete edit uiSchema for Hub Survey.
7
+ * This defines how the schema properties should be
8
+ * rendered in the survey editing experience
9
+ */
10
+ export declare const buildUiSchema: (i18nScope: string, options: Partial<IHubSurvey>, context: IArcGISContext) => Promise<IUiSchema>;
@@ -0,0 +1,10 @@
1
+ import { IArcGISContext } from "../../ArcGISContext";
2
+ import { EntityEditorOptions } from "../../core/schemas/internal/EditorOptions";
3
+ import { IUiSchema } from "../../core/schemas/types";
4
+ /**
5
+ * @private
6
+ * settings uiSchema for Hub Survey - this
7
+ * defines how the schema properties should be
8
+ * rendered in the Survey settings experience
9
+ */
10
+ export declare const buildUiSchema: (i18nScope: string, options: EntityEditorOptions, context: IArcGISContext) => Promise<IUiSchema>;
@@ -0,0 +1,12 @@
1
+ import { IRequestOptions } from "@esri/arcgis-rest-request";
2
+ import { IHubSurvey } from "../../core/types/IHubSurvey";
3
+ import { IModel } from "../../types";
4
+ /**
5
+ * Given a model and a Survey object, set various computed properties that can't be directly mapped
6
+ * @private
7
+ * @param model
8
+ * @param survey
9
+ * @param requestOptions
10
+ * @returns an IHubSurvey object
11
+ */
12
+ export declare function computeProps(model: IModel, survey: Partial<IHubSurvey>, requestOptions: IRequestOptions): IHubSurvey;