@kineticdata/react 6.0.0 → 6.0.2

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 (256) hide show
  1. package/lib/apis/agent/adapters.js +2 -3
  2. package/lib/apis/agent/bridges.js +7 -13
  3. package/lib/apis/agent/handlers.js +7 -13
  4. package/lib/apis/core/activity.js +2 -3
  5. package/lib/apis/core/attributeDefinitions.js +6 -11
  6. package/lib/apis/core/attributeDefinitions.test.js +201 -213
  7. package/lib/apis/core/authentication.js +74 -84
  8. package/lib/apis/core/backgroundJobs.js +5 -9
  9. package/lib/apis/core/bridgeModelAttributeMappings.js +5 -10
  10. package/lib/apis/core/bridgeModelAttributes.js +6 -11
  11. package/lib/apis/core/bridgeModelMappings.js +5 -10
  12. package/lib/apis/core/bridgeModelQualificationMappings.js +5 -10
  13. package/lib/apis/core/bridgeModelQualifications.js +5 -10
  14. package/lib/apis/core/bridgeModels.js +7 -13
  15. package/lib/apis/core/bridgeModels.test.js +313 -333
  16. package/lib/apis/core/bridgedresources.js +7 -13
  17. package/lib/apis/core/categories.js +6 -11
  18. package/lib/apis/core/fileResources.js +5 -10
  19. package/lib/apis/core/filestores.js +5 -10
  20. package/lib/apis/core/formTypes.js +6 -11
  21. package/lib/apis/core/forms.js +6 -11
  22. package/lib/apis/core/forms.test.js +201 -213
  23. package/lib/apis/core/kapps.js +6 -11
  24. package/lib/apis/core/kapps.test.js +122 -130
  25. package/lib/apis/core/logs.js +3 -5
  26. package/lib/apis/core/memberships.js +3 -5
  27. package/lib/apis/core/meta.js +6 -11
  28. package/lib/apis/core/notices.js +2 -3
  29. package/lib/apis/core/oauthClients.js +6 -11
  30. package/lib/apis/core/platformComponents.js +10 -19
  31. package/lib/apis/core/platformItems.js +2 -3
  32. package/lib/apis/core/profile.js +3 -5
  33. package/lib/apis/core/securityPolicyDefinitions.js +6 -11
  34. package/lib/apis/core/securityPolicyDefinitions.test.js +254 -268
  35. package/lib/apis/core/space.js +3 -5
  36. package/lib/apis/core/space.test.js +106 -114
  37. package/lib/apis/core/submissions.js +17 -33
  38. package/lib/apis/core/teams.js +6 -11
  39. package/lib/apis/core/translations.js +18 -35
  40. package/lib/apis/core/translations.test.js +1343 -1437
  41. package/lib/apis/core/users.js +6 -11
  42. package/lib/apis/core/version.js +2 -3
  43. package/lib/apis/core/webApis.js +5 -10
  44. package/lib/apis/core/webhooks.js +6 -11
  45. package/lib/apis/core/webhooks.test.js +243 -257
  46. package/lib/apis/core/webhooksJobs.js +3 -5
  47. package/lib/apis/core/workflows.js +7 -13
  48. package/lib/apis/http.js +47 -30
  49. package/lib/apis/http.test.js +100 -0
  50. package/lib/apis/system/index.js +167 -81
  51. package/lib/apis/task/index.js +73 -118
  52. package/lib/components/agent/bridge/BridgeForm.js +1 -2
  53. package/lib/components/agent/bridge/BridgeTable.js +5 -3
  54. package/lib/components/agent/filestore/FilestoreForm.js +1 -2
  55. package/lib/components/agent/filestore/FilestoreTable.js +5 -3
  56. package/lib/components/agent/handler/AgentHandlerForm.js +1 -2
  57. package/lib/components/agent/handler/AgentHandlerTable.js +6 -4
  58. package/lib/components/common/AttributeSelect.js +2 -3
  59. package/lib/components/common/BridgeSelect.js +16 -17
  60. package/lib/components/common/ComponentConfigContext.js +1 -2
  61. package/lib/components/common/ContentEditable.js +23 -3
  62. package/lib/components/common/FormSelect.js +16 -17
  63. package/lib/components/common/NodeSelect.js +2 -3
  64. package/lib/components/common/Scroller.js +2 -3
  65. package/lib/components/common/StaticSelect.js +14 -15
  66. package/lib/components/common/TableInput.js +276 -63
  67. package/lib/components/common/TeamSelect.js +16 -17
  68. package/lib/components/common/ToastContainer.js +165 -0
  69. package/lib/components/common/Typeahead.js +15 -2
  70. package/lib/components/common/UserSelect.js +16 -17
  71. package/lib/components/common/authentication/AuthInterceptor.js +2 -3
  72. package/lib/components/common/authentication/AuthInterceptor.test.js +141 -153
  73. package/lib/components/common/authentication/AuthenticationContainer.js +332 -343
  74. package/lib/components/common/authentication/RequestInterceptor.js +2 -10
  75. package/lib/components/common/code_input/CodeInput.js +4 -9
  76. package/lib/components/common/code_input/draftHelpers.js +20 -37
  77. package/lib/components/common/code_input/languageHelpers.js +6 -12
  78. package/lib/components/common/code_input/languageHelpers.test.js +10 -8
  79. package/lib/components/common/defaults/Toast.js +25 -0
  80. package/lib/components/common/defaults/index.js +12 -0
  81. package/lib/components/core/attribute_definition/AttributeDefinitionForm.js +1 -2
  82. package/lib/components/core/attribute_definition/AttributeDefinitionTable.js +8 -5
  83. package/lib/components/core/bridge_model/BridgeModelForm.js +52 -55
  84. package/lib/components/core/bridge_model/BridgeModelTable.js +6 -4
  85. package/lib/components/core/bridge_model_attribute/BridgeModelAttributeForm.js +1 -2
  86. package/lib/components/core/bridge_model_attribute/BridgeModelAttributeTable.js +1 -2
  87. package/lib/components/core/bridge_model_qualification/BridgeModelQualificationForm.js +1 -2
  88. package/lib/components/core/bridge_model_qualification/BridgeModelQualificationTable.js +1 -2
  89. package/lib/components/core/category/CategoryForm.js +1 -2
  90. package/lib/components/core/category/CategoryTable.js +14 -8
  91. package/lib/components/core/core_form/CoreForm.js +11 -22
  92. package/lib/components/core/core_form/defaults/index.js +11 -19
  93. package/lib/components/core/core_form/globals.js +3 -5
  94. package/lib/components/core/field_definition/FieldDefinitionForm.js +1 -2
  95. package/lib/components/core/field_definition/FieldDefinitionTable.js +13 -9
  96. package/lib/components/core/file_resource/FileResourceForm.js +1 -2
  97. package/lib/components/core/file_resource/FileResourceTable.js +1 -2
  98. package/lib/components/core/form/FormForm.js +1 -2
  99. package/lib/components/core/form/FormTable.js +23 -13
  100. package/lib/components/core/form_type/FormTypeForm.js +1 -2
  101. package/lib/components/core/form_type/FormTypeTable.js +4 -3
  102. package/lib/components/core/i18n/I18n.js +2 -4
  103. package/lib/components/core/i18n/I18nContext.js +1 -2
  104. package/lib/components/core/i18n/I18nProvider.js +2 -3
  105. package/lib/components/core/i18n/Moment.js +10 -9
  106. package/lib/components/core/index_definition/IndexDefinitionForm.js +1 -2
  107. package/lib/components/core/index_definition/IndexDefinitionTable.js +13 -7
  108. package/lib/components/core/index_job/IndexJobTable.js +1 -2
  109. package/lib/components/core/kapp/KappForm.js +1 -2
  110. package/lib/components/core/kapp/KappTable.js +18 -34
  111. package/lib/components/core/log/LogTable.js +10 -6
  112. package/lib/components/core/oauth_client/OAuthClientForm.js +1 -2
  113. package/lib/components/core/oauth_client/OAuthClientTable.js +1 -2
  114. package/lib/components/core/platform_component/AgentComponentForm.js +1 -2
  115. package/lib/components/core/platform_component/AgentComponentTable.js +1 -2
  116. package/lib/components/core/platform_component/TaskComponentForm.js +1 -2
  117. package/lib/components/core/profile/ProfileForm.js +1 -2
  118. package/lib/components/core/security_definition/SecurityDefinitionForm.js +3 -6
  119. package/lib/components/core/security_definition/SecurityDefinitionTable.js +10 -6
  120. package/lib/components/core/space/SpaceForm.js +1 -2
  121. package/lib/components/core/submission/DatastoreSubmissionFilters.js +3 -5
  122. package/lib/components/core/submission/DatastoreSubmissionTable.js +2 -4
  123. package/lib/components/core/submission/FormSubmissionFilters.js +4 -7
  124. package/lib/components/core/submission/FormSubmissionTable.js +39 -23
  125. package/lib/components/core/submission/KappSubmissionTable.js +39 -23
  126. package/lib/components/core/submission/SubmissionForm.js +1 -2
  127. package/lib/components/core/submission/SubmissionTable.js +2 -3
  128. package/lib/components/core/submission/helpers.js +4 -7
  129. package/lib/components/core/team/TeamForm.js +2 -3
  130. package/lib/components/core/team/TeamTable.js +12 -7
  131. package/lib/components/core/translation/ContextForm.js +1 -2
  132. package/lib/components/core/translation/ContextTable.js +1 -2
  133. package/lib/components/core/translation/EntryForm.js +1 -2
  134. package/lib/components/core/translation/EntryTable.js +1 -2
  135. package/lib/components/core/translation/LocaleForm.js +1 -2
  136. package/lib/components/core/translation/LocaleTable.js +1 -2
  137. package/lib/components/core/user/UserForm.js +1 -2
  138. package/lib/components/core/user/UserTable.js +24 -7
  139. package/lib/components/core/webapi/WebApiForm.js +138 -123
  140. package/lib/components/core/webapi/WebApiTable.js +15 -9
  141. package/lib/components/core/webhook/WebhookForm.js +1 -2
  142. package/lib/components/core/webhook/WebhookTable.js +20 -11
  143. package/lib/components/core/webhook_job/WebhookJobTable.js +40 -21
  144. package/lib/components/form/Form.helpers.js +91 -38
  145. package/lib/components/form/Form.js +312 -355
  146. package/lib/components/form/Form.models.js +7 -11
  147. package/lib/components/form/FormState.js +1 -2
  148. package/lib/components/form/KitchenSinkForm.js +23 -3
  149. package/lib/components/form/SimpleForm.helpers.js +262 -0
  150. package/lib/components/form/SimpleForm.js +462 -0
  151. package/lib/components/form/SimpleForm.models.js +62 -0
  152. package/lib/components/form/defaults/AttributesField.js +3 -4
  153. package/lib/components/form/defaults/CheckboxField.js +2 -3
  154. package/lib/components/form/defaults/CodeField.js +2 -3
  155. package/lib/components/form/defaults/FormButtons.js +2 -3
  156. package/lib/components/form/defaults/FormError.js +2 -3
  157. package/lib/components/form/defaults/FormField.js +2 -3
  158. package/lib/components/form/defaults/FormLayout.js +2 -3
  159. package/lib/components/form/defaults/FormMultiField.js +2 -3
  160. package/lib/components/form/defaults/PasswordField.js +2 -3
  161. package/lib/components/form/defaults/RadioField.js +2 -3
  162. package/lib/components/form/defaults/SampleTeamsRolesFIeld.js +2 -3
  163. package/lib/components/form/defaults/SelectField.js +2 -3
  164. package/lib/components/form/defaults/SelectMultiField.js +2 -3
  165. package/lib/components/form/defaults/TableField.js +2 -3
  166. package/lib/components/form/defaults/TeamField.js +2 -3
  167. package/lib/components/form/defaults/TeamMultiField.js +2 -3
  168. package/lib/components/form/defaults/TextField.js +2 -3
  169. package/lib/components/form/defaults/TextMultiField.js +2 -3
  170. package/lib/components/form/defaults/UserField.js +2 -3
  171. package/lib/components/form/defaults/UserMultiField.js +2 -3
  172. package/lib/components/form/defaults/index.js +2 -3
  173. package/lib/components/form/tests/Form.test.js +3865 -4257
  174. package/lib/components/form/tests/components.js +2 -3
  175. package/lib/components/index.js +60 -0
  176. package/lib/components/system/SystemBackgroundTasksTable.js +1 -2
  177. package/lib/components/system/SystemCassandraForm.js +97 -0
  178. package/lib/components/system/SystemElasticSearchForm.js +97 -0
  179. package/lib/components/system/SystemFilestoreForm.js +12 -8
  180. package/lib/components/system/SystemForm.js +1 -2
  181. package/lib/components/system/SystemIngressForm.js +78 -31
  182. package/lib/components/system/SystemSecurityForm.js +1 -2
  183. package/lib/components/system/SystemSmtpForm.js +1 -2
  184. package/lib/components/system/SystemTaskAdapterForm.js +30 -7
  185. package/lib/components/system/SystemTrustedCertificateForm.js +39 -0
  186. package/lib/components/system/SystemTrustedCertificatesTable.js +73 -0
  187. package/lib/components/system/SystemUserForm.js +1 -2
  188. package/lib/components/system/helpers.js +236 -65
  189. package/lib/components/system/spaces/SystemSpaceForm.js +2 -3
  190. package/lib/components/system/spaces/SystemTenantForm.js +77 -37
  191. package/lib/components/system/spaces/SystemTenantTable.js +1 -2
  192. package/lib/components/table/Table.js +132 -54
  193. package/lib/components/table/Table.redux.js +229 -235
  194. package/lib/components/table/Table.test.js +154 -123
  195. package/lib/components/table/defaults/BodyCell.js +1 -2
  196. package/lib/components/table/defaults/BodyRow.js +1 -2
  197. package/lib/components/table/defaults/BooleanFilter.js +1 -2
  198. package/lib/components/table/defaults/ColumnControl.js +25 -0
  199. package/lib/components/table/defaults/EmptyBodyRow.js +1 -2
  200. package/lib/components/table/defaults/FilterLayout.js +1 -2
  201. package/lib/components/table/defaults/Footer.js +1 -2
  202. package/lib/components/table/defaults/FooterCell.js +1 -2
  203. package/lib/components/table/defaults/FooterRow.js +1 -2
  204. package/lib/components/table/defaults/Header.js +1 -2
  205. package/lib/components/table/defaults/HeaderCell.js +1 -2
  206. package/lib/components/table/defaults/HeaderRow.js +1 -2
  207. package/lib/components/table/defaults/PaginationControl.js +2 -4
  208. package/lib/components/table/defaults/TableBody.js +1 -2
  209. package/lib/components/table/defaults/TableLayout.js +1 -2
  210. package/lib/components/table/defaults/TextFilter.js +1 -2
  211. package/lib/components/table/defaults/index.js +5 -4
  212. package/lib/components/task/builder/Connector.js +26 -11
  213. package/lib/components/task/builder/ConnectorForm.js +1 -2
  214. package/lib/components/task/builder/Node.js +18 -9
  215. package/lib/components/task/builder/NodeForm.js +1 -2
  216. package/lib/components/task/builder/NodeParametersForm.js +1 -2
  217. package/lib/components/task/builder/SvgCanvas.js +2 -3
  218. package/lib/components/task/builder/SvgText.js +2 -3
  219. package/lib/components/task/builder/TaskDefinitionConfigForm.js +3 -6
  220. package/lib/components/task/builder/TreeBuilder.js +10 -4
  221. package/lib/components/task/builder/builder.redux.js +171 -182
  222. package/lib/components/task/builder/constants.js +38 -76
  223. package/lib/components/task/builder/helpers.js +23 -40
  224. package/lib/components/task/builder/models.js +19 -35
  225. package/lib/components/task/category/TaskCategoryForm.js +2 -3
  226. package/lib/components/task/category/TaskCategoryTable.js +1 -2
  227. package/lib/components/task/common/UsageTable.js +1 -2
  228. package/lib/components/task/engine/EngineSettingsForm.js +2 -3
  229. package/lib/components/task/errors/RunErrorTable.js +35 -17
  230. package/lib/components/task/errors/SystemErrorsTable.js +1 -2
  231. package/lib/components/task/handlers/HandlerForm.js +2 -3
  232. package/lib/components/task/handlers/HandlerTable.js +24 -13
  233. package/lib/components/task/handlers/MissingHandlerTable.js +1 -2
  234. package/lib/components/task/policy_rule/PolicyRuleForm.js +2 -3
  235. package/lib/components/task/policy_rule/PolicyRuleTable.js +1 -2
  236. package/lib/components/task/runs/CreateManualTriggerForm.js +1 -2
  237. package/lib/components/task/runs/RunTable.js +24 -12
  238. package/lib/components/task/runs/RunTaskTable.js +1 -2
  239. package/lib/components/task/sources/SourceForm.js +1 -2
  240. package/lib/components/task/sources/SourceTable.js +16 -9
  241. package/lib/components/task/triggers/TriggerTable.js +52 -26
  242. package/lib/components/task/workflows/LinkedWorkflowForm.js +3 -5
  243. package/lib/components/task/workflows/LinkedWorkflowTable.js +33 -18
  244. package/lib/components/task/workflows/MissingRoutineTable.js +1 -2
  245. package/lib/components/task/workflows/WorkflowForm.js +2 -3
  246. package/lib/components/task/workflows/WorkflowTable.js +31 -17
  247. package/lib/helpers/SearchBuilder.js +2 -4
  248. package/lib/helpers/index.js +13 -26
  249. package/lib/index.js +7 -9
  250. package/lib/reducer.js +3 -5
  251. package/lib/saga.js +32 -48
  252. package/lib/store.js +32 -42
  253. package/package.json +26 -16
  254. package/proxyhelper.js +17 -11
  255. package/lib/components/core/CoreFormModal.js +0 -64
  256. package/lib/components/core/CoreModal.js +0 -114
