@looker/run-it 0.9.43-alpha.1650 → 0.9.43

Sign up to get free protection for your applications and to get access to all the features.
Files changed (197) hide show
  1. package/CHANGELOG.md +20 -1
  2. package/lib/RunIt.js +12 -28
  3. package/lib/RunIt.js.map +1 -1
  4. package/lib/RunItProvider.js +0 -6
  5. package/lib/RunItProvider.js.map +1 -1
  6. package/lib/components/Collapser/CollapserCard.js +0 -8
  7. package/lib/components/Collapser/CollapserCard.js.map +1 -1
  8. package/lib/components/Collapser/index.js +0 -1
  9. package/lib/components/Collapser/index.js.map +1 -1
  10. package/lib/components/ConfigForm/ConfigForm.js +5 -52
  11. package/lib/components/ConfigForm/ConfigForm.js.map +1 -1
  12. package/lib/components/ConfigForm/index.js +0 -4
  13. package/lib/components/ConfigForm/index.js.map +1 -1
  14. package/lib/components/ConfigForm/utils.js +5 -21
  15. package/lib/components/ConfigForm/utils.js.map +1 -1
  16. package/lib/components/CopyLinkWrapper/CopyLinkWrapper.js +0 -16
  17. package/lib/components/CopyLinkWrapper/CopyLinkWrapper.js.map +1 -1
  18. package/lib/components/CopyLinkWrapper/index.js +0 -1
  19. package/lib/components/CopyLinkWrapper/index.js.map +1 -1
  20. package/lib/components/DataGrid/DataGrid.d.ts +2 -2
  21. package/lib/components/DataGrid/DataGrid.js +1 -9
  22. package/lib/components/DataGrid/DataGrid.js.map +1 -1
  23. package/lib/components/DataGrid/gridUtils.js +1 -22
  24. package/lib/components/DataGrid/gridUtils.js.map +1 -1
  25. package/lib/components/DataGrid/index.js +4 -6
  26. package/lib/components/DataGrid/index.js.map +1 -1
  27. package/lib/components/DocSdkCalls/DocMultiCall.js +0 -6
  28. package/lib/components/DocSdkCalls/DocMultiCall.js.map +1 -1
  29. package/lib/components/DocSdkCalls/DocSdkCalls.d.ts +1 -0
  30. package/lib/components/DocSdkCalls/DocSdkCalls.js +5 -17
  31. package/lib/components/DocSdkCalls/DocSdkCalls.js.map +1 -1
  32. package/lib/components/DocSdkCalls/callUtils.js +0 -5
  33. package/lib/components/DocSdkCalls/callUtils.js.map +1 -1
  34. package/lib/components/DocSdkCalls/index.js +4 -6
  35. package/lib/components/DocSdkCalls/index.js.map +1 -1
  36. package/lib/components/Loading/Loading.js +0 -5
  37. package/lib/components/Loading/Loading.js.map +1 -1
  38. package/lib/components/Loading/index.js +0 -1
  39. package/lib/components/Loading/index.js.map +1 -1
  40. package/lib/components/LoginForm/LoginForm.js +1 -16
  41. package/lib/components/LoginForm/LoginForm.js.map +1 -1
  42. package/lib/components/LoginForm/index.js +0 -1
  43. package/lib/components/LoginForm/index.js.map +1 -1
  44. package/lib/components/MethodBadge/MethodBadge.js +1 -16
  45. package/lib/components/MethodBadge/MethodBadge.js.map +1 -1
  46. package/lib/components/MethodBadge/index.js +0 -1
  47. package/lib/components/MethodBadge/index.js.map +1 -1
  48. package/lib/components/PerfTracker/PerfChart.js +0 -12
  49. package/lib/components/PerfTracker/PerfChart.js.map +1 -1
  50. package/lib/components/PerfTracker/PerfTable.js +0 -9
  51. package/lib/components/PerfTracker/PerfTable.js.map +1 -1
  52. package/lib/components/PerfTracker/PerfTracker.js +0 -18
  53. package/lib/components/PerfTracker/PerfTracker.js.map +1 -1
  54. package/lib/components/PerfTracker/index.js +4 -6
  55. package/lib/components/PerfTracker/index.js.map +1 -1
  56. package/lib/components/PerfTracker/perfTableUtils.d.ts +1 -1
  57. package/lib/components/PerfTracker/perfTableUtils.js +2 -18
  58. package/lib/components/PerfTracker/perfTableUtils.js.map +1 -1
  59. package/lib/components/PerfTracker/perfUtils.js +4 -42
  60. package/lib/components/PerfTracker/perfUtils.js.map +1 -1
  61. package/lib/components/RequestForm/FormItem.js +0 -5
  62. package/lib/components/RequestForm/FormItem.js.map +1 -1
  63. package/lib/components/RequestForm/RequestForm.d.ts +3 -1
  64. package/lib/components/RequestForm/RequestForm.js +25 -23
  65. package/lib/components/RequestForm/RequestForm.js.map +1 -1
  66. package/lib/components/RequestForm/formUtils.d.ts +1 -0
  67. package/lib/components/RequestForm/formUtils.js +9 -47
  68. package/lib/components/RequestForm/formUtils.js.map +1 -1
  69. package/lib/components/RequestForm/index.js +0 -2
  70. package/lib/components/RequestForm/index.js.map +1 -1
  71. package/lib/components/ResponseExplorer/ResponseExplorer.js +2 -22
  72. package/lib/components/ResponseExplorer/ResponseExplorer.js.map +1 -1
  73. package/lib/components/ResponseExplorer/index.js +0 -2
  74. package/lib/components/ResponseExplorer/index.js.map +1 -1
  75. package/lib/components/ShowResponse/ShowResponse.js +0 -7
  76. package/lib/components/ShowResponse/ShowResponse.js.map +1 -1
  77. package/lib/components/ShowResponse/index.js +0 -1
  78. package/lib/components/ShowResponse/index.js.map +1 -1
  79. package/lib/components/ShowResponse/responseUtils.js +4 -49
  80. package/lib/components/ShowResponse/responseUtils.js.map +1 -1
  81. package/lib/components/common/common.d.ts +2 -2
  82. package/lib/components/common/common.js +1 -5
  83. package/lib/components/common/common.js.map +1 -1
  84. package/lib/components/common/index.js +0 -1
  85. package/lib/components/common/index.js.map +1 -1
  86. package/lib/components/index.js +0 -26
  87. package/lib/components/index.js.map +1 -1
  88. package/lib/esm/RunIt.js +65 -62
  89. package/lib/esm/RunIt.js.map +1 -1
  90. package/lib/esm/RunItProvider.js +14 -4
  91. package/lib/esm/RunItProvider.js.map +1 -1
  92. package/lib/esm/components/Collapser/CollapserCard.js +22 -14
  93. package/lib/esm/components/Collapser/CollapserCard.js.map +1 -1
  94. package/lib/esm/components/Collapser/index.js +12 -1
  95. package/lib/esm/components/Collapser/index.js.map +1 -1
  96. package/lib/esm/components/ConfigForm/ConfigForm.js +63 -89
  97. package/lib/esm/components/ConfigForm/ConfigForm.js.map +1 -1
  98. package/lib/esm/components/ConfigForm/index.js +27 -2
  99. package/lib/esm/components/ConfigForm/index.js.map +1 -1
  100. package/lib/esm/components/ConfigForm/utils.js +25 -21
  101. package/lib/esm/components/ConfigForm/utils.js.map +1 -1
  102. package/lib/esm/components/CopyLinkWrapper/CopyLinkWrapper.js +22 -19
  103. package/lib/esm/components/CopyLinkWrapper/CopyLinkWrapper.js.map +1 -1
  104. package/lib/esm/components/CopyLinkWrapper/index.js +12 -1
  105. package/lib/esm/components/CopyLinkWrapper/index.js.map +1 -1
  106. package/lib/esm/components/DataGrid/DataGrid.js +25 -17
  107. package/lib/esm/components/DataGrid/DataGrid.js.map +1 -1
  108. package/lib/esm/components/DataGrid/gridUtils.js +26 -15
  109. package/lib/esm/components/DataGrid/gridUtils.js.map +1 -1
  110. package/lib/esm/components/DataGrid/index.js +25 -2
  111. package/lib/esm/components/DataGrid/index.js.map +1 -1
  112. package/lib/esm/components/DocSdkCalls/DocMultiCall.js +15 -7
  113. package/lib/esm/components/DocSdkCalls/DocMultiCall.js.map +1 -1
  114. package/lib/esm/components/DocSdkCalls/DocSdkCalls.js +30 -22
  115. package/lib/esm/components/DocSdkCalls/DocSdkCalls.js.map +1 -1
  116. package/lib/esm/components/DocSdkCalls/callUtils.js +10 -3
  117. package/lib/esm/components/DocSdkCalls/callUtils.js.map +1 -1
  118. package/lib/esm/components/DocSdkCalls/index.js +19 -2
  119. package/lib/esm/components/DocSdkCalls/index.js.map +1 -1
  120. package/lib/esm/components/Loading/Loading.js +14 -6
  121. package/lib/esm/components/Loading/Loading.js.map +1 -1
  122. package/lib/esm/components/Loading/index.js +12 -1
  123. package/lib/esm/components/Loading/index.js.map +1 -1
  124. package/lib/esm/components/LoginForm/LoginForm.js +21 -18
  125. package/lib/esm/components/LoginForm/LoginForm.js.map +1 -1
  126. package/lib/esm/components/LoginForm/index.js +18 -1
  127. package/lib/esm/components/LoginForm/index.js.map +1 -1
  128. package/lib/esm/components/MethodBadge/MethodBadge.js +19 -13
  129. package/lib/esm/components/MethodBadge/MethodBadge.js.map +1 -1
  130. package/lib/esm/components/MethodBadge/index.js +12 -1
  131. package/lib/esm/components/MethodBadge/index.js.map +1 -1
  132. package/lib/esm/components/PerfTracker/PerfChart.js +18 -16
  133. package/lib/esm/components/PerfTracker/PerfChart.js.map +1 -1
  134. package/lib/esm/components/PerfTracker/PerfTable.js +22 -15
  135. package/lib/esm/components/PerfTracker/PerfTable.js.map +1 -1
  136. package/lib/esm/components/PerfTracker/PerfTracker.js +33 -31
  137. package/lib/esm/components/PerfTracker/PerfTracker.js.map +1 -1
  138. package/lib/esm/components/PerfTracker/index.js +19 -2
  139. package/lib/esm/components/PerfTracker/index.js.map +1 -1
  140. package/lib/esm/components/PerfTracker/perfTableUtils.js +28 -26
  141. package/lib/esm/components/PerfTracker/perfTableUtils.js.map +1 -1
  142. package/lib/esm/components/PerfTracker/perfUtils.js +15 -39
  143. package/lib/esm/components/PerfTracker/perfUtils.js.map +1 -1
  144. package/lib/esm/components/RequestForm/FormItem.js +14 -6
  145. package/lib/esm/components/RequestForm/FormItem.js.map +1 -1
  146. package/lib/esm/components/RequestForm/RequestForm.js +50 -32
  147. package/lib/esm/components/RequestForm/RequestForm.js.map +1 -1
  148. package/lib/esm/components/RequestForm/formUtils.js +47 -53
  149. package/lib/esm/components/RequestForm/formUtils.js.map +1 -1
  150. package/lib/esm/components/RequestForm/index.js +19 -2
  151. package/lib/esm/components/RequestForm/index.js.map +1 -1
  152. package/lib/esm/components/ResponseExplorer/ResponseExplorer.js +41 -35
  153. package/lib/esm/components/ResponseExplorer/ResponseExplorer.js.map +1 -1
  154. package/lib/esm/components/ResponseExplorer/index.js +16 -1
  155. package/lib/esm/components/ResponseExplorer/index.js.map +1 -1
  156. package/lib/esm/components/ShowResponse/ShowResponse.js +14 -8
  157. package/lib/esm/components/ShowResponse/ShowResponse.js.map +1 -1
  158. package/lib/esm/components/ShowResponse/index.js +12 -1
  159. package/lib/esm/components/ShowResponse/index.js.map +1 -1
  160. package/lib/esm/components/ShowResponse/responseUtils.js +43 -61
  161. package/lib/esm/components/ShowResponse/responseUtils.js.map +1 -1
  162. package/lib/esm/components/common/common.js +13 -4
  163. package/lib/esm/components/common/common.js.map +1 -1
  164. package/lib/esm/components/common/index.js +18 -1
  165. package/lib/esm/components/common/index.js.map +1 -1
  166. package/lib/esm/components/index.js +148 -13
  167. package/lib/esm/components/index.js.map +1 -1
  168. package/lib/esm/index.js +49 -4
  169. package/lib/esm/index.js.map +1 -1
  170. package/lib/esm/test-data/index.js +68 -0
  171. package/lib/esm/test-data/index.js.map +1 -0
  172. package/lib/esm/test-data/responses.js +139 -0
  173. package/lib/esm/test-data/responses.js.map +1 -0
  174. package/lib/esm/test-data/specs.js +11 -0
  175. package/lib/esm/test-data/specs.js.map +1 -0
  176. package/lib/esm/utils/RunItSDK.js +25 -20
  177. package/lib/esm/utils/RunItSDK.js.map +1 -1
  178. package/lib/esm/utils/index.js +27 -2
  179. package/lib/esm/utils/index.js.map +1 -1
  180. package/lib/esm/utils/requestUtils.js +42 -64
  181. package/lib/esm/utils/requestUtils.js.map +1 -1
  182. package/lib/index.js +0 -8
  183. package/lib/index.js.map +1 -1
  184. package/lib/test-data/index.js +20 -22
  185. package/lib/test-data/index.js.map +1 -1
  186. package/lib/test-data/responses.js +1 -3
  187. package/lib/test-data/responses.js.map +1 -1
  188. package/lib/test-data/specs.js +0 -4
  189. package/lib/test-data/specs.js.map +1 -1
  190. package/lib/utils/RunItSDK.js +6 -15
  191. package/lib/utils/RunItSDK.js.map +1 -1
  192. package/lib/utils/index.js +0 -4
  193. package/lib/utils/index.js.map +1 -1
  194. package/lib/utils/requestUtils.d.ts +1 -1
  195. package/lib/utils/requestUtils.js +4 -61
  196. package/lib/utils/requestUtils.js.map +1 -1
  197. package/package.json +20 -19
