@looker/api-explorer 0.9.36 → 0.9.37

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (268) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/dist/bundle.js +1 -1
  3. package/dist/bundle.js.map +1 -1
  4. package/e2e/MethodScene.spec.ts +80 -0
  5. package/e2e/diffScene.spec.ts +28 -20
  6. package/e2e/e2e.spec.ts +45 -7
  7. package/lib/ApiExplorer.js +17 -6
  8. package/lib/ApiExplorer.js.map +1 -1
  9. package/lib/components/DocMarkdown/DocMarkdown.js +3 -1
  10. package/lib/components/DocMarkdown/DocMarkdown.js.map +1 -1
  11. package/lib/components/DocSDKs/DocDeclarations.js +10 -15
  12. package/lib/components/DocSDKs/DocDeclarations.js.map +1 -1
  13. package/lib/components/SelectorContainer/ApiSpecSelector.js +3 -1
  14. package/lib/components/SelectorContainer/ApiSpecSelector.js.map +1 -1
  15. package/lib/components/SelectorContainer/SdkLanguageSelector.js +20 -21
  16. package/lib/components/SelectorContainer/SdkLanguageSelector.js.map +1 -1
  17. package/lib/components/SelectorContainer/SelectorContainer.js +4 -1
  18. package/lib/components/SelectorContainer/SelectorContainer.js.map +1 -1
  19. package/lib/components/SelectorContainer/utils.d.ts +2 -0
  20. package/lib/components/SelectorContainer/utils.js +32 -0
  21. package/lib/components/SelectorContainer/utils.js.map +1 -0
  22. package/lib/components/SideNav/SideNav.js +20 -9
  23. package/lib/components/SideNav/SideNav.js.map +1 -1
  24. package/lib/components/SideNav/SideNavMethods.js +7 -6
  25. package/lib/components/SideNav/SideNavMethods.js.map +1 -1
  26. package/lib/components/SideNav/SideNavTypes.js +5 -4
  27. package/lib/components/SideNav/SideNavTypes.js.map +1 -1
  28. package/lib/components/index.d.ts +0 -1
  29. package/lib/components/index.js +0 -8
  30. package/lib/components/index.js.map +1 -1
  31. package/lib/esm/ApiExplorer.js +19 -8
  32. package/lib/esm/ApiExplorer.js.map +1 -1
  33. package/lib/esm/components/DocMarkdown/DocMarkdown.js +3 -1
  34. package/lib/esm/components/DocMarkdown/DocMarkdown.js.map +1 -1
  35. package/lib/esm/components/DocSDKs/DocDeclarations.js +9 -14
  36. package/lib/esm/components/DocSDKs/DocDeclarations.js.map +1 -1
  37. package/lib/esm/components/SelectorContainer/ApiSpecSelector.js +3 -1
  38. package/lib/esm/components/SelectorContainer/ApiSpecSelector.js.map +1 -1
  39. package/lib/esm/components/SelectorContainer/SdkLanguageSelector.js +16 -18
  40. package/lib/esm/components/SelectorContainer/SdkLanguageSelector.js.map +1 -1
  41. package/lib/esm/components/SelectorContainer/SelectorContainer.js +5 -2
  42. package/lib/esm/components/SelectorContainer/SelectorContainer.js.map +1 -1
  43. package/lib/esm/components/SelectorContainer/utils.js +22 -0
  44. package/lib/esm/components/SelectorContainer/utils.js.map +1 -0
  45. package/lib/esm/components/SideNav/SideNav.js +20 -10
  46. package/lib/esm/components/SideNav/SideNav.js.map +1 -1
  47. package/lib/esm/components/SideNav/SideNavMethods.js +8 -7
  48. package/lib/esm/components/SideNav/SideNavMethods.js.map +1 -1
  49. package/lib/esm/components/SideNav/SideNavTypes.js +6 -5
  50. package/lib/esm/components/SideNav/SideNavTypes.js.map +1 -1
  51. package/lib/esm/components/index.js +0 -1
  52. package/lib/esm/components/index.js.map +1 -1
  53. package/lib/esm/routes/AppRouter.js +6 -4
  54. package/lib/esm/routes/AppRouter.js.map +1 -1
  55. package/lib/esm/scenes/DiffScene/DiffScene.js +9 -7
  56. package/lib/esm/scenes/DiffScene/DiffScene.js.map +1 -1
  57. package/lib/esm/scenes/DiffScene/DocDiff/DiffItem.js +3 -1
  58. package/lib/esm/scenes/DiffScene/DocDiff/DiffItem.js.map +1 -1
  59. package/lib/esm/scenes/DiffScene/DocDiff/DocDiff.js +4 -4
  60. package/lib/esm/scenes/DiffScene/DocDiff/DocDiff.js.map +1 -1
  61. package/lib/esm/scenes/ErrorDetailScene/ErrorDetailScene.js +31 -0
  62. package/lib/esm/scenes/ErrorDetailScene/ErrorDetailScene.js.map +1 -0
  63. package/lib/esm/scenes/ErrorDetailScene/index.js +2 -0
  64. package/lib/esm/scenes/ErrorDetailScene/index.js.map +1 -0
  65. package/lib/esm/scenes/MethodScene/MethodScene.js +28 -9
  66. package/lib/esm/scenes/MethodScene/MethodScene.js.map +1 -1
  67. package/lib/esm/{components → scenes/MethodScene/components}/DocResponses/DocResponseTypes.js +1 -1
  68. package/lib/esm/scenes/MethodScene/components/DocResponses/DocResponseTypes.js.map +1 -0
  69. package/lib/esm/scenes/MethodScene/components/DocResponses/DocResponses.js +73 -0
  70. package/lib/esm/scenes/MethodScene/components/DocResponses/DocResponses.js.map +1 -0
  71. package/lib/esm/{components → scenes/MethodScene/components}/DocResponses/index.js +0 -0
  72. package/lib/esm/scenes/MethodScene/components/DocResponses/index.js.map +1 -0
  73. package/lib/esm/{components → scenes/MethodScene/components}/DocResponses/utils.js +0 -0
  74. package/lib/esm/scenes/MethodScene/components/DocResponses/utils.js.map +1 -0
  75. package/lib/esm/scenes/MethodScene/components/index.js +1 -0
  76. package/lib/esm/scenes/MethodScene/components/index.js.map +1 -1
  77. package/lib/esm/scenes/MethodTagScene/MethodTagScene.js +38 -11
  78. package/lib/esm/scenes/MethodTagScene/MethodTagScene.js.map +1 -1
  79. package/lib/esm/scenes/TypeScene/TypeScene.js +3 -1
  80. package/lib/esm/scenes/TypeScene/TypeScene.js.map +1 -1
  81. package/lib/esm/scenes/TypeTagScene/TypeTagScene.js +37 -10
  82. package/lib/esm/scenes/TypeTagScene/TypeTagScene.js.map +1 -1
  83. package/lib/esm/scenes/index.js +1 -0
  84. package/lib/esm/scenes/index.js.map +1 -1
  85. package/lib/esm/scenes/utils/hooks/index.js +2 -0
  86. package/lib/esm/scenes/utils/hooks/index.js.map +1 -0
  87. package/lib/esm/scenes/utils/hooks/tagStoreSync.js +37 -0
  88. package/lib/esm/scenes/utils/hooks/tagStoreSync.js.map +1 -0
  89. package/lib/esm/scenes/utils/index.js +2 -0
  90. package/lib/esm/scenes/utils/index.js.map +1 -0
  91. package/lib/esm/state/settings/selectors.js +1 -0
  92. package/lib/esm/state/settings/selectors.js.map +1 -1
  93. package/lib/esm/state/settings/slice.js +6 -1
  94. package/lib/esm/state/settings/slice.js.map +1 -1
  95. package/lib/esm/utils/hooks/globalStoreSync.js +53 -0
  96. package/lib/esm/utils/hooks/globalStoreSync.js.map +1 -0
  97. package/lib/esm/utils/hooks/index.js +4 -0
  98. package/lib/esm/utils/hooks/index.js.map +1 -0
  99. package/lib/esm/utils/hooks/navigation.js +72 -0
  100. package/lib/esm/utils/hooks/navigation.js.map +1 -0
  101. package/lib/esm/utils/hooks/useQuery.js +9 -0
  102. package/lib/esm/utils/hooks/useQuery.js.map +1 -0
  103. package/lib/esm/utils/index.js +2 -1
  104. package/lib/esm/utils/index.js.map +1 -1
  105. package/lib/esm/utils/path.js +21 -0
  106. package/lib/esm/utils/path.js.map +1 -1
  107. package/lib/esm/utils/sdkLanguage.js +42 -0
  108. package/lib/esm/utils/sdkLanguage.js.map +1 -0
  109. package/lib/routes/AppRouter.d.ts +1 -2
  110. package/lib/routes/AppRouter.js +5 -3
  111. package/lib/routes/AppRouter.js.map +1 -1
  112. package/lib/scenes/DiffScene/DiffScene.d.ts +0 -2
  113. package/lib/scenes/DiffScene/DiffScene.js +8 -6
  114. package/lib/scenes/DiffScene/DiffScene.js.map +1 -1
  115. package/lib/scenes/DiffScene/DocDiff/DiffItem.js +3 -1
  116. package/lib/scenes/DiffScene/DocDiff/DiffItem.js.map +1 -1
  117. package/lib/scenes/DiffScene/DocDiff/DocDiff.js +4 -4
  118. package/lib/scenes/DiffScene/DocDiff/DocDiff.js.map +1 -1
  119. package/lib/scenes/ErrorDetailScene/ErrorDetailScene.d.ts +7 -0
  120. package/lib/scenes/ErrorDetailScene/ErrorDetailScene.js +47 -0
  121. package/lib/scenes/ErrorDetailScene/ErrorDetailScene.js.map +1 -0
  122. package/lib/scenes/ErrorDetailScene/index.d.ts +1 -0
  123. package/lib/scenes/ErrorDetailScene/index.js +14 -0
  124. package/lib/{components/DocResponses → scenes/ErrorDetailScene}/index.js.map +1 -1
  125. package/lib/scenes/MethodScene/MethodScene.js +23 -4
  126. package/lib/scenes/MethodScene/MethodScene.js.map +1 -1
  127. package/lib/{components → scenes/MethodScene/components}/DocResponses/DocResponseTypes.d.ts +2 -2
  128. package/lib/{components → scenes/MethodScene/components}/DocResponses/DocResponseTypes.js +2 -2
  129. package/lib/scenes/MethodScene/components/DocResponses/DocResponseTypes.js.map +1 -0
  130. package/lib/scenes/MethodScene/components/DocResponses/DocResponses.d.ts +9 -0
  131. package/lib/scenes/MethodScene/components/DocResponses/DocResponses.js +93 -0
  132. package/lib/scenes/MethodScene/components/DocResponses/DocResponses.js.map +1 -0
  133. package/lib/{components → scenes/MethodScene/components}/DocResponses/index.d.ts +0 -0
  134. package/lib/{components → scenes/MethodScene/components}/DocResponses/index.js +0 -0
  135. package/lib/scenes/MethodScene/components/DocResponses/index.js.map +1 -0
  136. package/lib/{components → scenes/MethodScene/components}/DocResponses/utils.d.ts +0 -0
  137. package/lib/{components → scenes/MethodScene/components}/DocResponses/utils.js +0 -0
  138. package/lib/scenes/MethodScene/components/DocResponses/utils.js.map +1 -0
  139. package/lib/scenes/MethodScene/components/index.d.ts +1 -0
  140. package/lib/scenes/MethodScene/components/index.js +8 -0
  141. package/lib/scenes/MethodScene/components/index.js.map +1 -1
  142. package/lib/scenes/MethodTagScene/MethodTagScene.js +42 -12
  143. package/lib/scenes/MethodTagScene/MethodTagScene.js.map +1 -1
  144. package/lib/scenes/TypeScene/TypeScene.js +3 -1
  145. package/lib/scenes/TypeScene/TypeScene.js.map +1 -1
  146. package/lib/scenes/TypeTagScene/TypeTagScene.js +41 -11
  147. package/lib/scenes/TypeTagScene/TypeTagScene.js.map +1 -1
  148. package/lib/scenes/index.d.ts +1 -0
  149. package/lib/scenes/index.js +8 -0
  150. package/lib/scenes/index.js.map +1 -1
  151. package/lib/scenes/utils/hooks/index.d.ts +1 -0
  152. package/lib/scenes/utils/hooks/index.js +14 -0
  153. package/lib/scenes/utils/hooks/index.js.map +1 -0
  154. package/lib/scenes/utils/hooks/tagStoreSync.d.ts +1 -0
  155. package/lib/scenes/utils/hooks/tagStoreSync.js +51 -0
  156. package/lib/scenes/utils/hooks/tagStoreSync.js.map +1 -0
  157. package/lib/scenes/utils/index.d.ts +1 -0
  158. package/lib/scenes/utils/index.js +14 -0
  159. package/lib/scenes/utils/index.js.map +1 -0
  160. package/lib/state/settings/selectors.d.ts +2 -1
  161. package/lib/state/settings/selectors.js +5 -1
  162. package/lib/state/settings/selectors.js.map +1 -1
  163. package/lib/state/settings/slice.d.ts +7 -1
  164. package/lib/state/settings/slice.js +6 -1
  165. package/lib/state/settings/slice.js.map +1 -1
  166. package/lib/test-data/index.d.ts +1 -0
  167. package/lib/test-data/index.js +14 -0
  168. package/lib/test-data/index.js.map +1 -1
  169. package/lib/test-data/sdkLanguages.d.ts +10 -0
  170. package/lib/test-data/sdkLanguages.js +19 -0
  171. package/lib/test-data/sdkLanguages.js.map +1 -0
  172. package/lib/utils/hooks/globalStoreSync.d.ts +1 -0
  173. package/lib/utils/hooks/globalStoreSync.js +67 -0
  174. package/lib/utils/hooks/globalStoreSync.js.map +1 -0
  175. package/lib/utils/hooks/index.d.ts +3 -0
  176. package/lib/utils/hooks/index.js +30 -0
  177. package/lib/utils/hooks/index.js.map +1 -0
  178. package/lib/utils/hooks/navigation.d.ts +11 -0
  179. package/lib/utils/hooks/navigation.js +83 -0
  180. package/lib/utils/hooks/navigation.js.map +1 -0
  181. package/lib/utils/hooks/useQuery.d.ts +1 -0
  182. package/lib/utils/hooks/useQuery.js +20 -0
  183. package/lib/utils/hooks/useQuery.js.map +1 -0
  184. package/lib/utils/index.d.ts +2 -1
  185. package/lib/utils/index.js +29 -1
  186. package/lib/utils/index.js.map +1 -1
  187. package/lib/utils/path.d.ts +4 -0
  188. package/lib/utils/path.js +32 -1
  189. package/lib/utils/path.js.map +1 -1
  190. package/lib/utils/sdkLanguage.d.ts +6 -0
  191. package/lib/utils/sdkLanguage.js +59 -0
  192. package/lib/utils/sdkLanguage.js.map +1 -0
  193. package/package.json +14 -14
  194. package/src/ApiExplorer.tsx +13 -8
  195. package/src/components/DocMarkdown/DocMarkdown.tsx +1 -1
  196. package/src/components/DocSDKs/DocDeclarations.tsx +11 -22
  197. package/src/components/DocSDKs/DocSDKs.spec.tsx +4 -1
  198. package/src/components/Header/Header.spec.tsx +1 -1
  199. package/src/components/SelectorContainer/ApiSpecSelector.tsx +1 -1
  200. package/src/components/SelectorContainer/SdkLanguageSelector.spec.tsx +60 -33
  201. package/src/components/SelectorContainer/SdkLanguageSelector.tsx +15 -22
  202. package/src/components/SelectorContainer/SelectorContainer.spec.tsx +1 -1
  203. package/src/components/SelectorContainer/SelectorContainer.tsx +18 -15
  204. package/src/{utils/hooks.ts → components/SelectorContainer/utils.ts} +13 -21
  205. package/src/components/SideNav/SideNav.tsx +26 -14
  206. package/src/components/SideNav/SideNavMethods.spec.tsx +6 -8
  207. package/src/components/SideNav/SideNavMethods.tsx +8 -12
  208. package/src/components/SideNav/SideNavTypes.tsx +5 -10
  209. package/src/components/index.ts +0 -1
  210. package/src/routes/AppRouter.tsx +7 -5
  211. package/src/scenes/DiffScene/DiffScene.tsx +8 -8
  212. package/src/scenes/DiffScene/DocDiff/DiffItem.tsx +1 -1
  213. package/src/scenes/DiffScene/DocDiff/DocDiff.spec.tsx +73 -2
  214. package/src/scenes/DiffScene/DocDiff/DocDiff.tsx +4 -4
  215. package/src/scenes/ErrorDetailScene/ErrorDetailScene.tsx +72 -0
  216. package/src/scenes/ErrorDetailScene/index.ts +26 -0
  217. package/src/scenes/MethodScene/MethodScene.tsx +21 -7
  218. package/src/{components → scenes/MethodScene/components}/DocResponses/DocResponseTypes.tsx +3 -6
  219. package/src/scenes/MethodScene/components/DocResponses/DocResponses.spec.tsx +153 -0
  220. package/src/scenes/MethodScene/components/DocResponses/DocResponses.tsx +103 -0
  221. package/src/{components → scenes/MethodScene/components}/DocResponses/index.ts +0 -0
  222. package/src/{components → scenes/MethodScene/components}/DocResponses/utils.spec.ts +1 -1
  223. package/src/{components → scenes/MethodScene/components}/DocResponses/utils.ts +0 -0
  224. package/src/scenes/MethodScene/components/index.ts +1 -0
  225. package/src/scenes/MethodTagScene/MethodTagScene.spec.tsx +25 -14
  226. package/src/scenes/MethodTagScene/MethodTagScene.tsx +42 -11
  227. package/src/scenes/TypeScene/TypeScene.tsx +1 -1
  228. package/src/scenes/TypeTagScene/TypeTagScene.spec.tsx +21 -11
  229. package/src/scenes/TypeTagScene/TypeTagScene.tsx +44 -11
  230. package/src/scenes/index.ts +1 -0
  231. package/src/scenes/utils/hooks/index.ts +27 -0
  232. package/src/scenes/utils/hooks/tagStoreSync.spec.ts +102 -0
  233. package/src/scenes/utils/hooks/tagStoreSync.ts +68 -0
  234. package/src/scenes/utils/index.ts +27 -0
  235. package/src/state/settings/selectors.spec.ts +5 -1
  236. package/src/state/settings/selectors.ts +3 -0
  237. package/src/state/settings/slice.ts +6 -0
  238. package/src/test-data/index.ts +1 -0
  239. package/src/test-data/sdkLanguages.ts +36 -0
  240. package/src/utils/hooks/globalStoreSync.spec.tsx +146 -0
  241. package/src/utils/hooks/globalStoreSync.ts +77 -0
  242. package/src/utils/hooks/index.ts +28 -0
  243. package/src/utils/hooks/navigation.spec.ts +118 -0
  244. package/src/utils/hooks/navigation.ts +121 -0
  245. package/src/utils/hooks/useQuery.ts +36 -0
  246. package/src/utils/index.ts +2 -1
  247. package/src/utils/path.spec.ts +67 -1
  248. package/src/utils/path.ts +35 -0
  249. package/src/utils/sdkLanguage.spec.ts +69 -0
  250. package/src/utils/sdkLanguage.ts +63 -0
  251. package/lib/components/DocResponses/DocResponseTypes.js.map +0 -1
  252. package/lib/components/DocResponses/DocResponses.d.ts +0 -8
  253. package/lib/components/DocResponses/DocResponses.js +0 -46
  254. package/lib/components/DocResponses/DocResponses.js.map +0 -1
  255. package/lib/components/DocResponses/utils.js.map +0 -1
  256. package/lib/esm/components/DocResponses/DocResponseTypes.js.map +0 -1
  257. package/lib/esm/components/DocResponses/DocResponses.js +0 -30
  258. package/lib/esm/components/DocResponses/DocResponses.js.map +0 -1
  259. package/lib/esm/components/DocResponses/index.js.map +0 -1
  260. package/lib/esm/components/DocResponses/utils.js.map +0 -1
  261. package/lib/esm/utils/hooks.js +0 -26
  262. package/lib/esm/utils/hooks.js.map +0 -1
  263. package/lib/utils/hooks.d.ts +0 -3
  264. package/lib/utils/hooks.js +0 -36
  265. package/lib/utils/hooks.js.map +0 -1
  266. package/src/components/DocResponses/DocResponses.spec.tsx +0 -60
  267. package/src/components/DocResponses/DocResponses.tsx +0 -69
  268. package/src/utils/hooks.spec.ts +0 -78