@@ -23,7 +23,7 @@ var initialState = {
23
23
  refocus: false,
24
24
  result: null
25
25
  };
26
- var Typeahead = /*#__PURE__*/function (_React$Component) {
26
+ var Typeahead = exports.Typeahead = /*#__PURE__*/function (_React$Component) {
27
27
  (0, _inherits2["default"])(Typeahead, _React$Component);
28
28
  var _super = (0, _createSuper2["default"])(Typeahead);
29
29
  function Typeahead(props) {
@@ -92,6 +92,13 @@ var Typeahead = /*#__PURE__*/function (_React$Component) {
92
92
  }
93
93
  };
94
94
  };
95
+ // Called by Autosuggest when a fetch is requested. With the prop
96
+ // alwaysRenderSuggestions this will be called onFocus, onChange, and even
97
+ // when a suggestion is selected. Because of the latter, we check to see if we
98
+ // should ignore the operation. Otherwise we update the searchValue in the
99
+ // state and componentDidUpdate is responsible for calling search. We also
100
+ // check to see if escape was pressed while the searchValue is empty, if so we
101
+ // close the Autosuggest by setting state to initialState.
95
102
  _this.onSuggestionsFetchRequested = function (_ref3) {
96
103
  var searchValue = _ref3.value,
97
104
  reason = _ref3.reason;
@@ -108,6 +115,8 @@ var Typeahead = /*#__PURE__*/function (_React$Component) {
108
115
  });
109
116
  }