package/CHANGELOG.md CHANGED
@@ -1,5 +1,24 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.9.43](https://github.com/looker-open-source/sdk-codegen/compare/run-it-v0.9.42...run-it-v0.9.43) (2023-02-22)
4
+
5
+
6
+ ### Features
7
+
8
+ * keep all body parameters toggle in API Explorer requests ([#1245](https://github.com/looker-open-source/sdk-codegen/issues/1245)) ([043ed3f](https://github.com/looker-open-source/sdk-codegen/commit/043ed3ff12cba4f821604b5b668d7301ed4aa6d1))
9
+ * track request time if the transport doesn't ([#1231](https://github.com/looker-open-source/sdk-codegen/issues/1231)) ([a0e31a4](https://github.com/looker-open-source/sdk-codegen/commit/a0e31a41c1075b653fc8a2bf44b297ff98b41c72))
10
+
11
+
12
+ ### Dependencies
13
+
14
+ * The following workspace dependencies were updated
15
+ * dependencies
16
+ * @looker/code-editor bumped from ^0.1.27 to ^0.1.28
17
+ * @looker/extension-utils bumped from ^0.1.19 to ^0.1.20
18
+ * @looker/sdk bumped from ^22.20.1 to ^23.0.0
19
+ * @looker/sdk-codegen bumped from ^21.7.4 to ^21.8.0
20
+ * @looker/sdk-rtl bumped from ^21.5.0 to ^21.6.0
21
+
3
22
  ### [0.9.42](https://www.github.com/looker-open-source/sdk-codegen/compare/run-it-v0.9.41...run-it-v0.9.42) (2022-12-09)
4
23
 
5
24
 
@@ -618,4 +637,4 @@
618
637
  * @looker/sdk bumped from ^21.0.10 to ^21.4.0
619
638
  * @looker/sdk-codegen bumped from ^21.0.10 to ^21.0.11
620
639
  * @looker/sdk-codegen-utils bumped from ^21.0.10 to ^21.0.11
621
- * @looker/sdk-rtl bumped from ^21.0.10 to ^21.0.11
640
+ * @looker/sdk-rtl bumped from ^21.0.10 to ^21.0.11
package/lib/RunIt.js CHANGED
@@ -4,29 +4,17 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.RunIt = void 0;
7
-
8
7
  var _react = _interopRequireWildcard(require("react"));
9
-
10
8
  var _components = require("@looker/components");
11
-
12
9
  var _extensionUtils = require("@looker/extension-utils");
13
-
14
10
  var _components2 = require("./components");
15
-
16
11
  var _utils = require("./utils");
17
-
18
12
  var _ = require(".");
19
-
20
13
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
21
-
22
14
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
23
-
24
- function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
25
-
15
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
26
16
  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
27
-
28
17
  function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
29
-
30
18
  var RunIt = _ref => {
31
19
  var {
32
20
  adaptor,
@@ -45,6 +33,7 @@ var RunIt = _ref => {
45
33
  var [requestContent, setRequestContent] = (0, _react.useState)((0, _utils.initRequestContent)(inputs));
46
34
  var [activePathParams, setActivePathParams] = (0, _react.useState)({});
47
35
  var [loading, setLoading] = (0, _react.useState)(false);
36
+ var [keepBody, setKeepBody] = (0, _react.useState)(false);
48
37
  var [responseContent, setResponseContent] = (0, _react.useState)(undefined);
49
38
  var isExtension = adaptor.isExtension();
50
39
  var [hasConfig, setHasConfig] = (0, _react.useState)(isExtension || sdk.authSession.settings.authIsConfigured());
@@ -55,35 +44,31 @@ var RunIt = _ref => {
55
44
  (0, _react.useEffect)(() => {
56
45
  (0, _extensionUtils.registerEnvAdaptor)(adaptor);
57
46
  setInitialized(true);
58
- }, []);
59
-
47
+ }, [adaptor]);
48
+ var toggleKeepBody = _event => {
49
+ setKeepBody(prev => !prev);
50
+ };
60
51
  var handleConfig = _e => {
61
52
  tabs.onSelectTab(4);
62
53
  };
63
-
64
54
  var handleSubmit = function () {
65
55
  var _ref2 = _asyncToGenerator(function* (e) {
66
56
  e.preventDefault();
67
- var [pathParams, queryParams, body] = (0, _utils.createRequestParams)(inputs, requestContent);
68
-
57
+ var [pathParams, queryParams, body] = (0, _utils.createRequestParams)(inputs, requestContent, keepBody);
69
58
  if (body) {
70
59
  var [bodyParam] = method.bodyParams;
71
60
  var requiredKeys = Object.keys(bodyParam.type.requiredProperties);
72
61
  var message = (0, _components2.validateBody)(body, requiredKeys);
73
62
  setValidationMessage(message);
74
-
75
63
  if (message) {
76
64
  return;
77
65
  }
78
66
  }
79
-
80
67
  setActivePathParams(pathParams);
81
68
  tabs.onSelectTab(1);
82
-
83
69
  if (sdk) {
84
70
  setLoading(true);
85
71
  var response;
86
-
87
72
  try {
88
73
  response = yield (0, _utils.runRequest)(sdk, basePath, httpMethod, endpoint, pathParams, queryParams, body);
89
74
  } catch (err) {
@@ -96,17 +81,14 @@ var RunIt = _ref => {
96
81
  headers: {}
97
82
  };
98
83
  }
99
-
100
84
  setResponseContent(response);
101
85
  setLoading(false);
102
86
  }
103
87
  });
104
-
105
88
  return function handleSubmit(_x) {
106
89
  return _ref2.apply(this, arguments);
107
90
  };
108
91
  }();
109
-
110
92
  return _react.default.createElement(_components.Box, {
111
93
  bg: "background",
112
94
  py: "large",
@@ -144,7 +126,9 @@ var RunIt = _ref => {
144
126
  setHasConfig: setHasConfig,
145
127
  isExtension: isExtension,
146
128
  validationMessage: validationMessage,
147
- setValidationMessage: setValidationMessage
129
+ setValidationMessage: setValidationMessage,
130
+ keepBody: keepBody,
131
+ toggleKeepBody: toggleKeepBody
148
132
  })), _react.default.createElement(_components.TabPanel, {
149
133
  key: "response"
150
134
  }, _react.default.createElement(_components2.Loading, {
@@ -160,7 +144,8 @@ var RunIt = _ref => {
160
144
  sdkLanguage: sdkLanguage,
161
145
  api: api,
162
146
  method: method,
163
- inputs: (0, _utils.prepareInputs)(inputs, requestContent)
147
+ inputs: (0, _utils.prepareInputs)(inputs, requestContent),
148
+ keepBody: keepBody
164
149
  })), isExtension ? _react.default.createElement(_react.default.Fragment, null) : _react.default.createElement(_components.TabPanel, {
165
150
  key: "performance"
166
151
  }, _react.default.createElement(_components2.PerfTracker, {
@@ -172,6 +157,5 @@ var RunIt = _ref => {
172
157
  requestContent: requestContent
173
158
  })))));
174
159
  };
175
-
176
160
  exports.RunIt = RunIt;
177
161
  //# sourceMappingURL=RunIt.js.map
package/lib/RunIt.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/RunIt.tsx"],"names":["RunIt","adaptor","api","method","sdkLanguage","httpMethod","endpoint","sdk","initialized","setInitialized","basePath","RunItContext","inputs","requestContent","setRequestContent","activePathParams","setActivePathParams","loading","setLoading","responseContent","setResponseContent","undefined","isExtension","hasConfig","setHasConfig","authSession","settings","authIsConfigured","needsAuth","isAuthenticated","validationMessage","setValidationMessage","tabs","perf","PerfTimings","handleConfig","_e","onSelectTab","handleSubmit","e","preventDefault","pathParams","queryParams","body","bodyParam","bodyParams","requiredKeys","Object","keys","type","requiredProperties","message","response","err","ok","statusMessage","statusCode","contentType","JSON","stringify","headers"],"mappings":"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","sourcesContent":["/*\n\n MIT License\n\n Copyright (c) 2021 Looker Data Sciences, Inc.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n\n */\n\nimport type { BaseSyntheticEvent, FC } from 'react'\nimport React, { useContext, useState, useEffect } from 'react'\nimport {\n Box,\n Tab,\n TabList,\n TabPanels,\n TabPanel,\n useTabs,\n} from '@looker/components'\nimport type { ApiModel, IMethod } from '@looker/sdk-codegen'\nimport type {\n IEnvironmentAdaptor,\n OAuthConfigProvider,\n} from '@looker/extension-utils'\nimport { registerEnvAdaptor } from '@looker/extension-utils'\n\nimport type { ResponseContent } from './components'\nimport {\n RequestForm,\n ResponseExplorer,\n Loading,\n DocSdkCalls,\n ConfigForm,\n validateBody,\n PerfTimings,\n PerfTracker,\n} from './components'\nimport {\n initRequestContent,\n createRequestParams,\n runRequest,\n pathify,\n prepareInputs,\n createInputs,\n} from './utils'\nimport { RunItContext } from '.'\n\nexport type RunItHttpMethod = 'GET' | 'PUT' | 'POST' | 'PATCH' | 'DELETE'\n\n/**\n * Generic collection\n */\nexport type RunItValues = Record<string, any>\n\ntype RunItInputType =\n | 'boolean'\n | 'int64'\n | 'integer'\n | 'float'\n | 'double'\n | 'string'\n | 'hostname'\n | 'uuid'\n | 'uri'\n | 'ipv4'\n | 'ipv6'\n | 'email'\n | 'password'\n | 'datetime'\n\ntype RunItInputLocation = 'body' | 'path' | 'query' | 'header' | 'cookie'\n\n/**\n * A RunIt input type describing a single REST request's parameter or a structure\n */\nexport interface RunItInput {\n name: string\n location: RunItInputLocation\n /** A RunItInputType or a structure */\n type: RunItInputType | any\n required: boolean\n description: string\n}\n\ninterface RunItProps {\n adaptor: IEnvironmentAdaptor\n /** spec model to use for sdk call generation */\n api: ApiModel\n /** Method to test */\n method: IMethod\n /** Sdk language to use for generating call syntax */\n sdkLanguage?: string\n}\n\n/**\n * Given an array of inputs, a method, and an api model it renders a REST request form\n * which on submit performs a REST request and renders the response with the appropriate MIME type handler\n */\nexport const RunIt: FC<RunItProps> = ({\n adaptor,\n api,\n method,\n sdkLanguage = 'All',\n}) => {\n const httpMethod = method.httpMethod as RunItHttpMethod\n const endpoint = method.endpoint\n const sdk = adaptor.sdk\n const [initialized, setInitialized] = useState(false)\n const { basePath } = useContext(RunItContext)\n const [inputs] = useState(() => createInputs(api, method))\n\n /** Request related state */\n const [requestContent, setRequestContent] = useState(\n initRequestContent(inputs)\n )\n const [activePathParams, setActivePathParams] = useState({})\n const [loading, setLoading] = useState(false)\n const [responseContent, setResponseContent] =\n useState<ResponseContent>(undefined)\n\n /** Auth config related state */\n const isExtension = adaptor.isExtension()\n const [hasConfig, setHasConfig] = useState<boolean>(\n isExtension ||\n (sdk.authSession.settings as OAuthConfigProvider).authIsConfigured()\n )\n const [needsAuth] = useState<boolean>(\n () => !isExtension && !sdk.authSession.isAuthenticated()\n )\n\n const [validationMessage, setValidationMessage] = useState<string>('')\n const tabs = useTabs()\n\n const perf = new PerfTimings()\n\n useEffect(() => {\n registerEnvAdaptor(adaptor)\n setInitialized(true)\n }, [])\n\n const handleConfig = (_e: BaseSyntheticEvent) => {\n tabs.onSelectTab(4)\n }\n\n const handleSubmit = async (e: BaseSyntheticEvent) => {\n e.preventDefault()\n\n const [pathParams, queryParams, body] = createRequestParams(\n inputs,\n requestContent\n )\n if (body) {\n const [bodyParam] = method.bodyParams\n const requiredKeys = Object.keys(bodyParam.type.requiredProperties)\n const message = validateBody(body, requiredKeys)\n setValidationMessage(message)\n if (message) {\n // body has an error, don't run\n return\n }\n }\n setActivePathParams(pathParams)\n tabs.onSelectTab(1)\n if (sdk) {\n setLoading(true)\n let response: ResponseContent\n try {\n response = await runRequest(\n sdk,\n basePath,\n httpMethod,\n endpoint,\n pathParams,\n queryParams,\n body\n )\n } catch (err: any) {\n // This should not happen but it could. runRequest uses\n // sdk.ok to login once. sdk.ok throws an error so fake\n // out the response so something can be rendered.\n response = {\n ok: false,\n statusMessage: err.message ? err.message : 'Unknown error!',\n statusCode: -1,\n contentType: 'application/json',\n body: JSON.stringify(err),\n headers: {},\n } as ResponseContent\n }\n setResponseContent(response)\n setLoading(false)\n }\n }\n\n return (\n <Box bg=\"background\" py=\"large\" height=\"100%\">\n {!initialized ? (\n <Loading loading={true} />\n ) : (\n <>\n <TabList distribute {...tabs}>\n <Tab key=\"request\">Request</Tab>\n <Tab key=\"response\">Response</Tab>\n <Tab key=\"makeTheCall\">SDK Call</Tab>\n {isExtension ? <></> : <Tab key=\"performance\">Performance</Tab>}\n {isExtension ? <></> : <Tab key=\"configuration\">Configure</Tab>}\n </TabList>\n <TabPanels px=\"xxlarge\" {...tabs} overflow=\"auto\" height=\"87vh\">\n <TabPanel key=\"request\">\n <RequestForm\n httpMethod={httpMethod}\n inputs={inputs}\n requestContent={requestContent}\n setRequestContent={setRequestContent}\n handleSubmit={handleSubmit}\n needsAuth={needsAuth}\n hasConfig={hasConfig}\n handleConfig={handleConfig}\n setHasConfig={setHasConfig}\n isExtension={isExtension}\n validationMessage={validationMessage}\n setValidationMessage={setValidationMessage}\n />\n </TabPanel>\n <TabPanel key=\"response\">\n <Loading\n loading={loading}\n message={`${httpMethod} ${pathify(endpoint, activePathParams)}`}\n />\n <ResponseExplorer\n response={responseContent}\n verb={httpMethod}\n path={pathify(endpoint, activePathParams)}\n />\n </TabPanel>\n <TabPanel key=\"makeTheCall\">\n <DocSdkCalls\n sdkLanguage={sdkLanguage}\n api={api}\n method={method}\n inputs={prepareInputs(inputs, requestContent)}\n />\n </TabPanel>\n {isExtension ? (\n <></>\n ) : (\n <TabPanel key=\"performance\">\n <PerfTracker perf={perf} />\n </TabPanel>\n )}\n {isExtension ? (\n <></>\n ) : (\n <TabPanel key=\"config\">\n <ConfigForm\n setHasConfig={setHasConfig}\n requestContent={requestContent}\n />\n </TabPanel>\n )}\n </TabPanels>\n </>\n )}\n </Box>\n )\n}\n"],"file":"RunIt.js"}
1
+ {"version":3,"file":"RunIt.js","names":["RunIt","adaptor","api","method","sdkLanguage","httpMethod","endpoint","sdk","initialized","setInitialized","useState","basePath","useContext","RunItContext","inputs","createInputs","requestContent","setRequestContent","initRequestContent","activePathParams","setActivePathParams","loading","setLoading","keepBody","setKeepBody","responseContent","setResponseContent","undefined","isExtension","hasConfig","setHasConfig","authSession","settings","authIsConfigured","needsAuth","isAuthenticated","validationMessage","setValidationMessage","tabs","useTabs","perf","PerfTimings","useEffect","registerEnvAdaptor","toggleKeepBody","_event","prev","handleConfig","_e","onSelectTab","handleSubmit","e","preventDefault","pathParams","queryParams","body","createRequestParams","bodyParam","bodyParams","requiredKeys","Object","keys","type","requiredProperties","message","validateBody","response","runRequest","err","ok","statusMessage","statusCode","contentType","JSON","stringify","headers","pathify","prepareInputs"],"sources":["../src/RunIt.tsx"],"sourcesContent":["/*\n\n MIT License\n\n Copyright (c) 2021 Looker Data Sciences, Inc.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n\n */\n\nimport type { BaseSyntheticEvent, FC, FormEventHandler } from 'react'\nimport React, { useContext, useState, useEffect } from 'react'\nimport {\n Box,\n Tab,\n TabList,\n TabPanels,\n TabPanel,\n useTabs,\n} from '@looker/components'\nimport type { ApiModel, IMethod } from '@looker/sdk-codegen'\nimport type {\n IEnvironmentAdaptor,\n OAuthConfigProvider,\n} from '@looker/extension-utils'\nimport { registerEnvAdaptor } from '@looker/extension-utils'\n\nimport type { ResponseContent } from './components'\nimport {\n RequestForm,\n ResponseExplorer,\n Loading,\n DocSdkCalls,\n ConfigForm,\n validateBody,\n PerfTimings,\n PerfTracker,\n} from './components'\nimport {\n initRequestContent,\n createRequestParams,\n runRequest,\n pathify,\n prepareInputs,\n createInputs,\n} from './utils'\nimport { RunItContext } from '.'\n\nexport type RunItHttpMethod = 'GET' | 'PUT' | 'POST' | 'PATCH' | 'DELETE'\n\n/**\n * Generic collection\n */\nexport type RunItValues = Record<string, any>\n\ntype RunItInputType =\n | 'boolean'\n | 'int64'\n | 'integer'\n | 'float'\n | 'double'\n | 'string'\n | 'hostname'\n | 'uuid'\n | 'uri'\n | 'ipv4'\n | 'ipv6'\n | 'email'\n | 'password'\n | 'datetime'\n\ntype RunItInputLocation = 'body' | 'path' | 'query' | 'header' | 'cookie'\n\n/**\n * A RunIt input type describing a single REST request's parameter or a structure\n */\nexport interface RunItInput {\n name: string\n location: RunItInputLocation\n /** A RunItInputType or a structure */\n type: RunItInputType | any\n required: boolean\n description: string\n}\n\ninterface RunItProps {\n adaptor: IEnvironmentAdaptor\n /** spec model to use for sdk call generation */\n api: ApiModel\n /** Method to test */\n method: IMethod\n /** Sdk language to use for generating call syntax */\n sdkLanguage?: string\n}\n\n/**\n * Given an array of inputs, a method, and an api model it renders a REST request form\n * which on submit performs a REST request and renders the response with the appropriate MIME type handler\n */\nexport const RunIt: FC<RunItProps> = ({\n adaptor,\n api,\n method,\n sdkLanguage = 'All',\n}) => {\n const httpMethod = method.httpMethod as RunItHttpMethod\n const endpoint = method.endpoint\n const sdk = adaptor.sdk\n const [initialized, setInitialized] = useState(false)\n const { basePath } = useContext(RunItContext)\n const [inputs] = useState(() => createInputs(api, method))\n\n /** Request related state */\n const [requestContent, setRequestContent] = useState(\n initRequestContent(inputs)\n )\n const [activePathParams, setActivePathParams] = useState({})\n const [loading, setLoading] = useState<boolean>(false)\n const [keepBody, setKeepBody] = useState<boolean>(false)\n const [responseContent, setResponseContent] =\n useState<ResponseContent>(undefined)\n\n /** Auth config related state */\n const isExtension = adaptor.isExtension()\n const [hasConfig, setHasConfig] = useState<boolean>(\n isExtension ||\n (sdk.authSession.settings as OAuthConfigProvider).authIsConfigured()\n )\n const [needsAuth] = useState<boolean>(\n () => !isExtension && !sdk.authSession.isAuthenticated()\n )\n\n const [validationMessage, setValidationMessage] = useState<string>('')\n const tabs = useTabs()\n\n const perf = new PerfTimings()\n\n useEffect(() => {\n registerEnvAdaptor(adaptor)\n setInitialized(true)\n }, [adaptor])\n\n const toggleKeepBody: (_event: FormEventHandler<HTMLInputElement>) => void = (\n _event: FormEventHandler<HTMLInputElement>\n ) => {\n setKeepBody((prev) => !prev)\n }\n\n const handleConfig = (_e: BaseSyntheticEvent) => {\n tabs.onSelectTab(4)\n }\n\n const handleSubmit = async (e: BaseSyntheticEvent) => {\n e.preventDefault()\n\n const [pathParams, queryParams, body] = createRequestParams(\n inputs,\n requestContent,\n keepBody\n )\n if (body) {\n const [bodyParam] = method.bodyParams\n const requiredKeys = Object.keys(bodyParam.type.requiredProperties)\n const message = validateBody(body, requiredKeys)\n setValidationMessage(message)\n if (message) {\n // body has an error, don't run\n return\n }\n }\n setActivePathParams(pathParams)\n tabs.onSelectTab(1)\n if (sdk) {\n setLoading(true)\n let response: ResponseContent\n try {\n response = await runRequest(\n sdk,\n basePath,\n httpMethod,\n endpoint,\n pathParams,\n queryParams,\n body\n )\n } catch (err: any) {\n // This should not happen but it could. runRequest uses\n // sdk.ok to login once. sdk.ok throws an error so fake\n // out the response so something can be rendered.\n response = {\n ok: false,\n statusMessage: err.message ? err.message : 'Unknown error!',\n statusCode: -1,\n contentType: 'application/json',\n body: JSON.stringify(err),\n headers: {},\n } as ResponseContent\n }\n setResponseContent(response)\n setLoading(false)\n }\n }\n\n return (\n <Box bg=\"background\" py=\"large\" height=\"100%\">\n {!initialized ? (\n <Loading loading={true} />\n ) : (\n <>\n <TabList distribute {...tabs}>\n <Tab key=\"request\">Request</Tab>\n <Tab key=\"response\">Response</Tab>\n <Tab key=\"makeTheCall\">SDK Call</Tab>\n {isExtension ? <></> : <Tab key=\"performance\">Performance</Tab>}\n {isExtension ? <></> : <Tab key=\"configuration\">Configure</Tab>}\n </TabList>\n <TabPanels px=\"xxlarge\" {...tabs} overflow=\"auto\" height=\"87vh\">\n <TabPanel key=\"request\">\n <RequestForm\n httpMethod={httpMethod}\n inputs={inputs}\n requestContent={requestContent}\n setRequestContent={setRequestContent}\n handleSubmit={handleSubmit}\n needsAuth={needsAuth}\n hasConfig={hasConfig}\n handleConfig={handleConfig}\n setHasConfig={setHasConfig}\n isExtension={isExtension}\n validationMessage={validationMessage}\n setValidationMessage={setValidationMessage}\n keepBody={keepBody}\n toggleKeepBody={toggleKeepBody}\n />\n </TabPanel>\n <TabPanel key=\"response\">\n <Loading\n loading={loading}\n message={`${httpMethod} ${pathify(endpoint, activePathParams)}`}\n />\n <ResponseExplorer\n response={responseContent}\n verb={httpMethod}\n path={pathify(endpoint, activePathParams)}\n />\n </TabPanel>\n <TabPanel key=\"makeTheCall\">\n <DocSdkCalls\n sdkLanguage={sdkLanguage}\n api={api}\n method={method}\n inputs={prepareInputs(inputs, requestContent)}\n keepBody={keepBody}\n />\n </TabPanel>\n {isExtension ? (\n <></>\n ) : (\n <TabPanel key=\"performance\">\n <PerfTracker perf={perf} />\n </TabPanel>\n )}\n {isExtension ? (\n <></>\n ) : (\n <TabPanel key=\"config\">\n <ConfigForm\n setHasConfig={setHasConfig}\n requestContent={requestContent}\n />\n </TabPanel>\n )}\n </TabPanels>\n </>\n )}\n </Box>\n )\n}\n"],"mappings":"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"}
@@ -4,19 +4,14 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.RunItProvider = exports.RunItContext = void 0;
7
-
8
7
  var _react = _interopRequireWildcard(require("react"));
9
-
10
8
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
11
-
12
9
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
13
-
14
10
  var defaultRunItContextValue = {
15
11
  basePath: ''
16
12
  };
17
13
  var RunItContext = (0, _react.createContext)(defaultRunItContextValue);
18
14
  exports.RunItContext = RunItContext;
19
-
20
15
  var RunItProvider = _ref => {
21
16
  var {
22
17
  children,
@@ -28,6 +23,5 @@ var RunItProvider = _ref => {
28
23
  }
29
24
  }, children);
30
25
  };
31
-
32
26
  exports.RunItProvider = RunItProvider;
33
27
  //# sourceMappingURL=RunItProvider.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/RunItProvider.tsx"],"names":["defaultRunItContextValue","basePath","RunItContext","RunItProvider","children"],"mappings":";;;;;;;AA2BA;;;;;;AAUA,IAAMA,wBAA2C,GAAG;AAClDC,EAAAA,QAAQ,EAAE;AADwC,CAApD;AAIO,IAAMC,YAAY,GAAG,0BAC1BF,wBAD0B,CAArB;;;AASA,IAAMG,aAAqC,GAAG,QAG/C;AAAA,MAHgD;AACpDC,IAAAA,QADoD;AAEpDH,IAAAA;AAFoD,GAGhD;AACJ,SACE,6BAAC,YAAD,CAAc,QAAd;AAAuB,IAAA,KAAK,EAAE;AAAEA,MAAAA;AAAF;AAA9B,KACGG,QADH,CADF;AAKD,CATM","sourcesContent":["/*\n\n MIT License\n\n Copyright (c) 2021 Looker Data Sciences, Inc.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n\n */\n\nimport type { FC, ReactElement } from 'react'\nimport React, { createContext } from 'react'\n\nexport interface RunItContextProps {\n basePath: string\n}\n\nexport interface RunItProviderProps extends RunItContextProps {\n children: ReactElement<any> | ReactElement[]\n}\n\nconst defaultRunItContextValue: RunItContextProps = {\n basePath: '',\n}\n\nexport const RunItContext = createContext<RunItContextProps>(\n defaultRunItContextValue\n)\n\n/**\n * TODO: Eliminate this provider. Configurator currently duplicates adaptor\n * functionality. basePath can be passed as a prop and should be stored using\n * redux when RunIt has it.\n */\nexport const RunItProvider: FC<RunItProviderProps> = ({\n children,\n basePath,\n}) => {\n return (\n <RunItContext.Provider value={{ basePath }}>\n {children}\n </RunItContext.Provider>\n )\n}\n"],"file":"RunItProvider.js"}
1
+ {"version":3,"file":"RunItProvider.js","names":["defaultRunItContextValue","basePath","RunItContext","createContext","RunItProvider","children"],"sources":["../src/RunItProvider.tsx"],"sourcesContent":["/*\n\n MIT License\n\n Copyright (c) 2021 Looker Data Sciences, Inc.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n\n */\n\nimport type { FC, ReactElement } from 'react'\nimport React, { createContext } from 'react'\n\nexport interface RunItContextProps {\n basePath: string\n}\n\nexport interface RunItProviderProps extends RunItContextProps {\n children: ReactElement<any> | ReactElement[]\n}\n\nconst defaultRunItContextValue: RunItContextProps = {\n basePath: '',\n}\n\nexport const RunItContext = createContext<RunItContextProps>(\n defaultRunItContextValue\n)\n\n/**\n * TODO: Eliminate this provider. Configurator currently duplicates adaptor\n * functionality. basePath can be passed as a prop and should be stored using\n * redux when RunIt has it.\n */\nexport const RunItProvider: FC<RunItProviderProps> = ({\n children,\n basePath,\n}) => {\n return (\n <RunItContext.Provider value={{ basePath }}>\n {children}\n </RunItContext.Provider>\n )\n}\n"],"mappings":";;;;;;AA2BA;AAA4C;AAAA;AAU5C,IAAMA,wBAA2C,GAAG;EAClDC,QAAQ,EAAE;AACZ,CAAC;AAEM,IAAMC,YAAY,GAAG,IAAAC,oBAAa,EACvCH,wBAAwB,CACzB;AAAA;AAOM,IAAMI,aAAqC,GAAG,QAG/C;EAAA,IAHgD;IACpDC,QAAQ;IACRJ;EACF,CAAC;EACC,OACE,6BAAC,YAAY,CAAC,QAAQ;IAAC,KAAK,EAAE;MAAEA;IAAS;EAAE,GACxCI,QAAQ,CACa;AAE5B,CAAC;AAAA"}
@@ -4,19 +4,12 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.CollapserCard = void 0;
7
-
8
7
  var _react = _interopRequireDefault(require("react"));
9
-
10
8
  var _components = require("@looker/components");
11
-
12
9
  var _ArrowRight = require("@styled-icons/material/ArrowRight");
13
-
14
10
  var _ArrowDropDown = require("@styled-icons/material/ArrowDropDown");
15
-
16
11
  var _common = require("../common");
17
-
18
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
-
20
13
  var CollapserCard = _ref => {
21
14
  var {
22
15
  id,
@@ -51,6 +44,5 @@ var CollapserCard = _ref => {
51
44
  pb: "xlarge"
52
45
  }, children)));
53
46
  };
54
-
55
47
  exports.CollapserCard = CollapserCard;
56
48
  //# sourceMappingURL=CollapserCard.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/Collapser/CollapserCard.tsx"],"names":["CollapserCard","id","heading","children","defaultOpen","divider","level","value","toggle","close","open"],"mappings":";;;;;;;AA0BA;;AACA;;AACA;;AACA;;AAEA;;;;AAaO,IAAMA,aAAqC,GAAG,QAM/C;AAAA,MANgD;AACpDC,IAAAA,EADoD;AAEpDC,IAAAA,OAFoD;AAGpDC,IAAAA,QAHoD;AAIpDC,IAAAA,WAAW,GAAG,IAJsC;AAKpDC,IAAAA,OAAO,GAAG;AAL0C,GAMhD;AACJ,MAAMC,KAAK,GAAGD,OAAO,GAAG,IAAH,GAAU,IAA/B;AACA,MAAM;AAAEE,IAAAA,KAAF;AAASC,IAAAA;AAAT,MAAoB,2BAAUJ,WAAV,CAA1B;AAEA,SACE,6BAAC,gBAAD;AAAM,IAAA,OAAO,EAAC,MAAd;AAAqB,IAAA,aAAa,EAAC;AAAnC,KACGC,OAAO,IAAI,6BAAC,mBAAD;AAAS,IAAA,UAAU,EAAC;AAApB,IADd,EAEE,6BAAC,sBAAD;AACE,IAAA,EAAE,EAAEJ,EADN;AAEE,IAAA,iBAAiB,EAAC,MAFpB;AAGE,IAAA,MAAM,EAAEM,KAHV;AAIE,IAAA,UAAU,EAAEC,MAJd;AAKE,IAAA,cAAc,EAAE;AAAEC,MAAAA,KAAK,EAAE,6BAAC,sBAAD,OAAT;AAAyBC,MAAAA,IAAI,EAAE,6BAAC,4BAAD;AAA/B,KALlB;AAME,IAAA,KAAK,EAAE,6BAAC,oBAAD;AAAc,MAAA,EAAE,EAAEJ;AAAlB,OAA0BJ,OAA1B;AANT,KAQE,6BAAC,gBAAD;AAAM,IAAA,EAAE,EAAC;AAAT,KAAmBC,QAAnB,CARF,CAFF,CADF;AAeD,CAzBM","sourcesContent":["/*\n\n MIT License\n\n Copyright (c) 2021 Looker Data Sciences, Inc.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n\n */\nimport type { FC, ReactElement } from 'react'\nimport React from 'react'\nimport { useToggle, Accordion2, Divider, Box2 } from '@looker/components'\nimport { ArrowRight } from '@styled-icons/material/ArrowRight'\nimport { ArrowDropDown } from '@styled-icons/material/ArrowDropDown'\n\nimport { RunItHeading } from '../common'\n\ninterface CollapserCardProps {\n id?: string\n heading: string\n children: ReactElement\n defaultOpen?: boolean\n divider?: boolean\n}\n\n/**\n * Render a collapsable header and children\n */\nexport const CollapserCard: FC<CollapserCardProps> = ({\n id,\n heading,\n children,\n defaultOpen = true,\n divider = true,\n}) => {\n const level = divider ? 'h3' : 'h4'\n const { value, toggle } = useToggle(defaultOpen)\n\n return (\n <Box2 display=\"flex\" flexDirection=\"column\">\n {divider && <Divider appearance=\"light\" />}\n <Accordion2\n id={id}\n indicatorPosition=\"left\"\n isOpen={value}\n toggleOpen={toggle}\n indicatorIcons={{ close: <ArrowRight />, open: <ArrowDropDown /> }}\n label={<RunItHeading as={level}>{heading}</RunItHeading>}\n >\n <Box2 pb=\"xlarge\">{children}</Box2>\n </Accordion2>\n </Box2>\n )\n}\n"],"file":"CollapserCard.js"}
1
+ {"version":3,"file":"CollapserCard.js","names":["CollapserCard","id","heading","children","defaultOpen","divider","level","value","toggle","useToggle","close","open"],"sources":["../../../src/components/Collapser/CollapserCard.tsx"],"sourcesContent":["/*\n\n MIT License\n\n Copyright (c) 2021 Looker Data Sciences, Inc.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n\n */\nimport type { FC, ReactElement } from 'react'\nimport React from 'react'\nimport { useToggle, Accordion2, Divider, Box2 } from '@looker/components'\nimport { ArrowRight } from '@styled-icons/material/ArrowRight'\nimport { ArrowDropDown } from '@styled-icons/material/ArrowDropDown'\n\nimport { RunItHeading } from '../common'\n\ninterface CollapserCardProps {\n id?: string\n heading: string\n children: ReactElement\n defaultOpen?: boolean\n divider?: boolean\n}\n\n/**\n * Render a collapsable header and children\n */\nexport const CollapserCard: FC<CollapserCardProps> = ({\n id,\n heading,\n children,\n defaultOpen = true,\n divider = true,\n}) => {\n const level = divider ? 'h3' : 'h4'\n const { value, toggle } = useToggle(defaultOpen)\n\n return (\n <Box2 display=\"flex\" flexDirection=\"column\">\n {divider && <Divider appearance=\"light\" />}\n <Accordion2\n id={id}\n indicatorPosition=\"left\"\n isOpen={value}\n toggleOpen={toggle}\n indicatorIcons={{ close: <ArrowRight />, open: <ArrowDropDown /> }}\n label={<RunItHeading as={level}>{heading}</RunItHeading>}\n >\n <Box2 pb=\"xlarge\">{children}</Box2>\n </Accordion2>\n </Box2>\n )\n}\n"],"mappings":";;;;;;AA0BA;AACA;AACA;AACA;AAEA;AAAwC;AAajC,IAAMA,aAAqC,GAAG,QAM/C;EAAA,IANgD;IACpDC,EAAE;IACFC,OAAO;IACPC,QAAQ;IACRC,WAAW,GAAG,IAAI;IAClBC,OAAO,GAAG;EACZ,CAAC;EACC,IAAMC,KAAK,GAAGD,OAAO,GAAG,IAAI,GAAG,IAAI;EACnC,IAAM;IAAEE,KAAK;IAAEC;EAAO,CAAC,GAAG,IAAAC,qBAAS,EAACL,WAAW,CAAC;EAEhD,OACE,6BAAC,gBAAI;IAAC,OAAO,EAAC,MAAM;IAAC,aAAa,EAAC;EAAQ,GACxCC,OAAO,IAAI,6BAAC,mBAAO;IAAC,UAAU,EAAC;EAAO,EAAG,EAC1C,6BAAC,sBAAU;IACT,EAAE,EAAEJ,EAAG;IACP,iBAAiB,EAAC,MAAM;IACxB,MAAM,EAAEM,KAAM;IACd,UAAU,EAAEC,MAAO;IACnB,cAAc,EAAE;MAAEE,KAAK,EAAE,6BAAC,sBAAU,OAAG;MAAEC,IAAI,EAAE,6BAAC,4BAAa;IAAI,CAAE;IACnE,KAAK,EAAE,6BAAC,oBAAY;MAAC,EAAE,EAAEL;IAAM,GAAEJ,OAAO;EAAiB,GAEzD,6BAAC,gBAAI;IAAC,EAAE,EAAC;EAAQ,GAAEC,QAAQ,CAAQ,CACxB,CACR;AAEX,CAAC;AAAA"}
@@ -9,6 +9,5 @@ Object.defineProperty(exports, "CollapserCard", {
9
9
  return _CollapserCard.CollapserCard;
10
10
  }
11
11
  });
12
-
13
12
  var _CollapserCard = require("./CollapserCard");
14
13
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/Collapser/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AA0BA","sourcesContent":["/*\n\n MIT License\n\n Copyright (c) 2021 Looker Data Sciences, Inc.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n\n */\n\nexport { CollapserCard } from './CollapserCard'\n"],"file":"index.js"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../src/components/Collapser/index.ts"],"sourcesContent":["/*\n\n MIT License\n\n Copyright (c) 2021 Looker Data Sciences, Inc.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n\n */\n\nexport { CollapserCard } from './CollapserCard'\n"],"mappings":";;;;;;;;;;;AA0BA"}
@@ -4,35 +4,22 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.ConfigForm = void 0;
7
-
8
7
  var _react = _interopRequireWildcard(require("react"));
9
-
10
8
  var _components = require("@looker/components");
11
-
12
9
  var _codeEditor = require("@looker/code-editor");
13
-
14
10
  var _extensionUtils = require("@looker/extension-utils");
15
-
16
11
  var _reactRouterDom = require("react-router-dom");
17
-
18
12
  var _ = require("../..");
19
-
20
13
  var _utils = require("./utils");
21
-
22
14
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
23
-
24
15
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
25
-
26
16
  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
27
-
28
17
  function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
29
-
30
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
31
-
32
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
33
-
34
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
35
-
18
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
19
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
20
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
21
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
22
+ function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
36
23
  var POSITIVE = 'positive';
37
24
  var defaultFieldValues = {
38
25
  baseUrl: '',
@@ -40,7 +27,6 @@ var defaultFieldValues = {
40
27
  fetchResult: '',
41
28
  fetchIntent: POSITIVE
42
29
  };
43
-
44
30
  var ConfigForm = _ref => {
45
31
  var {
46
32
  title,
@@ -59,20 +45,16 @@ var ConfigForm = _ref => {
59
45
  var adaptor = (0, _extensionUtils.getEnvAdaptor)();
60
46
  var sdk = adaptor.sdk;
61
47
  title = title || 'RunIt Configuration';
62
-
63
48
  var getConfig = () => {
64
49
  var data = localStorage.getItem(_utils.RunItConfigKey);
65
50
  var result = data ? JSON.parse(data) : _utils.RunItNoConfig;
66
51
  return result;
67
52
  };
68
-
69
53
  var config = getConfig();
70
54
  var [fields, setFields] = (0, _react.useState)(defaultFieldValues);
71
55
  var [saved, setSaved] = (0, _react.useState)(config);
72
-
73
56
  var updateFields = function updateFields(nameOrValues) {
74
57
  var value = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
75
-
76
58
  if (typeof nameOrValues === 'string') {
77
59
  setFields(previousFields => {
78
60
  return _objectSpread(_objectSpread({}, previousFields), {
@@ -85,7 +67,6 @@ var ConfigForm = _ref => {
85
67
  });
86
68
  }
87
69
  };
88
-
89
70
  (0, _react.useEffect)(() => {
90
71
  var data = getConfig();
91
72
  var {
@@ -100,23 +81,19 @@ var ConfigForm = _ref => {
100
81
  });
101
82
  }, []);
102
83
  var [validationMessages, setValidationMessages] = (0, _react.useState)({});
103
-
104
84
  var updateMessage = (intent, message) => {
105
85
  updateFields({
106
86
  [FETCH_RESULT]: message,
107
87
  [FETCH_INTENT]: intent
108
88
  });
109
89
  };
110
-
111
90
  var isConfigured = () => {
112
91
  return saved !== _utils.RunItNoConfig && fields[BASE_URL] === saved.base_url && fields[WEB_URL] === saved.looker_url;
113
92
  };
114
-
115
93
  var fetchError = message => {
116
94
  updateFields(WEB_URL, '');
117
95
  updateMessage(CRITICAL, message);
118
96
  };
119
-
120
97
  var saveConfig = (baseUrl, webUrl) => {
121
98
  var data = {
122
99
  base_url: baseUrl,
@@ -133,12 +110,10 @@ var ConfigForm = _ref => {
133
110
  setSaved(data);
134
111
  updateMessage(POSITIVE, "Saved ".concat(webUrl, " as OAuth server"));
135
112
  };
136
-
137
113
  var updateForm = function () {
138
114
  var _ref2 = _asyncToGenerator(function* (_e, save) {
139
115
  updateMessage('inform', '');
140
116
  var versionsUrl = "".concat(fields.baseUrl, "/versions");
141
-
142
117
  try {
143
118
  var {
144
119
  web_server_url: webUrl,
@@ -149,7 +124,6 @@ var ConfigForm = _ref => {
149
124
  [BASE_URL]: baseUrl,
150
125
  [WEB_URL]: webUrl
151
126
  });
152
-
153
127
  if (save) {
154
128
  saveConfig(baseUrl, webUrl);
155
129
  }
@@ -157,32 +131,26 @@ var ConfigForm = _ref => {
157
131
  fetchError(e.message);
158
132
  }
159
133
  });
160
-
161
134
  return function updateForm(_x, _x2) {
162
135
  return _ref2.apply(this, arguments);
163
136
  };
164
137
  }();
165
-
166
138
  var handleSave = function () {
167
139
  var _ref3 = _asyncToGenerator(function* (e) {
168
140
  yield updateForm(e, true);
169
141
  });
170
-
171
142
  return function handleSave(_x3) {
172
143
  return _ref3.apply(this, arguments);
173
144
  };
174
145
  }();
175
-
176
146
  var handleVerify = function () {
177
147
  var _ref4 = _asyncToGenerator(function* (e) {
178
148
  yield updateForm(e, false);
179
149
  });
180
-
181
150
  return function handleVerify(_x4) {
182
151
  return _ref4.apply(this, arguments);
183
152
  };
184
153
  }();
185
-
186
154
  var handleClear = function () {
187
155
  var _ref5 = _asyncToGenerator(function* (_e) {
188
156
  localStorage.removeItem(_utils.RunItConfigKey);
@@ -194,24 +162,18 @@ var ConfigForm = _ref => {
194
162
  });
195
163
  setSaved(_utils.RunItNoConfig);
196
164
  if (setHasConfig) setHasConfig(false);
197
-
198
165
  if (isAuthenticated()) {
199
166
  updateMessage('warn', 'Please reload the browser page to log out');
200
167
  }
201
168
  });
202
-
203
169
  return function handleClear(_x5) {
204
170
  return _ref5.apply(this, arguments);
205
171
  };
206
172
  }();
207
-
208
173
  var handleUrlChange = event => {
209
174
  var name = event.currentTarget.name;
210
-
211
175
  var newValidationMessages = _objectSpread({}, validationMessages);
212
-
213
176
  var url = (0, _utils.validateUrl)(event.currentTarget.value);
214
-
215
177
  if (url) {
216
178
  delete newValidationMessages[name];
217
179
  event.currentTarget.value = url;
@@ -221,37 +183,29 @@ var ConfigForm = _ref => {
221
183
  type: 'error'
222
184
  };
223
185
  }
224
-
225
186
  updateFields({
226
187
  [event.currentTarget.name]: event.currentTarget.value,
227
188
  [WEB_URL]: ''
228
189
  });
229
190
  setValidationMessages(newValidationMessages);
230
191
  };
231
-
232
192
  var isAuthenticated = () => sdk.authSession.isAuthenticated();
233
-
234
193
  var verifyButtonDisabled = fields.baseUrl.trim().length === 0 || Object.keys(validationMessages).length > 0;
235
194
  var saveButtonDisabled = verifyButtonDisabled || fields.webUrl.trim().length === 0 || isConfigured();
236
195
  var clearButtonDisabled = fields.baseUrl.trim().length === 0;
237
196
  var loginButtonDisabled = verifyButtonDisabled || !isConfigured() || isAuthenticated();
238
-
239
197
  var handleLogin = function () {
240
198
  var _ref6 = _asyncToGenerator(function* (e) {
241
199
  e.preventDefault();
242
-
243
200
  if (requestContent) {
244
201
  localStorage.setItem(_utils.RunItFormKey, JSON.stringify(requestContent));
245
202
  }
246
-
247
203
  yield adaptor.login();
248
204
  });
249
-
250
205
  return function handleLogin(_x6) {
251
206
  return _ref6.apply(this, arguments);
252
207
  };
253
208
  }();
254
-
255
209
  return _react.default.createElement(_components.SpaceVertical, {
256
210
  gap: "u2"
257
211
  }, _react.default.createElement(_.RunItHeading, null, title), _react.default.createElement(_.DarkSpan, {
@@ -335,6 +289,5 @@ var ConfigForm = _ref => {
335
289
  disabled: loginButtonDisabled
336
290
  }, "Login")))));
337
291
  };
338
-
339
292
  exports.ConfigForm = ConfigForm;
340
293
  //# sourceMappingURL=ConfigForm.js.map