@@ -11,11 +11,17 @@ var _reactRouterDom = require("react-router-dom");
11
11
 
12
12
  var _components = require("@looker/components");
13
13
 
14
+ var _reactRedux = require("react-redux");
15
+
14
16
  var _components2 = require("../../components");
15
17
 
16
18
  var _utils = require("../../utils");
17
19
 
18
- var _utils2 = require("./utils");
20
+ var _state = require("../../state");
21
+
22
+ var _utils2 = require("../utils");
23
+
24
+ var _utils3 = require("./utils");
19
25
 
20
26
  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
27
 
@@ -30,15 +36,39 @@ var MethodTagScene = _ref => {
30
36
  methodTag
31
37
  } = (0, _reactRouterDom.useParams)();
32
38
  var history = (0, _reactRouterDom.useHistory)();
33
- var navigate = (0, _utils.useNavigation)();
34
- var [value, setValue] = (0, _react.useState)('ALL');
35
- (0, _react.useEffect)(() => {
36
- setValue('ALL');
37
- }, [methodTag]);
38
39
  var methods = api.tags[methodTag];
40
+ var {
41
+ navigate,
42
+ buildPathWithGlobalParams,
43
+ navigateWithGlobalParams
44
+ } = (0, _utils.useNavigation)();
45
+ var selectedTagFilter = (0, _reactRedux.useSelector)(_state.selectTagFilter);
46
+ var {
47
+ setTagFilterAction
48
+ } = (0, _state.useSettingActions)();
49
+ var [tagFilter, setTagFilter] = (0, _react.useState)(selectedTagFilter);
50
+ (0, _utils2.useTagStoreSync)();
51
+
52
+ var handleChange = filter => {
53
+ navigate(location.pathname, {
54
+ t: filter === 'ALL' ? null : filter.toLowerCase()
55
+ });
56
+ };
57
+
58
+ (0, _react.useEffect)(() => {
59
+ var searchParams = new URLSearchParams(location.search);
60
+ var verbParam = searchParams.get('t') || 'ALL';
61
+ verbParam = (0, _utils.isValidFilter)(location.pathname, verbParam) ? verbParam.toUpperCase() : 'ALL';
62
+ setTagFilterAction({
63
+ tagFilter: verbParam
64
+ });
65
+ }, [location.search]);
66
+ (0, _react.useEffect)(() => {
67
+ setTagFilter(selectedTagFilter);
68
+ }, [selectedTagFilter]);
39
69
  (0, _react.useEffect)(() => {
40
70
  if (!methods) {
41
- navigate("/".concat(specKey, "/methods"));
71
+ navigateWithGlobalParams("/".concat(specKey, "/methods"));
42
72
  }
43
73
  }, [history, methods]);