110
117
  };
118
+ // This implementation assumes that this is only called on blur of the input
119
+ // because we are using the `alwaysRenderSuggestions` prop.
111
120
  _this.onSuggestionsClearRequested = function () {
112
121
  _this.setState(initialState);
113
122
  };
@@ -118,6 +127,11 @@ var Typeahead = /*#__PURE__*/function (_React$Component) {
118
127
  });
119
128
  };
120
129
  };
130
+ // Called when a suggestion is clicked or enter is pressed. For multiple mode
131
+ // we also reset the searchValue to an empty string and the Autosuggest will
132
+ // remain open. For single mode we close the Autosuggest entirely by setting
133
+ // state to initialState. Finally we call the onChange event to update the
134
+ // parent field.
121
135
  _this.onSuggestionSelected = function (event, _ref4) {
122
136
  var method = _ref4.method,
123
137
  suggestion = _ref4.suggestion;
@@ -222,7 +236,6 @@ var Typeahead = /*#__PURE__*/function (_React$Component) {
222
236
  // hopefully easier to comprehend. They are intended to be passed to the
223
237
  // corresponding (by name) props of the Autosuggest component.
224
238
  // https://github.com/moroshko/react-autosuggest#render-suggestions-container-prop
225
- exports.Typeahead = Typeahead;
226
239
  function renderSuggestionsContainer(_ref5) {
227
240
  var containerProps = _ref5.containerProps,
228
241
  children = _ref5.children;
@@ -61,20 +61,20 @@ var valueToCustomUser = function valueToCustomUser(_ref3) {
61
61
  var getStatusProps = function getStatusProps(_ref4) {
62
62
  var _ref4$search = _ref4.search,
63
63
  search = _ref4$search === void 0 ? (0, _immutable.Map)() : _ref4$search,
64
- _ref4$messages = _ref4.messages;
65
- _ref4$messages = _ref4$messages === void 0 ? {} : _ref4$messages;
66
- var _ref4$messages$short = _ref4$messages["short"],
67
- _short = _ref4$messages$short === void 0 ? 'Type to find a user.' : _ref4$messages$short,
68
- _ref4$messages$empty = _ref4$messages.empty,
69
- empty = _ref4$messages$empty === void 0 ? 'No matching users.' : _ref4$messages$empty,
70
- _ref4$messages$custom = _ref4$messages.custom,
71
- custom = _ref4$messages$custom === void 0 ? 'No matching users. You may also enter a valid email.' : _ref4$messages$custom,
72
- _ref4$messages$pendin = _ref4$messages.pending,
73
- pending = _ref4$messages$pendin === void 0 ? 'Searching...' : _ref4$messages$pendin,
74
- _ref4$messages$more = _ref4$messages.more,
75
- more = _ref4$messages$more === void 0 ? "Too many users, first ".concat(search.get('limit') || '', " shown. Please refine your search.") : _ref4$messages$more,
76
- _ref4$messages$error = _ref4$messages.error,
77
- error = _ref4$messages$error === void 0 ? 'There was an error fetching users.' : _ref4$messages$error;
64
+ _ref4$messages = _ref4.messages,
65
+ _ref4$messages2 = _ref4$messages === void 0 ? {} : _ref4$messages,
66
+ _ref4$messages2$short = _ref4$messages2["short"],
67
+ _short = _ref4$messages2$short === void 0 ? 'Type to find a user.' : _ref4$messages2$short,
68
+ _ref4$messages2$empty = _ref4$messages2.empty,
69
+ empty = _ref4$messages2$empty === void 0 ? 'No matching users.' : _ref4$messages2$empty,
70
+ _ref4$messages2$custo = _ref4$messages2.custom,
71
+ custom = _ref4$messages2$custo === void 0 ? 'No matching users. You may also enter a valid email.' : _ref4$messages2$custo,
72
+ _ref4$messages2$pendi = _ref4$messages2.pending,
73
+ pending = _ref4$messages2$pendi === void 0 ? 'Searching...' : _ref4$messages2$pendi,
74
+ _ref4$messages2$more = _ref4$messages2.more,
75
+ more = _ref4$messages2$more === void 0 ? "Too many users, first ".concat(search.get('limit') || '', " shown. Please refine your search.") : _ref4$messages2$more,
76
+ _ref4$messages2$error = _ref4$messages2.error,
77
+ error = _ref4$messages2$error === void 0 ? 'There was an error fetching users.' : _ref4$messages2$error;
78
78
  return function (props) {
79
79
  return {
80
80
  meta: props.searchField ? "Find Users by ".concat(fields[props.searchField]) : null,
@@ -96,7 +96,7 @@ var getStatusProps = function getStatusProps(_ref4) {
96
96
  };
97
97
  };
98
98
  };
99
- var UserSelect = function UserSelect(props) {
99
+ var UserSelect = exports.UserSelect = function UserSelect(props) {
100
100
  return /*#__PURE__*/_react["default"].createElement(_Typeahead.Typeahead, {
101
101
  components: props.components || {},
102
102
  disabled: props.disabled,
@@ -114,5 +114,4 @@ var UserSelect = function UserSelect(props) {
114
114
  id: props.id,
115
115
  form: props.form
116
116
  });
117
- };
118
- exports.UserSelect = UserSelect;
117
+ };
@@ -8,7 +8,7 @@ exports["default"] = void 0;
8
8
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/classCallCheck"));
9
9
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/createClass"));
10
10
  var _axios = _interopRequireDefault(require("axios"));
11
- var AuthInterceptor = /*#__PURE__*/function () {
11
+ var AuthInterceptor = exports["default"] = /*#__PURE__*/function () {
12
12
  function AuthInterceptor(store, unauthenticatedAction, authenticatedSelector, cancelledSelector) {
13
13
  (0, _classCallCheck2["default"])(this, AuthInterceptor);
14
14
  this.store = store;
@@ -63,5 +63,4 @@ var AuthInterceptor = /*#__PURE__*/function () {
63
63
  }
64
64
  }]);
65
65
  return AuthInterceptor;
66
- }();
67
- exports["default"] = AuthInterceptor;
66
+ }();
@@ -62,194 +62,182 @@ describe('AuthInterceptor', function () {
62
62
  test('returns rejected promise with the given error if not 401', /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/(0, _regeneratorRuntime2["default"])().mark(function _callee() {
63
63
  var authInterceptor, error;
64
64
  return (0, _regeneratorRuntime2["default"])().wrap(function _callee$(_context) {
65
- while (1) {
66
- switch (_context.prev = _context.next) {
67
- case 0:
68
- authInterceptor = new _AuthInterceptor["default"](store, unauthenticatedAction, authenticatedSelector, cancelledSelector);
69
- error = {
70
- response: {
71
- status: 400
72
- }
73
- };
74
- _context.next = 4;
75
- return expect(authInterceptor.handleRejected(error)).rejects.toBe(error);
76
- case 4:
77
- expect(authInterceptor.authPromise).toBeNull();
78
- case 5:
79
- case "end":
80
- return _context.stop();
81
- }
65
+ while (1) switch (_context.prev = _context.next) {
66
+ case 0:
67
+ authInterceptor = new _AuthInterceptor["default"](store, unauthenticatedAction, authenticatedSelector, cancelledSelector);
68
+ error = {
69
+ response: {
70
+ status: 400
71
+ }
72
+ };
73
+ _context.next = 4;
74
+ return expect(authInterceptor.handleRejected(error)).rejects.toBe(error);
75
+ case 4:
76
+ expect(authInterceptor.authPromise).toBeNull();
77
+ case 5:
78
+ case "end":
79
+ return _context.stop();
82
80
  }
83
81
  }, _callee);
84
82
  })));
85
83
  test('performs authentication workflow with successful login', /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/(0, _regeneratorRuntime2["default"])().mark(function _callee2() {
86
84
  var authInterceptor, error, rejectedCall;
87
85
  return (0, _regeneratorRuntime2["default"])().wrap(function _callee2$(_context2) {
88
- while (1) {
89
- switch (_context2.prev = _context2.next) {
90
- case 0:
91
- authInterceptor = new _AuthInterceptor["default"](store, unauthenticatedAction, authenticatedSelector, cancelledSelector); // Mock an axios return value.
92
- _axios["default"].mockReturnValue(Promise.resolve('Hello World'));
93
- // Make a call to handleRejected that will trigger the auth functionality.
94
- error = {
95
- response: {
96
- status: 401,
97
- config: {
98
- url: 'foo'
99
- }
86
+ while (1) switch (_context2.prev = _context2.next) {
87
+ case 0:
88
+ authInterceptor = new _AuthInterceptor["default"](store, unauthenticatedAction, authenticatedSelector, cancelledSelector); // Mock an axios return value.
89
+ _axios["default"].mockReturnValue(Promise.resolve('Hello World'));
90
+ // Make a call to handleRejected that will trigger the auth functionality.
91
+ error = {
92
+ response: {
93
+ status: 401,
94
+ config: {
95
+ url: 'foo'
100
96
  }
101
- };
102
- rejectedCall = authInterceptor.handleRejected(error); // It should dispatch the redux action using the action creator passed to
103
- // the controller and start to listen to the store for success or cancel.
104
- expect(store.actions).toEqual([{
105
- type: 'TIMED_OUT'
106
- }]);
107
- expect(store.listeners.length).toBe(1);
108
- expect(authInterceptor.authPromise).not.toBeNull();
109
- // Simulate sucessful authentication and call the listener.
110
- store.state.authenticated = true;
111
- store.listeners[0]();
112
- // The promse should be resolved with the axios resolved value. Also
113
- // ensure that axios was called and that the listener is unsubscribed.
114
- _context2.next = 11;
115
- return expect(rejectedCall).resolves.toBe('Hello World');
116
- case 11:
117
- expect(_axios["default"].mock.calls).toEqual([[{
118
- url: 'foo'
119
- }]]);
120
- expect(store.listeners.length).toBe(0);
121
- expect(authInterceptor.authPromise).toBeNull();
122
- case 14:
123
- case "end":
124
- return _context2.stop();
125
- }
97
+ }
98
+ };
99
+ rejectedCall = authInterceptor.handleRejected(error); // It should dispatch the redux action using the action creator passed to
100
+ // the controller and start to listen to the store for success or cancel.
101
+ expect(store.actions).toEqual([{
102
+ type: 'TIMED_OUT'
103
+ }]);
104
+ expect(store.listeners.length).toBe(1);
105
+ expect(authInterceptor.authPromise).not.toBeNull();
106
+ // Simulate sucessful authentication and call the listener.
107
+ store.state.authenticated = true;
108
+ store.listeners[0]();
109
+ // The promse should be resolved with the axios resolved value. Also
110
+ // ensure that axios was called and that the listener is unsubscribed.
111
+ _context2.next = 11;
112
+ return expect(rejectedCall).resolves.toBe('Hello World');
113
+ case 11:
114
+ expect(_axios["default"].mock.calls).toEqual([[{
115
+ url: 'foo'
116
+ }]]);
117
+ expect(store.listeners.length).toBe(0);
118
+ expect(authInterceptor.authPromise).toBeNull();
119
+ case 14:
120
+ case "end":
121
+ return _context2.stop();
126
122
  }
127
123
  }, _callee2);
128
124
  })));
129
125
  test('performs authentication workflow with cancelled login', /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/(0, _regeneratorRuntime2["default"])().mark(function _callee3() {
130
126
  var authInterceptor, error, rejectedCall;
131
127
  return (0, _regeneratorRuntime2["default"])().wrap(function _callee3$(_context3) {
132
- while (1) {
133
- switch (_context3.prev = _context3.next) {
134
- case 0:
135
- authInterceptor = new _AuthInterceptor["default"](store, unauthenticatedAction, authenticatedSelector, cancelledSelector); // Make a call to handleRejected that will trigger the auth functionality.
136
- error = {
137
- response: {
138
- status: 401,
139
- config: {
140
- url: 'foo'
141
- }
128
+ while (1) switch (_context3.prev = _context3.next) {
129
+ case 0:
130
+ authInterceptor = new _AuthInterceptor["default"](store, unauthenticatedAction, authenticatedSelector, cancelledSelector); // Make a call to handleRejected that will trigger the auth functionality.
131
+ error = {
132
+ response: {
133
+ status: 401,
134
+ config: {
135
+ url: 'foo'
142
136
  }
143
- };
144
- rejectedCall = authInterceptor.handleRejected(error); // It should dispatch the redux action using the action creator passed to
145
- // the controller and start to listen to the store for success or cancel.
146
- expect(store.actions).toEqual([{
147
- type: 'TIMED_OUT'
148
- }]);
149
- expect(store.listeners.length).toBe(1);
150
- expect(authInterceptor.authPromise).not.toBeNull();
151
- // Simulate cancel and call the listener.
152
- store.state.cancelled = true;
153
- store.listeners[0]();
154
- // The promse should be rejected with the original error object. Also
155
- // ensure that axios is not called and that the listener is unsubscribed.
156
- _context3.next = 10;
157
- return expect(rejectedCall).rejects.toBe(error);
158
- case 10:
159
- expect(_axios["default"].mock.calls).toEqual([]);
160
- expect(store.listeners.length).toBe(0);
161
- expect(authInterceptor.authPromise).toBeNull();
162
- case 13:
163
- case "end":
164
- return _context3.stop();
165
- }
137
+ }
138
+ };
139
+ rejectedCall = authInterceptor.handleRejected(error); // It should dispatch the redux action using the action creator passed to
140
+ // the controller and start to listen to the store for success or cancel.
141
+ expect(store.actions).toEqual([{
142
+ type: 'TIMED_OUT'
143
+ }]);
144
+ expect(store.listeners.length).toBe(1);
145
+ expect(authInterceptor.authPromise).not.toBeNull();
146
+ // Simulate cancel and call the listener.
147
+ store.state.cancelled = true;
148
+ store.listeners[0]();
149
+ // The promse should be rejected with the original error object. Also
150
+ // ensure that axios is not called and that the listener is unsubscribed.
151
+ _context3.next = 10;
152
+ return expect(rejectedCall).rejects.toBe(error);
153
+ case 10:
154
+ expect(_axios["default"].mock.calls).toEqual([]);
155
+ expect(store.listeners.length).toBe(0);
156
+ expect(authInterceptor.authPromise).toBeNull();
157
+ case 13:
158
+ case "end":
159
+ return _context3.stop();
166
160
  }
167
161
  }, _callee3);
168
162
  })));
169
163
  test('creates one authPromise for multiple calls', /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/(0, _regeneratorRuntime2["default"])().mark(function _callee4() {
170
164
  var authInterceptor, error, authPromise1, authPromise2;
171
165
  return (0, _regeneratorRuntime2["default"])().wrap(function _callee4$(_context4) {
172
- while (1) {
173
- switch (_context4.prev = _context4.next) {
174
- case 0:
175
- authInterceptor = new _AuthInterceptor["default"](store, unauthenticatedAction, authenticatedSelector, cancelledSelector); // Should be null initially.
176
- expect(authInterceptor.authPromise).toBeNull();
177
- // Call handleRejected with the error object, should return a promise.
178
- error = {
179
- response: {
180
- status: 401,
181
- config: {
182
- url: 'foo'
183
- }
166
+ while (1) switch (_context4.prev = _context4.next) {
167
+ case 0:
168
+ authInterceptor = new _AuthInterceptor["default"](store, unauthenticatedAction, authenticatedSelector, cancelledSelector); // Should be null initially.
169
+ expect(authInterceptor.authPromise).toBeNull();
170
+ // Call handleRejected with the error object, should return a promise.
171
+ error = {
172
+ response: {
173
+ status: 401,
174
+ config: {
175
+ url: 'foo'
184
176
  }
185
- };
186
- authInterceptor.handleRejected(error);
187
- // Should now be set after a call to handleRejected.
188
- authPromise1 = authInterceptor.authPromise;
189
- expect(authPromise1).not.toBeNull();
190
- // Second call to handleRejected should not change the value of the
191
- // authPromise.
192
- authInterceptor.handleRejected(error);
193
- authPromise2 = authInterceptor.authPromise;
194
- expect(authPromise1).toBe(authPromise2);
195
- case 9:
196
- case "end":
197
- return _context4.stop();
198
- }
177
+ }
178
+ };
179
+ authInterceptor.handleRejected(error);
180
+ // Should now be set after a call to handleRejected.
181
+ authPromise1 = authInterceptor.authPromise;
182
+ expect(authPromise1).not.toBeNull();
183
+ // Second call to handleRejected should not change the value of the
184
+ // authPromise.
185
+ authInterceptor.handleRejected(error);
186
+ authPromise2 = authInterceptor.authPromise;
187
+ expect(authPromise1).toBe(authPromise2);
188
+ case 9:
189
+ case "end":
190
+ return _context4.stop();
199
191
  }
200
192
  }, _callee4);
201
193
  })));
202
194
  test('returns original error if authenticated selector returns true initially', /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/(0, _regeneratorRuntime2["default"])().mark(function _callee5() {
203
195
  var authInterceptor, error;
204
196
  return (0, _regeneratorRuntime2["default"])().wrap(function _callee5$(_context5) {
205
- while (1) {
206
- switch (_context5.prev = _context5.next) {
207
- case 0:
208
- authInterceptor = new _AuthInterceptor["default"](store, unauthenticatedAction, authenticatedSelector, cancelledSelector);
209
- error = {
210
- response: {
211
- status: 401,
212
- config: {
213
- url: 'foo'
214
- }
197
+ while (1) switch (_context5.prev = _context5.next) {
198
+ case 0:
199
+ authInterceptor = new _AuthInterceptor["default"](store, unauthenticatedAction, authenticatedSelector, cancelledSelector);
200
+ error = {
201
+ response: {
202
+ status: 401,
203
+ config: {
204
+ url: 'foo'
215
205
  }
216
- };
217
- store.state.authenticated = true;
218
- _context5.next = 5;
219
- return expect(authInterceptor.handleRejected(error)).rejects.toBe(error);
220
- case 5:
221
- expect(authInterceptor.authPromise).toBeNull();
222
- case 6:
223
- case "end":
224
- return _context5.stop();
225
- }
206
+ }
207
+ };
208
+ store.state.authenticated = true;
209
+ _context5.next = 5;
210
+ return expect(authInterceptor.handleRejected(error)).rejects.toBe(error);
211
+ case 5:
212
+ expect(authInterceptor.authPromise).toBeNull();
213
+ case 6:
214
+ case "end":
215
+ return _context5.stop();
226
216
  }
227
217
  }, _callee5);
228
218
  })));
229
219
  test('returns original error if cancelled selector returns true initially', /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/(0, _regeneratorRuntime2["default"])().mark(function _callee6() {
230
220
  var authInterceptor, error;
231
221
  return (0, _regeneratorRuntime2["default"])().wrap(function _callee6$(_context6) {
232
- while (1) {
233
- switch (_context6.prev = _context6.next) {
234
- case 0:
235
- authInterceptor = new _AuthInterceptor["default"](store, unauthenticatedAction, authenticatedSelector, cancelledSelector);
236
- error = {
237
- response: {
238
- status: 401,
239
- config: {
240
- url: 'foo'
241
- }
222
+ while (1) switch (_context6.prev = _context6.next) {
223
+ case 0:
224
+ authInterceptor = new _AuthInterceptor["default"](store, unauthenticatedAction, authenticatedSelector, cancelledSelector);
225
+ error = {
226
+ response: {
227
+ status: 401,
228
+ config: {
229
+ url: 'foo'
242
230
  }
243
- };
244
- store.state.cancelled = true;
245
- _context6.next = 5;
246
- return expect(authInterceptor.handleRejected(error)).rejects.toBe(error);
247
- case 5:
248
- expect(authInterceptor.authPromise).toBeNull();
249
- case 6:
250
- case "end":
251
- return _context6.stop();
252
- }
231
+ }
232
+ };
233
+ store.state.cancelled = true;
234
+ _context6.next = 5;
235
+ return expect(authInterceptor.handleRejected(error)).rejects.toBe(error);
236
+ case 5:
237
+ expect(authInterceptor.authPromise).toBeNull();
238
+ case 6:
239
+ case "end":
240
+ return _context6.stop();
253
241
  }
254
242
  }, _callee6);
255
243
  })));