@looker/run-it 0.9.43-alpha.1648 → 0.9.43
Sign up to get free protection for your applications and to get access to all the features.
- package/CHANGELOG.md +20 -1
- package/lib/RunIt.js +12 -28
- package/lib/RunIt.js.map +1 -1
- package/lib/RunItProvider.js +0 -6
- package/lib/RunItProvider.js.map +1 -1
- package/lib/components/Collapser/CollapserCard.js +0 -8
- package/lib/components/Collapser/CollapserCard.js.map +1 -1
- package/lib/components/Collapser/index.js +0 -1
- package/lib/components/Collapser/index.js.map +1 -1
- package/lib/components/ConfigForm/ConfigForm.js +5 -52
- package/lib/components/ConfigForm/ConfigForm.js.map +1 -1
- package/lib/components/ConfigForm/index.js +0 -4
- package/lib/components/ConfigForm/index.js.map +1 -1
- package/lib/components/ConfigForm/utils.js +5 -21
- package/lib/components/ConfigForm/utils.js.map +1 -1
- package/lib/components/CopyLinkWrapper/CopyLinkWrapper.js +0 -16
- package/lib/components/CopyLinkWrapper/CopyLinkWrapper.js.map +1 -1
- package/lib/components/CopyLinkWrapper/index.js +0 -1
- package/lib/components/CopyLinkWrapper/index.js.map +1 -1
- package/lib/components/DataGrid/DataGrid.d.ts +2 -2
- package/lib/components/DataGrid/DataGrid.js +1 -9
- package/lib/components/DataGrid/DataGrid.js.map +1 -1
- package/lib/components/DataGrid/gridUtils.js +1 -22
- package/lib/components/DataGrid/gridUtils.js.map +1 -1
- package/lib/components/DataGrid/index.js +4 -6
- package/lib/components/DataGrid/index.js.map +1 -1
- package/lib/components/DocSdkCalls/DocMultiCall.js +0 -6
- package/lib/components/DocSdkCalls/DocMultiCall.js.map +1 -1
- package/lib/components/DocSdkCalls/DocSdkCalls.d.ts +1 -0
- package/lib/components/DocSdkCalls/DocSdkCalls.js +5 -17
- package/lib/components/DocSdkCalls/DocSdkCalls.js.map +1 -1
- package/lib/components/DocSdkCalls/callUtils.js +0 -5
- package/lib/components/DocSdkCalls/callUtils.js.map +1 -1
- package/lib/components/DocSdkCalls/index.js +4 -6
- package/lib/components/DocSdkCalls/index.js.map +1 -1
- package/lib/components/Loading/Loading.js +0 -5
- package/lib/components/Loading/Loading.js.map +1 -1
- package/lib/components/Loading/index.js +0 -1
- package/lib/components/Loading/index.js.map +1 -1
- package/lib/components/LoginForm/LoginForm.js +1 -16
- package/lib/components/LoginForm/LoginForm.js.map +1 -1
- package/lib/components/LoginForm/index.js +0 -1
- package/lib/components/LoginForm/index.js.map +1 -1
- package/lib/components/MethodBadge/MethodBadge.js +1 -16
- package/lib/components/MethodBadge/MethodBadge.js.map +1 -1
- package/lib/components/MethodBadge/index.js +0 -1
- package/lib/components/MethodBadge/index.js.map +1 -1
- package/lib/components/PerfTracker/PerfChart.js +0 -12
- package/lib/components/PerfTracker/PerfChart.js.map +1 -1
- package/lib/components/PerfTracker/PerfTable.js +0 -9
- package/lib/components/PerfTracker/PerfTable.js.map +1 -1
- package/lib/components/PerfTracker/PerfTracker.js +0 -18
- package/lib/components/PerfTracker/PerfTracker.js.map +1 -1
- package/lib/components/PerfTracker/index.js +4 -6
- package/lib/components/PerfTracker/index.js.map +1 -1
- package/lib/components/PerfTracker/perfTableUtils.d.ts +1 -1
- package/lib/components/PerfTracker/perfTableUtils.js +2 -18
- package/lib/components/PerfTracker/perfTableUtils.js.map +1 -1
- package/lib/components/PerfTracker/perfUtils.js +4 -42
- package/lib/components/PerfTracker/perfUtils.js.map +1 -1
- package/lib/components/RequestForm/FormItem.js +0 -5
- package/lib/components/RequestForm/FormItem.js.map +1 -1
- package/lib/components/RequestForm/RequestForm.d.ts +3 -1
- package/lib/components/RequestForm/RequestForm.js +25 -23
- package/lib/components/RequestForm/RequestForm.js.map +1 -1
- package/lib/components/RequestForm/formUtils.d.ts +1 -0
- package/lib/components/RequestForm/formUtils.js +9 -47
- package/lib/components/RequestForm/formUtils.js.map +1 -1
- package/lib/components/RequestForm/index.js +0 -2
- package/lib/components/RequestForm/index.js.map +1 -1
- package/lib/components/ResponseExplorer/ResponseExplorer.js +2 -22
- package/lib/components/ResponseExplorer/ResponseExplorer.js.map +1 -1
- package/lib/components/ResponseExplorer/index.js +0 -2
- package/lib/components/ResponseExplorer/index.js.map +1 -1
- package/lib/components/ShowResponse/ShowResponse.js +0 -7
- package/lib/components/ShowResponse/ShowResponse.js.map +1 -1
- package/lib/components/ShowResponse/index.js +0 -1
- package/lib/components/ShowResponse/index.js.map +1 -1
- package/lib/components/ShowResponse/responseUtils.js +4 -49
- package/lib/components/ShowResponse/responseUtils.js.map +1 -1
- package/lib/components/common/common.d.ts +2 -2
- package/lib/components/common/common.js +1 -5
- package/lib/components/common/common.js.map +1 -1
- package/lib/components/common/index.js +0 -1
- package/lib/components/common/index.js.map +1 -1
- package/lib/components/index.js +0 -26
- package/lib/components/index.js.map +1 -1
- package/lib/esm/RunIt.js +65 -62
- package/lib/esm/RunIt.js.map +1 -1
- package/lib/esm/RunItProvider.js +14 -4
- package/lib/esm/RunItProvider.js.map +1 -1
- package/lib/esm/components/Collapser/CollapserCard.js +22 -14
- package/lib/esm/components/Collapser/CollapserCard.js.map +1 -1
- package/lib/esm/components/Collapser/index.js +12 -1
- package/lib/esm/components/Collapser/index.js.map +1 -1
- package/lib/esm/components/ConfigForm/ConfigForm.js +63 -89
- package/lib/esm/components/ConfigForm/ConfigForm.js.map +1 -1
- package/lib/esm/components/ConfigForm/index.js +27 -2
- package/lib/esm/components/ConfigForm/index.js.map +1 -1
- package/lib/esm/components/ConfigForm/utils.js +25 -21
- package/lib/esm/components/ConfigForm/utils.js.map +1 -1
- package/lib/esm/components/CopyLinkWrapper/CopyLinkWrapper.js +22 -19
- package/lib/esm/components/CopyLinkWrapper/CopyLinkWrapper.js.map +1 -1
- package/lib/esm/components/CopyLinkWrapper/index.js +12 -1
- package/lib/esm/components/CopyLinkWrapper/index.js.map +1 -1
- package/lib/esm/components/DataGrid/DataGrid.js +25 -17
- package/lib/esm/components/DataGrid/DataGrid.js.map +1 -1
- package/lib/esm/components/DataGrid/gridUtils.js +26 -15
- package/lib/esm/components/DataGrid/gridUtils.js.map +1 -1
- package/lib/esm/components/DataGrid/index.js +25 -2
- package/lib/esm/components/DataGrid/index.js.map +1 -1
- package/lib/esm/components/DocSdkCalls/DocMultiCall.js +15 -7
- package/lib/esm/components/DocSdkCalls/DocMultiCall.js.map +1 -1
- package/lib/esm/components/DocSdkCalls/DocSdkCalls.js +30 -22
- package/lib/esm/components/DocSdkCalls/DocSdkCalls.js.map +1 -1
- package/lib/esm/components/DocSdkCalls/callUtils.js +10 -3
- package/lib/esm/components/DocSdkCalls/callUtils.js.map +1 -1
- package/lib/esm/components/DocSdkCalls/index.js +19 -2
- package/lib/esm/components/DocSdkCalls/index.js.map +1 -1
- package/lib/esm/components/Loading/Loading.js +14 -6
- package/lib/esm/components/Loading/Loading.js.map +1 -1
- package/lib/esm/components/Loading/index.js +12 -1
- package/lib/esm/components/Loading/index.js.map +1 -1
- package/lib/esm/components/LoginForm/LoginForm.js +21 -18
- package/lib/esm/components/LoginForm/LoginForm.js.map +1 -1
- package/lib/esm/components/LoginForm/index.js +18 -1
- package/lib/esm/components/LoginForm/index.js.map +1 -1
- package/lib/esm/components/MethodBadge/MethodBadge.js +19 -13
- package/lib/esm/components/MethodBadge/MethodBadge.js.map +1 -1
- package/lib/esm/components/MethodBadge/index.js +12 -1
- package/lib/esm/components/MethodBadge/index.js.map +1 -1
- package/lib/esm/components/PerfTracker/PerfChart.js +18 -16
- package/lib/esm/components/PerfTracker/PerfChart.js.map +1 -1
- package/lib/esm/components/PerfTracker/PerfTable.js +22 -15
- package/lib/esm/components/PerfTracker/PerfTable.js.map +1 -1
- package/lib/esm/components/PerfTracker/PerfTracker.js +33 -31
- package/lib/esm/components/PerfTracker/PerfTracker.js.map +1 -1
- package/lib/esm/components/PerfTracker/index.js +19 -2
- package/lib/esm/components/PerfTracker/index.js.map +1 -1
- package/lib/esm/components/PerfTracker/perfTableUtils.js +28 -26
- package/lib/esm/components/PerfTracker/perfTableUtils.js.map +1 -1
- package/lib/esm/components/PerfTracker/perfUtils.js +15 -39
- package/lib/esm/components/PerfTracker/perfUtils.js.map +1 -1
- package/lib/esm/components/RequestForm/FormItem.js +14 -6
- package/lib/esm/components/RequestForm/FormItem.js.map +1 -1
- package/lib/esm/components/RequestForm/RequestForm.js +50 -32
- package/lib/esm/components/RequestForm/RequestForm.js.map +1 -1
- package/lib/esm/components/RequestForm/formUtils.js +47 -53
- package/lib/esm/components/RequestForm/formUtils.js.map +1 -1
- package/lib/esm/components/RequestForm/index.js +19 -2
- package/lib/esm/components/RequestForm/index.js.map +1 -1
- package/lib/esm/components/ResponseExplorer/ResponseExplorer.js +41 -35
- package/lib/esm/components/ResponseExplorer/ResponseExplorer.js.map +1 -1
- package/lib/esm/components/ResponseExplorer/index.js +16 -1
- package/lib/esm/components/ResponseExplorer/index.js.map +1 -1
- package/lib/esm/components/ShowResponse/ShowResponse.js +14 -8
- package/lib/esm/components/ShowResponse/ShowResponse.js.map +1 -1
- package/lib/esm/components/ShowResponse/index.js +12 -1
- package/lib/esm/components/ShowResponse/index.js.map +1 -1
- package/lib/esm/components/ShowResponse/responseUtils.js +43 -61
- package/lib/esm/components/ShowResponse/responseUtils.js.map +1 -1
- package/lib/esm/components/common/common.js +13 -4
- package/lib/esm/components/common/common.js.map +1 -1
- package/lib/esm/components/common/index.js +18 -1
- package/lib/esm/components/common/index.js.map +1 -1
- package/lib/esm/components/index.js +148 -13
- package/lib/esm/components/index.js.map +1 -1
- package/lib/esm/index.js +49 -4
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/test-data/index.js +68 -0
- package/lib/esm/test-data/index.js.map +1 -0
- package/lib/esm/test-data/responses.js +139 -0
- package/lib/esm/test-data/responses.js.map +1 -0
- package/lib/esm/test-data/specs.js +11 -0
- package/lib/esm/test-data/specs.js.map +1 -0
- package/lib/esm/utils/RunItSDK.js +25 -20
- package/lib/esm/utils/RunItSDK.js.map +1 -1
- package/lib/esm/utils/index.js +27 -2
- package/lib/esm/utils/index.js.map +1 -1
- package/lib/esm/utils/requestUtils.js +42 -64
- package/lib/esm/utils/requestUtils.js.map +1 -1
- package/lib/index.js +0 -8
- package/lib/index.js.map +1 -1
- package/lib/test-data/index.js +20 -22
- package/lib/test-data/index.js.map +1 -1
- package/lib/test-data/responses.js +1 -3
- package/lib/test-data/responses.js.map +1 -1
- package/lib/test-data/specs.js +0 -4
- package/lib/test-data/specs.js.map +1 -1
- package/lib/utils/RunItSDK.js +6 -15
- package/lib/utils/RunItSDK.js.map +1 -1
- package/lib/utils/index.js +0 -4
- package/lib/utils/index.js.map +1 -1
- package/lib/utils/requestUtils.d.ts +1 -1
- package/lib/utils/requestUtils.js +4 -61
- package/lib/utils/requestUtils.js.map +1 -1
- 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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"}
|
package/lib/RunItProvider.js
CHANGED
@@ -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
|
package/lib/RunItProvider.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"
|
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,"
|
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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"
|
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
|
31
|
-
|
32
|
-
function
|
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
|