44
74
 
@@ -47,12 +77,12 @@ var MethodTagScene = _ref => {
47
77
  }
48
78
 
49
79
  var tag = Object.values(api.spec.tags).find(tag => tag.name === methodTag);
50
- var operations = (0, _utils2.getOperations)(methods);
80
+ var operations = (0, _utils3.getOperations)(methods);
51
81
  return _react.default.createElement(_components2.ApixSection, null, _react.default.createElement(_components2.DocTitle, null, "".concat(tag.name, ": ").concat(tag.description)), _react.default.createElement(_components.ButtonToggle, {
52
82
  mb: "small",
53
83
  mt: "xlarge",
54
- value: value,
55
- onChange: setValue
84
+ value: tagFilter,
85
+ onChange: handleChange
56
86
  }, _react.default.createElement(_components.ButtonItem, {
57
87
  key: "ALL",
58
88
  px: "large",
@@ -61,9 +91,9 @@ var MethodTagScene = _ref => {
61
91
  key: op,
62
92
  px: "large",
63
93
  py: "xsmall"
64
- }, op))), Object.values(methods).map((method, index) => (value === 'ALL' || value === method.httpMethod) && _react.default.createElement(_components2.Link, {
94
+ }, op))), Object.values(methods).map((method, index) => (selectedTagFilter === 'ALL' || selectedTagFilter === method.httpMethod) && _react.default.createElement(_components2.Link, {
65
95
  key: index,
66
- to: (0, _utils.buildMethodPath)(specKey, tag.name, method.name)
96
+ to: buildPathWithGlobalParams((0, _utils.buildMethodPath)(specKey, tag.name, method.name))
67
97
  }, _react.default.createElement(_components.Grid, {
68
98
  columns: 1,
69
99
  py: "xsmall"
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/scenes/MethodTagScene/MethodTagScene.tsx"],"names":["MethodTagScene","api","specKey","methodTag","history","navigate","value","setValue","methods","tags","tag","Object","values","spec","find","name","operations","description","map","op","method","index","httpMethod"],"mappings":";;;;;;;AA0BA;;AACA;;AACA;;AAEA;;AACA;;AACA;;;;;;AAWO,IAAMA,cAAuC,GAAG,QAAa;AAAA,MAAZ;AAAEC,IAAAA;AAAF,GAAY;AAClE,MAAM;AAAEC,IAAAA,OAAF;AAAWC,IAAAA;AAAX,MAAyB,gCAA/B;AACA,MAAMC,OAAO,GAAG,iCAAhB;AACA,MAAMC,QAAQ,GAAG,2BAAjB;AACA,MAAM,CAACC,KAAD,EAAQC,QAAR,IAAoB,qBAAS,KAAT,CAA1B;AAEA,wBAAU,MAAM;AAEdA,IAAAA,QAAQ,CAAC,KAAD,CAAR;AACD,GAHD,EAGG,CAACJ,SAAD,CAHH;AAKA,MAAMK,OAAO,GAAGP,GAAG,CAACQ,IAAJ,CAASN,SAAT,CAAhB;AACA,wBAAU,MAAM;AACd,QAAI,CAACK,OAAL,EAAc;AACZH,MAAAA,QAAQ,YAAKH,OAAL,cAAR;AACD;AACF,GAJD,EAIG,CAACE,OAAD,EAAUI,OAAV,CAJH;;AAKA,MAAI,CAACA,OAAL,EAAc;AACZ,WAAO,2DAAP;AACD;;AACD,MAAME,GAAG,GAAGC,MAAM,CAACC,MAAP,CAAcX,GAAG,CAACY,IAAJ,CAASJ,IAAvB,EAA8BK,IAA9B,CACTJ,GAAD,IAASA,GAAG,CAACK,IAAJ,KAAaZ,SADZ,CAAZ;AAGA,MAAMa,UAAU,GAAG,2BAAcR,OAAd,CAAnB;AAEA,SACE,6BAAC,wBAAD,QACE,6BAAC,qBAAD,kBAAcE,GAAG,CAACK,IAAlB,eAA2BL,GAAG,CAACO,WAA/B,EADF,EAEE,6BAAC,wBAAD;AAAc,IAAA,EAAE,EAAC,OAAjB;AAAyB,IAAA,EAAE,EAAC,QAA5B;AAAqC,IAAA,KAAK,EAAEX,KAA5C;AAAmD,IAAA,QAAQ,EAAEC;AAA7D,KACE,6BAAC,sBAAD;AAAY,IAAA,GAAG,EAAC,KAAhB;AAAsB,IAAA,EAAE,EAAC,OAAzB;AAAiC,IAAA,EAAE,EAAC;AAApC,WADF,EAIGS,UAAU,CAACE,GAAX,CAAgBC,EAAD,IACd,6BAAC,sBAAD;AAAY,IAAA,GAAG,EAAEA,EAAjB;AAAqB,IAAA,EAAE,EAAC,OAAxB;AAAgC,IAAA,EAAE,EAAC;AAAnC,KACGA,EADH,CADD,CAJH,CAFF,EAYGR,MAAM,CAACC,MAAP,CAAcJ,OAAd,EAAuBU,GAAvB,CACC,CAACE,MAAD,EAASC,KAAT,KACE,CAACf,KAAK,KAAK,KAAV,IAAmBA,KAAK,KAAKc,MAAM,CAACE,UAArC,KACE,6BAAC,iBAAD;AACE,IAAA,GAAG,EAAED,KADP;AAEE,IAAA,EAAE,EAAE,4BAAgBnB,OAAhB,EAAyBQ,GAAG,CAACK,IAA7B,EAAmCK,MAAM,CAACL,IAA1C;AAFN,KAIE,6BAAC,gBAAD;AAAM,IAAA,OAAO,EAAE,CAAf;AAAkB,IAAA,EAAE,EAAC;AAArB,KACE,6BAAC,6BAAD;AAAkB,IAAA,GAAG,EAAEM,KAAvB;AAA8B,IAAA,MAAM,EAAED;AAAtC,IADF,CAJF,CAHL,CAZH,CADF;AA4BD,CArDM","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 } from 'react'\nimport React, { useEffect, useState } from 'react'\nimport { useHistory, useParams } from 'react-router-dom'\nimport { Grid, ButtonToggle, ButtonItem } from '@looker/components'\nimport type { ApiModel } from '@looker/sdk-codegen'\nimport { ApixSection, DocTitle, DocMethodSummary, Link } from '../../components'\nimport { buildMethodPath, useNavigation } from '../../utils'\nimport { getOperations } from './utils'\n\ninterface MethodTagSceneProps {\n api: ApiModel\n}\n\ninterface MethodTagSceneParams {\n specKey: string\n methodTag: string\n}\n\nexport const MethodTagScene: FC<MethodTagSceneProps> = ({ api }) => {\n const { specKey, methodTag } = useParams<MethodTagSceneParams>()\n const history = useHistory()\n const navigate = useNavigation()\n const [value, setValue] = useState('ALL')\n\n useEffect(() => {\n /** Reset ButtonToggle value on route change */\n setValue('ALL')\n }, [methodTag])\n\n const methods = api.tags[methodTag]\n useEffect(() => {\n if (!methods) {\n navigate(`/${specKey}/methods`)\n }\n }, [history, methods])\n if (!methods) {\n return <></>\n }\n const tag = Object.values(api.spec.tags!).find(\n (tag) => tag.name === methodTag\n )!\n const operations = getOperations(methods)\n\n return (\n <ApixSection>\n <DocTitle>{`${tag.name}: ${tag.description}`}</DocTitle>\n <ButtonToggle mb=\"small\" mt=\"xlarge\" value={value} onChange={setValue}>\n <ButtonItem key=\"ALL\" px=\"large\" py=\"xsmall\">\n ALL\n </ButtonItem>\n {operations.map((op) => (\n <ButtonItem key={op} px=\"large\" py=\"xsmall\">\n {op}\n </ButtonItem>\n ))}\n </ButtonToggle>\n {Object.values(methods).map(\n (method, index) =>\n (value === 'ALL' || value === method.httpMethod) && (\n <Link\n key={index}\n to={buildMethodPath(specKey, tag.name, method.name)}\n >\n <Grid columns={1} py=\"xsmall\">\n <DocMethodSummary key={index} method={method} />\n </Grid>\n </Link>\n )\n )}\n </ApixSection>\n )\n}\n"],"file":"MethodTagScene.js"}
1
+ {"version":3,"sources":["../../../src/scenes/MethodTagScene/MethodTagScene.tsx"],"names":["MethodTagScene","api","specKey","methodTag","history","methods","tags","navigate","buildPathWithGlobalParams","navigateWithGlobalParams","selectedTagFilter","selectTagFilter","setTagFilterAction","tagFilter","setTagFilter","handleChange","filter","location","pathname","t","toLowerCase","searchParams","URLSearchParams","search","verbParam","get","toUpperCase","tag","Object","values","spec","find","name","operations","description","map","op","method","index","httpMethod"],"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 */\nimport type { FC } from 'react'\nimport React, { useEffect, useState } from 'react'\nimport { useHistory, useParams } from 'react-router-dom'\nimport { Grid, ButtonToggle, ButtonItem } from '@looker/components'\nimport type { ApiModel } from '@looker/sdk-codegen'\nimport { useSelector } from 'react-redux'\nimport { ApixSection, DocTitle, DocMethodSummary, Link } from '../../components'\nimport { buildMethodPath, isValidFilter, useNavigation } from '../../utils'\nimport { selectTagFilter, useSettingActions } from '../../state'\nimport { useTagStoreSync } from '../utils'\nimport { getOperations } from './utils'\n\ninterface MethodTagSceneProps {\n api: ApiModel\n}\n\ninterface MethodTagSceneParams {\n specKey: string\n methodTag: string\n}\n\nexport const MethodTagScene: FC<MethodTagSceneProps> = ({ api }) => {\n const { specKey, methodTag } = useParams<MethodTagSceneParams>()\n const history = useHistory()\n const methods = api.tags[methodTag]\n const { navigate, buildPathWithGlobalParams, navigateWithGlobalParams } =\n useNavigation()\n const selectedTagFilter = useSelector(selectTagFilter)\n const { setTagFilterAction } = useSettingActions()\n const [tagFilter, setTagFilter] = useState(selectedTagFilter)\n useTagStoreSync()\n\n const handleChange = (filter: string) => {\n navigate(location.pathname, {\n t: filter === 'ALL' ? null : filter.toLowerCase(),\n })\n }\n\n useEffect(() => {\n const searchParams = new URLSearchParams(location.search)\n let verbParam = searchParams.get('t') || 'ALL'\n verbParam = isValidFilter(location.pathname, verbParam)\n ? verbParam.toUpperCase()\n : 'ALL'\n setTagFilterAction({\n tagFilter: verbParam,\n })\n }, [location.search])\n\n useEffect(() => {\n setTagFilter(selectedTagFilter)\n }, [selectedTagFilter])\n\n useEffect(() => {\n if (!methods) {\n navigateWithGlobalParams(`/${specKey}/methods`)\n }\n }, [history, methods])\n if (!methods) {\n return <></>\n }\n const tag = Object.values(api.spec.tags!).find(\n (tag) => tag.name === methodTag\n )!\n const operations = getOperations(methods)\n\n return (\n <ApixSection>\n <DocTitle>{`${tag.name}: ${tag.description}`}</DocTitle>\n <ButtonToggle\n mb=\"small\"\n mt=\"xlarge\"\n value={tagFilter}\n onChange={handleChange}\n >\n <ButtonItem key=\"ALL\" px=\"large\" py=\"xsmall\">\n ALL\n </ButtonItem>\n {operations.map((op) => (\n <ButtonItem key={op} px=\"large\" py=\"xsmall\">\n {op}\n </ButtonItem>\n ))}\n </ButtonToggle>\n {Object.values(methods).map(\n (method, index) =>\n (selectedTagFilter === 'ALL' ||\n selectedTagFilter === method.httpMethod) && (\n <Link\n key={index}\n to={buildPathWithGlobalParams(\n buildMethodPath(specKey, tag.name, method.name)\n )}\n >\n <Grid columns={1} py=\"xsmall\">\n <DocMethodSummary key={index} method={method} />\n </Grid>\n </Link>\n )\n )}\n </ApixSection>\n )\n}\n"],"file":"MethodTagScene.js"}
@@ -32,7 +32,9 @@ var TypeScene = _ref => {
32
32
  } = (0, _reactRouterDom.useParams)();
33
33
  var type = api.types[typeName];
34
34
  var history = (0, _reactRouterDom.useHistory)();
35
- var navigate = (0, _utils.useNavigation)();
35
+ var {
36
+ navigate
37
+ } = (0, _utils.useNavigation)();
36
38
  var typesUsed = (0, _sdkCodegen.typeRefs)(api, type === null || type === void 0 ? void 0 : type.customTypes);
37
39
  var methodsUsedBy = (0, _sdkCodegen.methodRefs)(api, type === null || type === void 0 ? void 0 : type.methodRefs);
38
40
  var typesUsedBy = (0, _sdkCodegen.typeRefs)(api, type === null || type === void 0 ? void 0 : type.parentTypes);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/scenes/TypeScene/TypeScene.tsx"],"names":["TypeScene","api","specKey","typeTag","typeName","type","types","history","navigate","typesUsed","customTypes","methodsUsedBy","methodRefs","typesUsedBy","parentTypes","route","typeTags","name","schema"],"mappings":";;;;;;;AA2BA;;AAEA;;AACA;;AACA;;AAEA;;AASA;;;;;;AAYO,IAAMA,SAA2B,GAAG,QAAa;AAAA,MAAZ;AAAEC,IAAAA;AAAF,GAAY;AACtD,MAAM;AAAEC,IAAAA,OAAF;AAAWC,IAAAA,OAAX;AAAoBC,IAAAA;AAApB,MAAiC,gCAAvC;AACA,MAAMC,IAAI,GAAGJ,GAAG,CAACK,KAAJ,CAAUF,QAAV,CAAb;AACA,MAAMG,OAAO,GAAG,iCAAhB;AACA,MAAMC,QAAQ,GAAG,2BAAjB;AACA,MAAMC,SAAS,GAAG,0BAASR,GAAT,EAAcI,IAAd,aAAcA,IAAd,uBAAcA,IAAI,CAAEK,WAApB,CAAlB;AACA,MAAMC,aAAa,GAAG,4BAAWV,GAAX,EAAgBI,IAAhB,aAAgBA,IAAhB,uBAAgBA,IAAI,CAAEO,UAAtB,CAAtB;AACA,MAAMC,WAAW,GAAG,0BAASZ,GAAT,EAAcI,IAAd,aAAcA,IAAd,uBAAcA,IAAI,CAAES,WAApB,CAApB;AACA,wBAAU,MAAM;AACd,QAAI,CAACT,IAAL,EAAW;AACT,UAAMU,KAAK,GAAGd,GAAG,CAACe,QAAJ,CAAab,OAAb,eACND,OADM,oBACWC,OADX,eAEND,OAFM,WAAd;AAGAM,MAAAA,QAAQ,CAACO,KAAD,CAAR;AACD;AACF,GAPD,EAOG,CAACR,OAAD,EAAUL,OAAV,EAAmBG,IAAnB,CAPH;AASA,SACE,4DACGA,IAAI,IACH,6BAAC,wBAAD,QACE,6BAAC,iBAAD,QACE,6BAAC,qBAAD,QAAWA,IAAI,CAACY,IAAhB,CADF,EAEE,6BAAC,sBAAD;AAAW,IAAA,IAAI,EAAEZ;AAAjB,IAFF,CADF,EAKE,6BAAC,eAAD;AAAK,IAAA,EAAE,EAAC;AAAR,KACE,6BAAC,wBAAD;AAAa,IAAA,GAAG,EAAEJ,GAAlB;AAAuB,IAAA,IAAI,EAAEI;AAA7B,IADF,CALF,EAQE,6BAAC,0BAAD;AACE,IAAA,SAAS,EAAEI,SADb;AAEE,IAAA,WAAW,EAAEI,WAFf;AAGE,IAAA,aAAa,EAAEF,aAHjB;AAIE,IAAA,GAAG,EAAEV,GAJP;AAKE,IAAA,OAAO,EAAEC;AALX,IARF,EAeE,6BAAC,oBAAD;AAAS,IAAA,IAAI,EAAEG,IAAf;AAAqB,IAAA,GAAG,EAAEJ;AAA1B,IAfF,EAgBE,6BAAC,sBAAD;AAAW,IAAA,MAAM,EAAEI,IAAI,CAACa;AAAxB,IAhBF,CAFJ,CADF;AAwBD,CAzCM","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 } from 'react'\nimport React, { useEffect } from 'react'\nimport type { ApiModel } from '@looker/sdk-codegen'\nimport { typeRefs, methodRefs } from '@looker/sdk-codegen'\nimport { useHistory, useParams } from 'react-router-dom'\nimport { Space, Box } from '@looker/components'\n\nimport {\n ApixSection,\n DocReferences,\n DocSDKs,\n DocSource,\n DocTitle,\n ExploreType,\n DocSchema,\n} from '../../components'\nimport { useNavigation } from '../../utils'\n\ninterface DocTypeProps {\n api: ApiModel\n}\n\ninterface DocTypeParams {\n specKey: string\n typeTag: string\n typeName: string\n}\n\nexport const TypeScene: FC<DocTypeProps> = ({ api }) => {\n const { specKey, typeTag, typeName } = useParams<DocTypeParams>()\n const type = api.types[typeName]\n const history = useHistory()\n const navigate = useNavigation()\n const typesUsed = typeRefs(api, type?.customTypes)\n const methodsUsedBy = methodRefs(api, type?.methodRefs)\n const typesUsedBy = typeRefs(api, type?.parentTypes)\n useEffect(() => {\n if (!type) {\n const route = api.typeTags[typeTag]\n ? `/${specKey}/types/${typeTag}`\n : `/${specKey}/types`\n navigate(route)\n }\n }, [history, specKey, type])\n\n return (\n <>\n {type && (\n <ApixSection>\n <Space>\n <DocTitle>{type.name}</DocTitle>\n <DocSource type={type} />\n </Space>\n <Box pb=\"xlarge\">\n <ExploreType api={api} type={type} />\n </Box>\n <DocReferences\n typesUsed={typesUsed}\n typesUsedBy={typesUsedBy}\n methodsUsedBy={methodsUsedBy}\n api={api}\n specKey={specKey}\n />\n <DocSDKs type={type} api={api} />\n <DocSchema object={type.schema} />\n </ApixSection>\n )}\n </>\n )\n}\n"],"file":"TypeScene.js"}
1
+ {"version":3,"sources":["../../../src/scenes/TypeScene/TypeScene.tsx"],"names":["TypeScene","api","specKey","typeTag","typeName","type","types","history","navigate","typesUsed","customTypes","methodsUsedBy","methodRefs","typesUsedBy","parentTypes","route","typeTags","name","schema"],"mappings":";;;;;;;AA2BA;;AAEA;;AACA;;AACA;;AAEA;;AASA;;;;;;AAYO,IAAMA,SAA2B,GAAG,QAAa;AAAA,MAAZ;AAAEC,IAAAA;AAAF,GAAY;AACtD,MAAM;AAAEC,IAAAA,OAAF;AAAWC,IAAAA,OAAX;AAAoBC,IAAAA;AAApB,MAAiC,gCAAvC;AACA,MAAMC,IAAI,GAAGJ,GAAG,CAACK,KAAJ,CAAUF,QAAV,CAAb;AACA,MAAMG,OAAO,GAAG,iCAAhB;AACA,MAAM;AAAEC,IAAAA;AAAF,MAAe,2BAArB;AACA,MAAMC,SAAS,GAAG,0BAASR,GAAT,EAAcI,IAAd,aAAcA,IAAd,uBAAcA,IAAI,CAAEK,WAApB,CAAlB;AACA,MAAMC,aAAa,GAAG,4BAAWV,GAAX,EAAgBI,IAAhB,aAAgBA,IAAhB,uBAAgBA,IAAI,CAAEO,UAAtB,CAAtB;AACA,MAAMC,WAAW,GAAG,0BAASZ,GAAT,EAAcI,IAAd,aAAcA,IAAd,uBAAcA,IAAI,CAAES,WAApB,CAApB;AACA,wBAAU,MAAM;AACd,QAAI,CAACT,IAAL,EAAW;AACT,UAAMU,KAAK,GAAGd,GAAG,CAACe,QAAJ,CAAab,OAAb,eACND,OADM,oBACWC,OADX,eAEND,OAFM,WAAd;AAGAM,MAAAA,QAAQ,CAACO,KAAD,CAAR;AACD;AACF,GAPD,EAOG,CAACR,OAAD,EAAUL,OAAV,EAAmBG,IAAnB,CAPH;AASA,SACE,4DACGA,IAAI,IACH,6BAAC,wBAAD,QACE,6BAAC,iBAAD,QACE,6BAAC,qBAAD,QAAWA,IAAI,CAACY,IAAhB,CADF,EAEE,6BAAC,sBAAD;AAAW,IAAA,IAAI,EAAEZ;AAAjB,IAFF,CADF,EAKE,6BAAC,eAAD;AAAK,IAAA,EAAE,EAAC;AAAR,KACE,6BAAC,wBAAD;AAAa,IAAA,GAAG,EAAEJ,GAAlB;AAAuB,IAAA,IAAI,EAAEI;AAA7B,IADF,CALF,EAQE,6BAAC,0BAAD;AACE,IAAA,SAAS,EAAEI,SADb;AAEE,IAAA,WAAW,EAAEI,WAFf;AAGE,IAAA,aAAa,EAAEF,aAHjB;AAIE,IAAA,GAAG,EAAEV,GAJP;AAKE,IAAA,OAAO,EAAEC;AALX,IARF,EAeE,6BAAC,oBAAD;AAAS,IAAA,IAAI,EAAEG,IAAf;AAAqB,IAAA,GAAG,EAAEJ;AAA1B,IAfF,EAgBE,6BAAC,sBAAD;AAAW,IAAA,MAAM,EAAEI,IAAI,CAACa;AAAxB,IAhBF,CAFJ,CADF;AAwBD,CAzCM","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 } from 'react'\nimport React, { useEffect } from 'react'\nimport type { ApiModel } from '@looker/sdk-codegen'\nimport { typeRefs, methodRefs } from '@looker/sdk-codegen'\nimport { useHistory, useParams } from 'react-router-dom'\nimport { Space, Box } from '@looker/components'\n\nimport {\n ApixSection,\n DocReferences,\n DocSDKs,\n DocSource,\n DocTitle,\n ExploreType,\n DocSchema,\n} from '../../components'\nimport { useNavigation } from '../../utils'\n\ninterface DocTypeProps {\n api: ApiModel\n}\n\ninterface DocTypeParams {\n specKey: string\n typeTag: string\n typeName: string\n}\n\nexport const TypeScene: FC<DocTypeProps> = ({ api }) => {\n const { specKey, typeTag, typeName } = useParams<DocTypeParams>()\n const type = api.types[typeName]\n const history = useHistory()\n const { navigate } = useNavigation()\n const typesUsed = typeRefs(api, type?.customTypes)\n const methodsUsedBy = methodRefs(api, type?.methodRefs)\n const typesUsedBy = typeRefs(api, type?.parentTypes)\n useEffect(() => {\n if (!type) {\n const route = api.typeTags[typeTag]\n ? `/${specKey}/types/${typeTag}`\n : `/${specKey}/types`\n navigate(route)\n }\n }, [history, specKey, type])\n\n return (\n <>\n {type && (\n <ApixSection>\n <Space>\n <DocTitle>{type.name}</DocTitle>\n <DocSource type={type} />\n </Space>\n <Box pb=\"xlarge\">\n <ExploreType api={api} type={type} />\n </Box>\n <DocReferences\n typesUsed={typesUsed}\n typesUsedBy={typesUsedBy}\n methodsUsedBy={methodsUsedBy}\n api={api}\n specKey={specKey}\n />\n <DocSDKs type={type} api={api} />\n <DocSchema object={type.schema} />\n </ApixSection>\n )}\n </>\n )\n}\n"],"file":"TypeScene.js"}
@@ -11,11 +11,17 @@ var _components = require("@looker/components");
11
11
 
12
12
  var _reactRouterDom = require("react-router-dom");
13
13
 
14
+ var _reactRedux = require("react-redux");
15
+
14
16
  var _components2 = require("../../components");
15
17
 
16
18
  var _utils = require("../../utils");
17
19
 
18
- var _utils2 = require("./utils");
20
+ var _state = require("../../state");
21
+
22
+ var _utils2 = require("../utils");
23
+
24
+ var _utils3 = require("./utils");
19
25
 
20
26
  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
27
 
@@ -29,29 +35,53 @@ var TypeTagScene = _ref => {
29
35
  specKey,
30
36
  typeTag
31
37
  } = (0, _reactRouterDom.useParams)();
32
- var navigate = (0, _utils.useNavigation)();
33
- var [value, setValue] = (0, _react.useState)('ALL');
38
+ var {
39
+ navigate,
40
+ buildPathWithGlobalParams,
41
+ navigateWithGlobalParams
42
+ } = (0, _utils.useNavigation)();
43
+ var selectedTagFilter = (0, _reactRedux.useSelector)(_state.selectTagFilter);
44
+ var {
45
+ setTagFilterAction
46
+ } = (0, _state.useSettingActions)();
47
+ var [tagFilter, setTagFilter] = (0, _react.useState)(selectedTagFilter);
48
+ (0, _utils2.useTagStoreSync)();
49
+
50
+ var handleChange = filter => {
51
+ navigate(location.pathname, {
52
+ t: filter === 'ALL' ? null : filter.toLowerCase()
53
+ });
54
+ };
55
+
34
56
  (0, _react.useEffect)(() => {
35
- setValue('ALL');
36
- }, [typeTag]);
57
+ var searchParams = new URLSearchParams(location.search);
58
+ var verbParam = searchParams.get('t') || 'ALL';
59
+ verbParam = (0, _utils.isValidFilter)(location.pathname, verbParam) ? verbParam.toUpperCase() : 'ALL';
60
+ setTagFilterAction({
61
+ tagFilter: verbParam
62
+ });
63
+ }, [location.search]);
37
64
  var types = api.typeTags[typeTag];
38
65
  (0, _react.useEffect)(() => {
39
66
  if (!types) {
40
- navigate("/".concat(specKey, "/types"));
67
+ navigateWithGlobalParams("/".concat(specKey, "/types"));
41
68
  }
42
69
  }, [types]);
70
+ (0, _react.useEffect)(() => {
71
+ setTagFilter(selectedTagFilter);
72
+ }, [selectedTagFilter]);
43
73
 
44
74
  if (!types) {
45
75
  return _react.default.createElement(_react.default.Fragment, null);
46
76
  }
47
77
 
48
78
  var tag = Object.values(api.spec.tags).find(tag => tag.name === typeTag);
49
- var metaTypes = (0, _utils2.getMetaTypes)(types);
79
+ var metaTypes = (0, _utils3.getMetaTypes)(types);
50
80
  return _react.default.createElement(_components2.ApixSection, null, _react.default.createElement(_components2.DocTitle, null, "".concat(tag.name, ": ").concat(tag.description)), _react.default.createElement(_components.ButtonToggle, {
51
81
  mb: "small",
52
82
  mt: "xlarge",
53
- value: value,
54
- onChange: setValue
83
+ value: tagFilter,
84
+ onChange: handleChange
55
85
  }, _react.default.createElement(_components.ButtonItem, {
56
86
  key: "ALL",
57
87
  px: "large",
@@ -60,9 +90,9 @@ var TypeTagScene = _ref => {
60
90
  key: op,
61
91
  px: "large",
62
92
  py: "xsmall"
63
- }, op))), Object.values(types).map((type, index) => (value === 'ALL' || value === type.metaType.toString().toUpperCase()) && _react.default.createElement(_components2.Link, {
93
+ }, op))), Object.values(types).map((type, index) => (selectedTagFilter === 'ALL' || selectedTagFilter === type.metaType.toString().toUpperCase()) && _react.default.createElement(_components2.Link, {
64
94
  key: index,
65
- to: (0, _utils.buildTypePath)(specKey, tag.name, type.name)
95
+ to: buildPathWithGlobalParams((0, _utils.buildTypePath)(specKey, tag.name, type.name))
66
96
  }, _react.default.createElement(_components.Grid, {
67
97
  columns: 1,
68
98
  py: "xsmall"
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/scenes/TypeTagScene/TypeTagScene.tsx"],"names":["TypeTagScene","api","specKey","typeTag","navigate","value","setValue","types","typeTags","tag","Object","values","spec","tags","find","name","metaTypes","description","map","op","type","index","metaType","toString","toUpperCase"],"mappings":";;;;;;;AA0BA;;AACA;;AAEA;;AACA;;AACA;;AACA;;;;;;AAWO,IAAMA,YAAmC,GAAG,QAAa;AAAA,MAAZ;AAAEC,IAAAA;AAAF,GAAY;AAC9D,MAAM;AAAEC,IAAAA,OAAF;AAAWC,IAAAA;AAAX,MAAuB,gCAA7B;AACA,MAAMC,QAAQ,GAAG,2BAAjB;AACA,MAAM,CAACC,KAAD,EAAQC,QAAR,IAAoB,qBAAS,KAAT,CAA1B;AAEA,wBAAU,MAAM;AAEdA,IAAAA,QAAQ,CAAC,KAAD,CAAR;AACD,GAHD,EAGG,CAACH,OAAD,CAHH;AAKA,MAAMI,KAAK,GAAGN,GAAG,CAACO,QAAJ,CAAaL,OAAb,CAAd;AACA,wBAAU,MAAM;AACd,QAAI,CAACI,KAAL,EAAY;AACVH,MAAAA,QAAQ,YAAKF,OAAL,YAAR;AACD;AACF,GAJD,EAIG,CAACK,KAAD,CAJH;;AAMA,MAAI,CAACA,KAAL,EAAY;AACV,WAAO,2DAAP;AACD;;AAED,MAAME,GAAG,GAAGC,MAAM,CAACC,MAAP,CAAcV,GAAG,CAACW,IAAJ,CAASC,IAAvB,EAA8BC,IAA9B,CAAoCL,GAAD,IAASA,GAAG,CAACM,IAAJ,KAAaZ,OAAzD,CAAZ;AACA,MAAMa,SAAS,GAAG,0BAAaT,KAAb,CAAlB;AACA,SACE,6BAAC,wBAAD,QACE,6BAAC,qBAAD,kBAAcE,GAAG,CAACM,IAAlB,eAA2BN,GAAG,CAACQ,WAA/B,EADF,EAEE,6BAAC,wBAAD;AAAc,IAAA,EAAE,EAAC,OAAjB;AAAyB,IAAA,EAAE,EAAC,QAA5B;AAAqC,IAAA,KAAK,EAAEZ,KAA5C;AAAmD,IAAA,QAAQ,EAAEC;AAA7D,KACE,6BAAC,sBAAD;AAAY,IAAA,GAAG,EAAC,KAAhB;AAAsB,IAAA,EAAE,EAAC,OAAzB;AAAiC,IAAA,EAAE,EAAC;AAApC,WADF,EAIGU,SAAS,CAACE,GAAV,CAAeC,EAAD,IACb,6BAAC,sBAAD;AAAY,IAAA,GAAG,EAAEA,EAAjB;AAAqB,IAAA,EAAE,EAAC,OAAxB;AAAgC,IAAA,EAAE,EAAC;AAAnC,KACGA,EADH,CADD,CAJH,CAFF,EAYGT,MAAM,CAACC,MAAP,CAAcJ,KAAd,EAAqBW,GAArB,CACC,CAACE,IAAD,EAAOC,KAAP,KACE,CAAChB,KAAK,KAAK,KAAV,IACCA,KAAK,KAAKe,IAAI,CAACE,QAAL,CAAcC,QAAd,GAAyBC,WAAzB,EADZ,KAEE,6BAAC,iBAAD;AAAM,IAAA,GAAG,EAAEH,KAAX;AAAkB,IAAA,EAAE,EAAE,0BAAcnB,OAAd,EAAuBO,GAAG,CAACM,IAA3B,EAAiCK,IAAI,CAACL,IAAtC;AAAtB,KACE,6BAAC,gBAAD;AAAM,IAAA,OAAO,EAAE,CAAf;AAAkB,IAAA,EAAE,EAAC;AAArB,KACE,6BAAC,2BAAD;AAAgB,IAAA,GAAG,EAAEM,KAArB;AAA4B,IAAA,IAAI,EAAED;AAAlC,IADF,CADF,CAJL,CAZH,CADF;AA0BD,CAjDM","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 } from 'react'\nimport React, { useEffect, useState } from 'react'\nimport { Grid, ButtonToggle, ButtonItem } from '@looker/components'\nimport type { ApiModel } from '@looker/sdk-codegen'\nimport { useParams } from 'react-router-dom'\nimport { ApixSection, DocTitle, DocTypeSummary, Link } from '../../components'\nimport { buildTypePath, useNavigation } from '../../utils'\nimport { getMetaTypes } from './utils'\n\ninterface TypeTagSceneProps {\n api: ApiModel\n}\n\ninterface TypeTagSceneParams {\n specKey: string\n typeTag: string\n}\n\nexport const TypeTagScene: FC<TypeTagSceneProps> = ({ api }) => {\n const { specKey, typeTag } = useParams<TypeTagSceneParams>()\n const navigate = useNavigation()\n const [value, setValue] = useState('ALL')\n\n useEffect(() => {\n /** Reset ButtonToggle value on route change */\n setValue('ALL')\n }, [typeTag])\n\n const types = api.typeTags[typeTag]\n useEffect(() => {\n if (!types) {\n navigate(`/${specKey}/types`)\n }\n }, [types])\n\n if (!types) {\n return <></>\n }\n\n const tag = Object.values(api.spec.tags!).find((tag) => tag.name === typeTag)!\n const metaTypes = getMetaTypes(types)\n return (\n <ApixSection>\n <DocTitle>{`${tag.name}: ${tag.description}`}</DocTitle>\n <ButtonToggle mb=\"small\" mt=\"xlarge\" value={value} onChange={setValue}>\n <ButtonItem key=\"ALL\" px=\"large\" py=\"xsmall\">\n ALL\n </ButtonItem>\n {metaTypes.map((op) => (\n <ButtonItem key={op} px=\"large\" py=\"xsmall\">\n {op}\n </ButtonItem>\n ))}\n </ButtonToggle>\n {Object.values(types).map(\n (type, index) =>\n (value === 'ALL' ||\n value === type.metaType.toString().toUpperCase()) && (\n <Link key={index} to={buildTypePath(specKey, tag.name, type.name)}>\n <Grid columns={1} py=\"xsmall\">\n <DocTypeSummary key={index} type={type} />\n </Grid>\n </Link>\n )\n )}\n </ApixSection>\n )\n}\n"],"file":"TypeTagScene.js"}
1
+ {"version":3,"sources":["../../../src/scenes/TypeTagScene/TypeTagScene.tsx"],"names":["TypeTagScene","api","specKey","typeTag","navigate","buildPathWithGlobalParams","navigateWithGlobalParams","selectedTagFilter","selectTagFilter","setTagFilterAction","tagFilter","setTagFilter","handleChange","filter","location","pathname","t","toLowerCase","searchParams","URLSearchParams","search","verbParam","get","toUpperCase","types","typeTags","tag","Object","values","spec","tags","find","name","metaTypes","description","map","op","type","index","metaType","toString"],"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 */\nimport type { FC } from 'react'\nimport React, { useEffect, useState } from 'react'\nimport { Grid, ButtonToggle, ButtonItem } from '@looker/components'\nimport type { ApiModel } from '@looker/sdk-codegen'\nimport { useParams } from 'react-router-dom'\nimport { useSelector } from 'react-redux'\nimport { ApixSection, DocTitle, DocTypeSummary, Link } from '../../components'\nimport { buildTypePath, isValidFilter, useNavigation } from '../../utils'\nimport { selectTagFilter, useSettingActions } from '../../state'\nimport { useTagStoreSync } from '../utils'\nimport { getMetaTypes } from './utils'\n\ninterface TypeTagSceneProps {\n api: ApiModel\n}\n\ninterface TypeTagSceneParams {\n specKey: string\n typeTag: string\n}\n\nexport const TypeTagScene: FC<TypeTagSceneProps> = ({ api }) => {\n const { specKey, typeTag } = useParams<TypeTagSceneParams>()\n const { navigate, buildPathWithGlobalParams, navigateWithGlobalParams } =\n useNavigation()\n const selectedTagFilter = useSelector(selectTagFilter)\n const { setTagFilterAction } = useSettingActions()\n const [tagFilter, setTagFilter] = useState(selectedTagFilter)\n useTagStoreSync()\n\n const handleChange = (filter: string) => {\n navigate(location.pathname, {\n t: filter === 'ALL' ? null : filter.toLowerCase(),\n })\n }\n\n useEffect(() => {\n const searchParams = new URLSearchParams(location.search)\n let verbParam = searchParams.get('t') || 'ALL'\n verbParam = isValidFilter(location.pathname, verbParam)\n ? verbParam.toUpperCase()\n : 'ALL'\n setTagFilterAction({\n tagFilter: verbParam,\n })\n }, [location.search])\n\n const types = api.typeTags[typeTag]\n useEffect(() => {\n if (!types) {\n navigateWithGlobalParams(`/${specKey}/types`)\n }\n }, [types])\n\n useEffect(() => {\n setTagFilter(selectedTagFilter)\n }, [selectedTagFilter])\n\n if (!types) {\n return <></>\n }\n\n const tag = Object.values(api.spec.tags!).find((tag) => tag.name === typeTag)!\n const metaTypes = getMetaTypes(types)\n return (\n <ApixSection>\n <DocTitle>{`${tag.name}: ${tag.description}`}</DocTitle>\n <ButtonToggle\n mb=\"small\"\n mt=\"xlarge\"\n value={tagFilter}\n onChange={handleChange}\n >\n <ButtonItem key=\"ALL\" px=\"large\" py=\"xsmall\">\n ALL\n </ButtonItem>\n {metaTypes.map((op) => (\n <ButtonItem key={op} px=\"large\" py=\"xsmall\">\n {op}\n </ButtonItem>\n ))}\n </ButtonToggle>\n {Object.values(types).map(\n (type, index) =>\n (selectedTagFilter === 'ALL' ||\n selectedTagFilter === type.metaType.toString().toUpperCase()) && (\n <Link\n key={index}\n to={buildPathWithGlobalParams(\n buildTypePath(specKey, tag.name, type.name)\n )}\n >\n <Grid columns={1} py=\"xsmall\">\n <DocTypeSummary key={index} type={type} />\n </Grid>\n </Link>\n )\n )}\n </ApixSection>\n )\n}\n"],"file":"TypeTagScene.js"}
@@ -1,3 +1,4 @@
1
+ export { ErrorDetailScene } from './ErrorDetailScene';
1
2
  export { HomeScene } from './HomeScene';
2
3
  export { MethodScene } from './MethodScene';
3
4
  export { TypeScene } from './TypeScene';
@@ -3,6 +3,12 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ Object.defineProperty(exports, "ErrorDetailScene", {
7
+ enumerable: true,
8
+ get: function get() {
9
+ return _ErrorDetailScene.ErrorDetailScene;
10
+ }
11
+ });
6
12
  Object.defineProperty(exports, "HomeScene", {
7
13
  enumerable: true,
8
14
  get: function get() {
@@ -34,6 +40,8 @@ Object.defineProperty(exports, "TypeTagScene", {
34
40
  }
35
41
  });
36
42
 
43
+ var _ErrorDetailScene = require("./ErrorDetailScene");
44
+
37
45
  var _HomeScene = require("./HomeScene");
38
46
 
39
47
  var _MethodScene = require("./MethodScene");
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/scenes/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyBA;;AACA;;AACA;;AACA;;AACA","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 */\nexport { HomeScene } from './HomeScene'\nexport { MethodScene } from './MethodScene'\nexport { TypeScene } from './TypeScene'\nexport { MethodTagScene } from './MethodTagScene'\nexport { TypeTagScene } from './TypeTagScene'\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../src/scenes/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyBA;;AACA;;AACA;;AACA;;AACA;;AACA","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 */\nexport { ErrorDetailScene } from './ErrorDetailScene'\nexport { HomeScene } from './HomeScene'\nexport { MethodScene } from './MethodScene'\nexport { TypeScene } from './TypeScene'\nexport { MethodTagScene } from './MethodTagScene'\nexport { TypeTagScene } from './TypeTagScene'\n"],"file":"index.js"}
@@ -0,0 +1 @@
1
+ export { useTagStoreSync } from './tagStoreSync';
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "useTagStoreSync", {
7
+ enumerable: true,
8
+ get: function get() {
9
+ return _tagStoreSync.useTagStoreSync;
10
+ }
11
+ });
12
+
13
+ var _tagStoreSync = require("./tagStoreSync");
14
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/scenes/utils/hooks/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 { useTagStoreSync } from './tagStoreSync'\n"],"file":"index.js"}
@@ -0,0 +1 @@
1
+ export declare const useTagStoreSync: () => void;
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useTagStoreSync = void 0;
7
+
8
+ var _reactRouterDom = require("react-router-dom");
9
+
10
+ var _reactRedux = require("react-redux");
11
+
12
+ var _react = require("react");
13
+
14
+ var _state = require("../../../state");
15
+
16
+ var _utils = require("../../../utils");
17
+
18
+ var useTagStoreSync = () => {
19
+ var location = (0, _reactRouterDom.useLocation)();
20
+ var {
21
+ navigate
22
+ } = (0, _utils.useNavigation)();
23
+ var {
24
+ setTagFilterAction
25
+ } = (0, _state.useSettingActions)();
26
+ var {
27
+ initialized
28
+ } = (0, _state.useSettingStoreState)();
29
+ var selectedTagFilter = (0, _reactRedux.useSelector)(_state.selectTagFilter);
30
+ (0, _react.useEffect)(() => {
31
+ if (initialized) {
32
+ var params = new URLSearchParams(location.search);
33
+ var verbParam = params.get('t') || 'ALL';
34
+ var validVerbParam = (0, _utils.isValidFilter)(location.pathname, verbParam);
35
+
36
+ if (validVerbParam) {
37
+ setTagFilterAction({
38
+ tagFilter: verbParam.toUpperCase()
39
+ });
40
+ } else {
41
+ var verb = (0, _utils.isValidFilter)(location.pathname, selectedTagFilter) ? selectedTagFilter : 'ALL';
42
+ navigate(location.pathname, {
43
+ t: verb === 'ALL' ? null : verb.toLowerCase()
44
+ });
45
+ }
46
+ }
47
+ }, [initialized]);
48
+ };
49
+
50
+ exports.useTagStoreSync = useTagStoreSync;
51
+ //# sourceMappingURL=tagStoreSync.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/scenes/utils/hooks/tagStoreSync.ts"],"names":["useTagStoreSync","location","navigate","setTagFilterAction","initialized","selectedTagFilter","selectTagFilter","params","URLSearchParams","search","verbParam","get","validVerbParam","pathname","tagFilter","toUpperCase","verb","t","toLowerCase"],"mappings":";;;;;;;AAyBA;;AACA;;AACA;;AACA;;AAKA;;AAOO,IAAMA,eAAe,GAAG,MAAM;AACnC,MAAMC,QAAQ,GAAG,kCAAjB;AACA,MAAM;AAAEC,IAAAA;AAAF,MAAe,2BAArB;AACA,MAAM;AAAEC,IAAAA;AAAF,MAAyB,+BAA/B;AACA,MAAM;AAAEC,IAAAA;AAAF,MAAkB,kCAAxB;AACA,MAAMC,iBAAiB,GAAG,6BAAYC,sBAAZ,CAA1B;AAEA,wBAAU,MAAM;AACd,QAAIF,WAAJ,EAAiB;AACf,UAAMG,MAAM,GAAG,IAAIC,eAAJ,CAAoBP,QAAQ,CAACQ,MAA7B,CAAf;AAGA,UAAMC,SAAS,GAAGH,MAAM,CAACI,GAAP,CAAW,GAAX,KAAmB,KAArC;AACA,UAAMC,cAAc,GAAG,0BAAcX,QAAQ,CAACY,QAAvB,EAAiCH,SAAjC,CAAvB;;AACA,UAAIE,cAAJ,EAAoB;AAClBT,QAAAA,kBAAkB,CAAC;AAAEW,UAAAA,SAAS,EAAEJ,SAAS,CAACK,WAAV;AAAb,SAAD,CAAlB;AACD,OAFD,MAEO;AAEL,YAAMC,IAAI,GAAG,0BAAcf,QAAQ,CAACY,QAAvB,EAAiCR,iBAAjC,IACTA,iBADS,GAET,KAFJ;AAGAH,QAAAA,QAAQ,CAACD,QAAQ,CAACY,QAAV,EAAoB;AAC1BI,UAAAA,CAAC,EAAED,IAAI,KAAK,KAAT,GAAiB,IAAjB,GAAwBA,IAAI,CAACE,WAAL;AADD,SAApB,CAAR;AAGD;AACF;AACF,GAnBD,EAmBG,CAACd,WAAD,CAnBH;AAoBD,CA3BM","sourcesContent":["/*\n\n MIT License\n\n Copyright (c) 2022 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 { useLocation } from 'react-router-dom'\nimport { useSelector } from 'react-redux'\nimport { useEffect } from 'react'\nimport {\n selectTagFilter,\n useSettingActions,\n useSettingStoreState,\n} from '../../../state'\nimport { isValidFilter, useNavigation } from '../../../utils'\n\n/**\n * Hook for syncing tag scene URL params with the Redux store\n *\n * Tag scene specific search parameters: 't'\n */\nexport const useTagStoreSync = () => {\n const location = useLocation()\n const { navigate } = useNavigation()\n const { setTagFilterAction } = useSettingActions()\n const { initialized } = useSettingStoreState()\n const selectedTagFilter = useSelector(selectTagFilter)\n\n useEffect(() => {\n if (initialized) {\n const params = new URLSearchParams(location.search)\n\n // syncing verb filter on tag scene page\n const verbParam = params.get('t') || 'ALL'\n const validVerbParam = isValidFilter(location.pathname, verbParam)\n if (validVerbParam) {\n setTagFilterAction({ tagFilter: verbParam.toUpperCase() })\n } else {\n // must confirm store tag filter param is valid for tag type before updating\n const verb = isValidFilter(location.pathname, selectedTagFilter)\n ? selectedTagFilter\n : 'ALL'\n navigate(location.pathname, {\n t: verb === 'ALL' ? null : verb.toLowerCase(),\n })\n }\n }\n }, [initialized])\n}\n"],"file":"tagStoreSync.js"}
@@ -0,0 +1 @@
1
+ export { useTagStoreSync } from './hooks';
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "useTagStoreSync", {
7
+ enumerable: true,
8
+ get: function get() {
9
+ return _hooks.useTagStoreSync;
10
+ }
11
+ });
12
+
13
+ var _hooks = require("./hooks");
14
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/scenes/utils/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 { useTagStoreSync } from './hooks'\n"],"file":"index.js"}
@@ -1,5 +1,6 @@
1
1
  import type { RootState } from '../store';
2
2
  export declare const selectSdkLanguage: (state: RootState) => string;
3
3
  export declare const selectSearchPattern: (state: RootState) => string;
4
- export declare const selectSearchCriteria: (state: RootState) => ("title" | "description" | "name" | "type" | "property" | "method" | "argument" | "activityType" | "status" | "response")[];
4
+ export declare const selectSearchCriteria: (state: RootState) => ("title" | "description" | "name" | "type" | "method" | "argument" | "property" | "activityType" | "status" | "response")[];
5
+ export declare const selectTagFilter: (state: RootState) => string;
5
6
  export declare const isInitialized: (state: RootState) => boolean;
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.isInitialized = exports.selectSearchCriteria = exports.selectSearchPattern = exports.selectSdkLanguage = void 0;
6
+ exports.isInitialized = exports.selectTagFilter = exports.selectSearchCriteria = exports.selectSearchPattern = exports.selectSdkLanguage = void 0;
7
7
 
8
8
  var selectSettingsState = state => state.settings;
9
9
 
@@ -19,6 +19,10 @@ var selectSearchCriteria = state => selectSettingsState(state).searchCriteria;
19
19
 
20
20
  exports.selectSearchCriteria = selectSearchCriteria;
21
21
 
22
+ var selectTagFilter = state => selectSettingsState(state).tagFilter;
23
+
24
+ exports.selectTagFilter = selectTagFilter;
25
+
22
26
  var isInitialized = state => selectSettingsState(state).initialized;
23
27
 
24
28
  exports.isInitialized = isInitialized;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/state/settings/selectors.ts"],"names":["selectSettingsState","state","settings","selectSdkLanguage","sdkLanguage","selectSearchPattern","searchPattern","selectSearchCriteria","searchCriteria","isInitialized","initialized"],"mappings":";;;;;;;AA2BA,IAAMA,mBAAmB,GAAIC,KAAD,IAAsBA,KAAK,CAACC,QAAxD;;AAEO,IAAMC,iBAAiB,GAAIF,KAAD,IAC/BD,mBAAmB,CAACC,KAAD,CAAnB,CAA2BG,WADtB;;;;AAGA,IAAMC,mBAAmB,GAAIJ,KAAD,IACjCD,mBAAmB,CAACC,KAAD,CAAnB,CAA2BK,aADtB;;;;AAGA,IAAMC,oBAAoB,GAAIN,KAAD,IAClCD,mBAAmB,CAACC,KAAD,CAAnB,CAA2BO,cADtB;;;;AAGA,IAAMC,aAAa,GAAIR,KAAD,IAC3BD,mBAAmB,CAACC,KAAD,CAAnB,CAA2BS,WADtB","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 { RootState } from '../store'\n\nconst selectSettingsState = (state: RootState) => state.settings\n\nexport const selectSdkLanguage = (state: RootState) =>\n selectSettingsState(state).sdkLanguage\n\nexport const selectSearchPattern = (state: RootState) =>\n selectSettingsState(state).searchPattern\n\nexport const selectSearchCriteria = (state: RootState) =>\n selectSettingsState(state).searchCriteria\n\nexport const isInitialized = (state: RootState) =>\n selectSettingsState(state).initialized\n"],"file":"selectors.js"}
1
+ {"version":3,"sources":["../../../src/state/settings/selectors.ts"],"names":["selectSettingsState","state","settings","selectSdkLanguage","sdkLanguage","selectSearchPattern","searchPattern","selectSearchCriteria","searchCriteria","selectTagFilter","tagFilter","isInitialized","initialized"],"mappings":";;;;;;;AA2BA,IAAMA,mBAAmB,GAAIC,KAAD,IAAsBA,KAAK,CAACC,QAAxD;;AAEO,IAAMC,iBAAiB,GAAIF,KAAD,IAC/BD,mBAAmB,CAACC,KAAD,CAAnB,CAA2BG,WADtB;;;;AAGA,IAAMC,mBAAmB,GAAIJ,KAAD,IACjCD,mBAAmB,CAACC,KAAD,CAAnB,CAA2BK,aADtB;;;;AAGA,IAAMC,oBAAoB,GAAIN,KAAD,IAClCD,mBAAmB,CAACC,KAAD,CAAnB,CAA2BO,cADtB;;;;AAGA,IAAMC,eAAe,GAAIR,KAAD,IAC7BD,mBAAmB,CAACC,KAAD,CAAnB,CAA2BS,SADtB;;;;AAGA,IAAMC,aAAa,GAAIV,KAAD,IAC3BD,mBAAmB,CAACC,KAAD,CAAnB,CAA2BW,WADtB","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 { RootState } from '../store'\n\nconst selectSettingsState = (state: RootState) => state.settings\n\nexport const selectSdkLanguage = (state: RootState) =>\n selectSettingsState(state).sdkLanguage\n\nexport const selectSearchPattern = (state: RootState) =>\n selectSettingsState(state).searchPattern\n\nexport const selectSearchCriteria = (state: RootState) =>\n selectSettingsState(state).searchCriteria\n\nexport const selectTagFilter = (state: RootState) =>\n selectSettingsState(state).tagFilter\n\nexport const isInitialized = (state: RootState) =>\n selectSettingsState(state).initialized\n"],"file":"selectors.js"}
@@ -6,17 +6,20 @@ export interface UserDefinedSettings {
6
6
  export interface SettingState extends UserDefinedSettings {
7
7
  searchPattern: string;
8
8
  searchCriteria: SearchCriterionTerm[];
9
+ tagFilter: string;
9
10
  initialized: boolean;
10
11
  error?: Error;
11
12
  }
12
13
  export declare const defaultSettings: {
13
14
  sdkLanguage: string;
14
15
  searchPattern: string;
15
- searchCriteria: ("title" | "description" | "name" | "type" | "property" | "method" | "argument" | "activityType" | "status" | "response")[];
16
+ searchCriteria: ("title" | "description" | "name" | "type" | "method" | "argument" | "property" | "activityType" | "status" | "response")[];
17
+ tagFilter: string;
16
18
  };
17
19
  export declare const defaultSettingsState: SettingState;
18
20
  declare type SetSearchPatternAction = Pick<SettingState, 'searchPattern'>;
19
21
  declare type SetSdkLanguageAction = Pick<SettingState, 'sdkLanguage'>;
22
+ declare type SetTagFilterAction = Pick<SettingState, 'tagFilter'>;
20
23
  export declare type InitSuccessPayload = UserDefinedSettings;
21
24
  export declare const settingsSlice: import("@reduxjs/toolkit").Slice<SettingState, {
22
25
  initSettingsAction(): void;
@@ -24,6 +27,7 @@ export declare const settingsSlice: import("@reduxjs/toolkit").Slice<SettingStat
24
27
  initSettingsFailureAction(state: import("immer/dist/internal").WritableDraft<SettingState>, action: PayloadAction<Error>): void;
25
28
  setSdkLanguageAction(state: import("immer/dist/internal").WritableDraft<SettingState>, action: PayloadAction<SetSdkLanguageAction>): void;
26
29
  setSearchPatternAction(state: import("immer/dist/internal").WritableDraft<SettingState>, action: PayloadAction<SetSearchPatternAction>): void;
30
+ setTagFilterAction(state: import("immer/dist/internal").WritableDraft<SettingState>, action: PayloadAction<SetTagFilterAction>): void;
27
31
  }, "settings">;
28
32
  export declare const settingActions: import("@reduxjs/toolkit").CaseReducerActions<{
29
33
  initSettingsAction(): void;
@@ -31,6 +35,7 @@ export declare const settingActions: import("@reduxjs/toolkit").CaseReducerActio
31
35
  initSettingsFailureAction(state: import("immer/dist/internal").WritableDraft<SettingState>, action: PayloadAction<Error>): void;
32
36
  setSdkLanguageAction(state: import("immer/dist/internal").WritableDraft<SettingState>, action: PayloadAction<SetSdkLanguageAction>): void;
33
37
  setSearchPatternAction(state: import("immer/dist/internal").WritableDraft<SettingState>, action: PayloadAction<SetSearchPatternAction>): void;
38
+ setTagFilterAction(state: import("immer/dist/internal").WritableDraft<SettingState>, action: PayloadAction<SetTagFilterAction>): void;
34
39
  }>;
35
40
  export declare const useSettingActions: () => import("@reduxjs/toolkit").CaseReducerActions<{
36
41
  initSettingsAction(): void;
@@ -38,5 +43,6 @@ export declare const useSettingActions: () => import("@reduxjs/toolkit").CaseRed
38
43
  initSettingsFailureAction(state: import("immer/dist/internal").WritableDraft<SettingState>, action: PayloadAction<Error>): void;
39
44
  setSdkLanguageAction(state: import("immer/dist/internal").WritableDraft<SettingState>, action: PayloadAction<SetSdkLanguageAction>): void;
40
45
  setSearchPatternAction(state: import("immer/dist/internal").WritableDraft<SettingState>, action: PayloadAction<SetSearchPatternAction>): void;
46
+ setTagFilterAction(state: import("immer/dist/internal").WritableDraft<SettingState>, action: PayloadAction<SetTagFilterAction>): void;
41
47
  }>, useSettingStoreState: () => SettingState;
42
48
  export {};
@@ -22,7 +22,8 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
22
22
  var defaultSettings = {
23
23
  sdkLanguage: 'Python',
24
24
  searchPattern: '',
25
- searchCriteria: (0, _sdkCodegen.setToCriteria)(_sdkCodegen.SearchAll)
25
+ searchCriteria: (0, _sdkCodegen.setToCriteria)(_sdkCodegen.SearchAll),
26
+ tagFilter: 'ALL'
26
27
  };
27
28
  exports.defaultSettings = defaultSettings;
28
29
 
@@ -53,6 +54,10 @@ var settingsSlice = (0, _toolkit.createSlice)({
53
54
 
54
55
  setSearchPatternAction(state, action) {
55
56
  state.searchPattern = action.payload.searchPattern;
57
+ },
58
+
59
+ setTagFilterAction(state, action) {
60
+ state.tagFilter = action.payload.tagFilter;
56
61
  }
57
62
 
58
63
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/state/settings/slice.ts"],"names":["defaultSettings","sdkLanguage","searchPattern","searchCriteria","SearchAll","defaultSettingsState","initialized","settingsSlice","name","initialState","reducers","initSettingsAction","initSettingsSuccessAction","state","action","payload","initSettingsFailureAction","error","setSdkLanguageAction","setSearchPatternAction","settingActions","actions","useActions","useSettingActions","useStoreState","useSettingStoreState","saga"],"mappings":";;;;;;;AAyBA;;AAEA;;AAEA;;AAEA;;;;;;;;AAaO,IAAMA,eAAe,GAAG;AAC7BC,EAAAA,WAAW,EAAE,QADgB;AAE7BC,EAAAA,aAAa,EAAE,EAFc;AAG7BC,EAAAA,cAAc,EAAE,+BAAcC,qBAAd;AAHa,CAAxB;;;AAMA,IAAMC,oBAAkC,mCAC1CL,eAD0C;AAE7CM,EAAAA,WAAW,EAAE;AAFgC,EAAxC;;;AAUA,IAAMC,aAAa,GAAG,0BAAY;AACvCC,EAAAA,IAAI,EAAE,UADiC;AAEvCC,EAAAA,YAAY,EAAEJ,oBAFyB;AAGvCK,EAAAA,QAAQ,EAAE;AAERC,IAAAA,kBAAkB,GAAG,CAAE,CAFf;;AAGRC,IAAAA,yBAAyB,CACvBC,KADuB,EAEvBC,MAFuB,EAGvB;AACAD,MAAAA,KAAK,CAACZ,WAAN,GAAoBa,MAAM,CAACC,OAAP,CAAed,WAAnC;AACAY,MAAAA,KAAK,CAACP,WAAN,GAAoB,IAApB;AACD,KATO;;AAURU,IAAAA,yBAAyB,CAACH,KAAD,EAAQC,MAAR,EAAsC;AAC7DD,MAAAA,KAAK,CAACI,KAAN,GAAcH,MAAM,CAACC,OAArB;AACAF,MAAAA,KAAK,CAACP,WAAN,GAAoB,KAApB;AACD,KAbO;;AAcRY,IAAAA,oBAAoB,CAACL,KAAD,EAAQC,MAAR,EAAqD;AACvED,MAAAA,KAAK,CAACZ,WAAN,GAAoBa,MAAM,CAACC,OAAP,CAAed,WAAnC;AACD,KAhBO;;AAiBRkB,IAAAA,sBAAsB,CACpBN,KADoB,EAEpBC,MAFoB,EAGpB;AACAD,MAAAA,KAAK,CAACX,aAAN,GAAsBY,MAAM,CAACC,OAAP,CAAeb,aAArC;AACD;;AAtBO;AAH6B,CAAZ,CAAtB;;AA6BA,IAAMkB,cAAc,GAAGb,aAAa,CAACc,OAArC;;AACA,IAAM;AACXC,EAAAA,UAAU,EAAEC,iBADD;AAEXC,EAAAA,aAAa,EAAEC;AAFJ,IAGT,6BAAiBlB,aAAjB,EAAgCmB,WAAhC,CAHG","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 { createSlice } from '@reduxjs/toolkit'\nimport type { PayloadAction } from '@reduxjs/toolkit'\nimport { createSliceHooks } from '@looker/redux'\nimport type { SearchCriterionTerm } from '@looker/sdk-codegen'\nimport { SearchAll, setToCriteria } from '@looker/sdk-codegen'\n\nimport { saga } from './sagas'\n\nexport interface UserDefinedSettings {\n sdkLanguage: string\n}\n\nexport interface SettingState extends UserDefinedSettings {\n searchPattern: string\n searchCriteria: SearchCriterionTerm[]\n initialized: boolean\n error?: Error\n}\n\nexport const defaultSettings = {\n sdkLanguage: 'Python',\n searchPattern: '',\n searchCriteria: setToCriteria(SearchAll) as SearchCriterionTerm[],\n}\n\nexport const defaultSettingsState: SettingState = {\n ...defaultSettings,\n initialized: false,\n}\n\ntype SetSearchPatternAction = Pick<SettingState, 'searchPattern'>\ntype SetSdkLanguageAction = Pick<SettingState, 'sdkLanguage'>\n\nexport type InitSuccessPayload = UserDefinedSettings\n\nexport const settingsSlice = createSlice({\n name: 'settings',\n initialState: defaultSettingsState,\n reducers: {\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n initSettingsAction() {},\n initSettingsSuccessAction(\n state,\n action: PayloadAction<InitSuccessPayload>\n ) {\n state.sdkLanguage = action.payload.sdkLanguage\n state.initialized = true\n },\n initSettingsFailureAction(state, action: PayloadAction<Error>) {\n state.error = action.payload\n state.initialized = false\n },\n setSdkLanguageAction(state, action: PayloadAction<SetSdkLanguageAction>) {\n state.sdkLanguage = action.payload.sdkLanguage\n },\n setSearchPatternAction(\n state,\n action: PayloadAction<SetSearchPatternAction>\n ) {\n state.searchPattern = action.payload.searchPattern\n },\n },\n})\n\nexport const settingActions = settingsSlice.actions\nexport const {\n useActions: useSettingActions,\n useStoreState: useSettingStoreState,\n} = createSliceHooks(settingsSlice, saga)\n"],"file":"slice.js"}
1
+ {"version":3,"sources":["../../../src/state/settings/slice.ts"],"names":["defaultSettings","sdkLanguage","searchPattern","searchCriteria","SearchAll","tagFilter","defaultSettingsState","initialized","settingsSlice","name","initialState","reducers","initSettingsAction","initSettingsSuccessAction","state","action","payload","initSettingsFailureAction","error","setSdkLanguageAction","setSearchPatternAction","setTagFilterAction","settingActions","actions","useActions","useSettingActions","useStoreState","useSettingStoreState","saga"],"mappings":";;;;;;;AAyBA;;AAEA;;AAEA;;AAEA;;;;;;;;AAcO,IAAMA,eAAe,GAAG;AAC7BC,EAAAA,WAAW,EAAE,QADgB;AAE7BC,EAAAA,aAAa,EAAE,EAFc;AAG7BC,EAAAA,cAAc,EAAE,+BAAcC,qBAAd,CAHa;AAI7BC,EAAAA,SAAS,EAAE;AAJkB,CAAxB;;;AAOA,IAAMC,oBAAkC,mCAC1CN,eAD0C;AAE7CO,EAAAA,WAAW,EAAE;AAFgC,EAAxC;;;AAWA,IAAMC,aAAa,GAAG,0BAAY;AACvCC,EAAAA,IAAI,EAAE,UADiC;AAEvCC,EAAAA,YAAY,EAAEJ,oBAFyB;AAGvCK,EAAAA,QAAQ,EAAE;AAERC,IAAAA,kBAAkB,GAAG,CAAE,CAFf;;AAGRC,IAAAA,yBAAyB,CACvBC,KADuB,EAEvBC,MAFuB,EAGvB;AACAD,MAAAA,KAAK,CAACb,WAAN,GAAoBc,MAAM,CAACC,OAAP,CAAef,WAAnC;AACAa,MAAAA,KAAK,CAACP,WAAN,GAAoB,IAApB;AACD,KATO;;AAURU,IAAAA,yBAAyB,CAACH,KAAD,EAAQC,MAAR,EAAsC;AAC7DD,MAAAA,KAAK,CAACI,KAAN,GAAcH,MAAM,CAACC,OAArB;AACAF,MAAAA,KAAK,CAACP,WAAN,GAAoB,KAApB;AACD,KAbO;;AAcRY,IAAAA,oBAAoB,CAACL,KAAD,EAAQC,MAAR,EAAqD;AACvED,MAAAA,KAAK,CAACb,WAAN,GAAoBc,MAAM,CAACC,OAAP,CAAef,WAAnC;AACD,KAhBO;;AAiBRmB,IAAAA,sBAAsB,CACpBN,KADoB,EAEpBC,MAFoB,EAGpB;AACAD,MAAAA,KAAK,CAACZ,aAAN,GAAsBa,MAAM,CAACC,OAAP,CAAed,aAArC;AACD,KAtBO;;AAuBRmB,IAAAA,kBAAkB,CAACP,KAAD,EAAQC,MAAR,EAAmD;AACnED,MAAAA,KAAK,CAACT,SAAN,GAAkBU,MAAM,CAACC,OAAP,CAAeX,SAAjC;AACD;;AAzBO;AAH6B,CAAZ,CAAtB;;AAgCA,IAAMiB,cAAc,GAAGd,aAAa,CAACe,OAArC;;AACA,IAAM;AACXC,EAAAA,UAAU,EAAEC,iBADD;AAEXC,EAAAA,aAAa,EAAEC;AAFJ,IAGT,6BAAiBnB,aAAjB,EAAgCoB,WAAhC,CAHG","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 { createSlice } from '@reduxjs/toolkit'\nimport type { PayloadAction } from '@reduxjs/toolkit'\nimport { createSliceHooks } from '@looker/redux'\nimport type { SearchCriterionTerm } from '@looker/sdk-codegen'\nimport { SearchAll, setToCriteria } from '@looker/sdk-codegen'\n\nimport { saga } from './sagas'\n\nexport interface UserDefinedSettings {\n sdkLanguage: string\n}\n\nexport interface SettingState extends UserDefinedSettings {\n searchPattern: string\n searchCriteria: SearchCriterionTerm[]\n tagFilter: string\n initialized: boolean\n error?: Error\n}\n\nexport const defaultSettings = {\n sdkLanguage: 'Python',\n searchPattern: '',\n searchCriteria: setToCriteria(SearchAll) as SearchCriterionTerm[],\n tagFilter: 'ALL',\n}\n\nexport const defaultSettingsState: SettingState = {\n ...defaultSettings,\n initialized: false,\n}\n\ntype SetSearchPatternAction = Pick<SettingState, 'searchPattern'>\ntype SetSdkLanguageAction = Pick<SettingState, 'sdkLanguage'>\ntype SetTagFilterAction = Pick<SettingState, 'tagFilter'>\n\nexport type InitSuccessPayload = UserDefinedSettings\n\nexport const settingsSlice = createSlice({\n name: 'settings',\n initialState: defaultSettingsState,\n reducers: {\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n initSettingsAction() {},\n initSettingsSuccessAction(\n state,\n action: PayloadAction<InitSuccessPayload>\n ) {\n state.sdkLanguage = action.payload.sdkLanguage\n state.initialized = true\n },\n initSettingsFailureAction(state, action: PayloadAction<Error>) {\n state.error = action.payload\n state.initialized = false\n },\n setSdkLanguageAction(state, action: PayloadAction<SetSdkLanguageAction>) {\n state.sdkLanguage = action.payload.sdkLanguage\n },\n setSearchPatternAction(\n state,\n action: PayloadAction<SetSearchPatternAction>\n ) {\n state.searchPattern = action.payload.searchPattern\n },\n setTagFilterAction(state, action: PayloadAction<SetTagFilterAction>) {\n state.tagFilter = action.payload.tagFilter\n },\n },\n})\n\nexport const settingActions = settingsSlice.actions\nexport const {\n useActions: useSettingActions,\n useStoreState: useSettingStoreState,\n} = createSliceHooks(settingsSlice, saga)\n"],"file":"slice.js"}
@@ -1,3 +1,4 @@
1
1
  export * from './specs';
2
2
  export { examples } from './examples';
3
3
  export * from './declarations';
4
+ export * from './sdkLanguages';