@looker/extension-sdk-react 23.10.0 → 23.12.1-alpha.1674

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 (31) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/README.md +14 -0
  3. package/lib/components/ExtensionConnector/ExtensionConnector.js +31 -14
  4. package/lib/components/ExtensionConnector/ExtensionConnector.js.map +1 -1
  5. package/lib/components/ExtensionConnector/types.d.ts +7 -2
  6. package/lib/components/ExtensionConnector/types.js.map +1 -1
  7. package/lib/components/ExtensionProvider/ExtensionProvider.js +17 -1
  8. package/lib/components/ExtensionProvider/ExtensionProvider.js.map +1 -1
  9. package/lib/components/ExtensionProvider2/ExtensionProvider2.js +17 -1
  10. package/lib/components/ExtensionProvider2/ExtensionProvider2.js.map +1 -1
  11. package/lib/components/ExtensionProvider40/ExtensionProvider40.js +17 -1
  12. package/lib/components/ExtensionProvider40/ExtensionProvider40.js.map +1 -1
  13. package/lib/components/ExtensionProviderBase/ExtensionProviderBase.js +18 -2
  14. package/lib/components/ExtensionProviderBase/ExtensionProviderBase.js.map +1 -1
  15. package/lib/esm/components/ExtensionConnector/ExtensionConnector.js +31 -14
  16. package/lib/esm/components/ExtensionConnector/ExtensionConnector.js.map +1 -1
  17. package/lib/esm/components/ExtensionConnector/types.js.map +1 -1
  18. package/lib/esm/components/ExtensionProvider/ExtensionProvider.js +17 -1
  19. package/lib/esm/components/ExtensionProvider/ExtensionProvider.js.map +1 -1
  20. package/lib/esm/components/ExtensionProvider2/ExtensionProvider2.js +17 -1
  21. package/lib/esm/components/ExtensionProvider2/ExtensionProvider2.js.map +1 -1
  22. package/lib/esm/components/ExtensionProvider40/ExtensionProvider40.js +17 -1
  23. package/lib/esm/components/ExtensionProvider40/ExtensionProvider40.js.map +1 -1
  24. package/lib/esm/components/ExtensionProviderBase/ExtensionProviderBase.js +18 -2
  25. package/lib/esm/components/ExtensionProviderBase/ExtensionProviderBase.js.map +1 -1
  26. package/lib/esm/index.js +2 -2
  27. package/lib/esm/index.js.map +1 -1
  28. package/lib/index.d.ts +1 -1
  29. package/lib/index.js +2 -2
  30. package/lib/index.js.map +1 -1
  31. package/package.json +4 -4
package/CHANGELOG.md CHANGED
@@ -5,6 +5,21 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [23.12.0](https://github.com/looker-open-source/sdk-codegen/compare/extension-sdk-react-v23.10.0...extension-sdk-react-v23.12.0) (2023-07-17)
9
+
10
+
11
+ ### Miscellaneous Chores
12
+
13
+ * **extension-sdk-react:** Synchronize undefined versions
14
+
15
+
16
+ ### Dependencies
17
+
18
+ * The following workspace dependencies were updated
19
+ * dependencies
20
+ * @looker/extension-sdk bumped from ^23.10.0 to ^23.12.0
21
+ * @looker/sdk bumped from ^23.10.0 to ^23.12.0
22
+
8
23
  ## [23.10.0](https://github.com/looker-open-source/sdk-codegen/compare/extension-sdk-react-v23.8.1...extension-sdk-react-v23.10.0) (2023-06-15)
9
24
 
10
25
 
package/README.md CHANGED
@@ -138,6 +138,20 @@ export function* sagaCallbacks() {
138
138
  }
139
139
  ```
140
140
 
141
+ ### Tile Extension Context Data
142
+
143
+ ```ts
144
+ import { ExtensionContext40 } from '@looker/extension-sdk-react'
145
+
146
+ export const MyExtension: React.FC = () => {
147
+ const {
148
+ extensionSDK,
149
+ tileSDK,
150
+ tileHostData: { dashboardFilters },
151
+ } = useContext(ExtensionContext40)
152
+
153
+ ```
154
+
141
155
  ## Related Projects
142
156
 
143
157
  - [Looker extension examples](https://github.com/looker-open-source/extension-examples).
@@ -17,11 +17,6 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
17
17
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
18
18
  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); } }
19
19
  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); }); }; }
20
- 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; }
21
- 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; }
22
- 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; }
23
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
24
- 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); }
25
20
  var ExtensionConnector = _ref => {
26
21
  var {
27
22
  contextData,
@@ -36,34 +31,54 @@ var ExtensionConnector = _ref => {
36
31
  chattyTimeout,
37
32
  children
38
33
  } = _ref;
34
+ var contextDataRef = (0, _react.useRef)(contextData);
39
35
  var [initialRouteData, setInitialRouteData] = (0, _react.useState)();
40
36
  var [hostRouteData, setHostRouteData] = (0, _react.useState)({
41
37
  route: ''
42
38
  });
43
39
  var [initializing, setInitializing] = (0, _react.useState)(true);
44
40
  var [initializeError, setInitializeError] = (0, _react.useState)();
45
- var setInitialRouteAndRouteState = (route, routeState) => {
41
+ (0, _react.useEffect)(() => {
42
+ contextDataRef.current = contextData;
43
+ }, [contextData]);
44
+ var setInitialRouteAndRouteState = (0, _react.useCallback)((route, routeState) => {
46
45
  if (hostTracksRoute) {
47
46
  setInitialRouteData({
48
47
  route,
49
48
  routeState
50
49
  });
51
50
  }
52
- };
53
- var hostChangedRoute = (_route, routeState) => {
51
+ }, [hostTracksRoute, setInitialRouteData]);
52
+ var hostChangedRoute = (0, _react.useCallback)((_route, routeState) => {
54
53
  var route = _route.startsWith('/') ? _route : '/' + _route;
55
54
  if (route !== hostRouteData.route || !(0, _isEqual.default)(routeState, hostRouteData.routeState)) {
56
55
  setHostRouteData({
57
56
  route,
58
57
  routeState
59
58
  });
60
- updateContextData(_objectSpread(_objectSpread({}, contextData), {}, {
59
+ updateContextData({
61
60
  route,
62
61
  routeState
63
- }));
62
+ });
63
+ }
64
+ }, [setHostRouteData, updateContextData]);
65
+ var visualizationDataReceivedCallback = (0, _react.useCallback)(visualizationData => {
66
+ updateContextData({
67
+ visualizationData
68
+ });
69
+ }, [updateContextData]);
70
+ var tileHostDataChangedCallback = (0, _react.useCallback)(partialHostData => {
71
+ if (contextDataRef.current.tileSDK) {
72
+ var {
73
+ tileSDK
74
+ } = contextDataRef.current;
75
+ tileSDK.tileHostDataChanged(partialHostData);
76
+ updateContextData({
77
+ tileHostData: tileSDK.tileHostData
78
+ });
64
79
  }
65
- };
66
- _react.default.useEffect(() => {
80
+ }, [updateContextData]);
81
+ (0, _react.useEffect)(() => {
67
82
  var initialize = function () {
68
83
  var _ref2 = _asyncToGenerator(function* () {
69
84
  try {
@@ -71,7 +86,9 @@ var ExtensionConnector = _ref => {
71
86
  setInitialRoute: setInitialRouteAndRouteState,
72
87
  requiredLookerVersion,
73
88
  hostChangedRoute,
74
- chattyTimeout
89
+ chattyTimeout,
90
+ visualizationDataReceivedCallback,
91
+ tileHostDataChangedCallback
75
92
  });
76
93
  connectedCallback(extensionHost);
77
94
  setInitializing(false);
@@ -90,7 +107,7 @@ var ExtensionConnector = _ref => {
90
107
  unloadedCallback();
91
108
  };
92
109
  }, []);
93
- _react.default.useEffect(() => {
110
+ (0, _react.useEffect)(() => {
94
111
  return initializing ? undefined : (0, _setup_close_popovers.setupClosePopoversListener)(contextData.extensionSDK);
95
112
  }, [initializing]);
96
113
  return _react.default.createElement(_react.default.Fragment, null, initializing ? loadingComponent : _react.default.createElement(_react.default.Fragment, null, initializeError ? _react.default.createElement(_ErrorMessage.ErrorMessage, {
@@ -1 +1 @@
1
- {"version":3,"file":"ExtensionConnector.js","names":["_isEqual","_interopRequireDefault","require","_react","_interopRequireWildcard","_reactRouterDom","_extensionSdk","_ErrorMessage","_RouteChangeListener","_get_initial_route_entries","_setup_close_popovers","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","asyncGeneratorStep","gen","resolve","reject","_next","_throw","arg","info","value","error","done","Promise","then","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","_objectSpread","target","i","length","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","configurable","writable","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","res","TypeError","Number","ExtensionConnector","_ref","contextData","updateContextData","connectedCallback","unloadedCallback","onPathnameChange","onRouteChange","hostTracksRoute","loadingComponent","requiredLookerVersion","chattyTimeout","children","initialRouteData","setInitialRouteData","useState","hostRouteData","setHostRouteData","route","initializing","setInitializing","initializeError","setInitializeError","setInitialRouteAndRouteState","routeState","hostChangedRoute","_route","startsWith","isEqual","React","useEffect","initialize","_ref2","extensionHost","connectExtensionHost","setInitialRoute","console","message","setupClosePopoversListener","extensionSDK","createElement","Fragment","ErrorMessage","errorMessage","MemoryRouter","initialEntries","getInitialRouteEntries","RouteChangeListener","hostRoute","hostRouteState","exports"],"sources":["../../../src/components/ExtensionConnector/ExtensionConnector.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 isEqual from 'lodash/isEqual'\nimport React, { useState } from 'react'\nimport { MemoryRouter } from 'react-router-dom'\nimport { connectExtensionHost } from '@looker/extension-sdk'\nimport { ErrorMessage } from '../ErrorMessage'\nimport { RouteChangeListener } from '../RouteChangeListener'\nimport { getInitialRouteEntries } from '../utils/get_initial_route_entries'\nimport { setupClosePopoversListener } from '../utils/setup_close_popovers'\nimport type { ExtensionConnectorProps, RouteData } from './types'\n\n/**\n * ExtensionConnector component. Provides access to the extension API and SDK (use\n * ExtensionContext) and react routing services.\n */\nexport const ExtensionConnector: React.FC<ExtensionConnectorProps> = ({\n contextData,\n updateContextData,\n connectedCallback,\n unloadedCallback,\n onPathnameChange,\n onRouteChange,\n hostTracksRoute = true,\n loadingComponent,\n requiredLookerVersion,\n chattyTimeout,\n children,\n}) => {\n const [initialRouteData, setInitialRouteData] = useState<RouteData>()\n const [hostRouteData, setHostRouteData] = useState<RouteData>({ route: '' })\n const [initializing, setInitializing] = useState(true)\n const [initializeError, setInitializeError] = useState<string>()\n\n const setInitialRouteAndRouteState = (route: string, routeState?: any) => {\n if (hostTracksRoute) {\n setInitialRouteData({ route, routeState })\n }\n }\n\n const hostChangedRoute = (_route: string, routeState?: any) => {\n const route = _route.startsWith('/') ? _route : '/' + _route\n if (\n route !== hostRouteData.route ||\n !isEqual(routeState, hostRouteData.routeState)\n ) {\n setHostRouteData({ route, routeState })\n updateContextData({\n ...contextData,\n route,\n routeState,\n })\n }\n }\n\n React.useEffect(() => {\n const initialize = async () => {\n try {\n const extensionHost = await connectExtensionHost({\n setInitialRoute: setInitialRouteAndRouteState,\n requiredLookerVersion,\n hostChangedRoute,\n chattyTimeout,\n })\n connectedCallback(extensionHost)\n setInitializing(false)\n } catch (error: any) {\n // eslint-disable-next-line no-console\n console.error(error)\n setInitializeError(error.message || 'Extension failed to initialize.')\n setInitializing(false)\n }\n }\n initialize()\n return () => {\n unloadedCallback()\n }\n }, [])\n\n React.useEffect(() => {\n return initializing\n ? undefined\n : setupClosePopoversListener(contextData.extensionSDK)\n }, [initializing])\n\n return (\n <>\n {initializing ? (\n loadingComponent\n ) : (\n <>\n {initializeError ? (\n <ErrorMessage errorMessage={initializeError} />\n ) : (\n <>\n {hostTracksRoute ? (\n <MemoryRouter\n initialEntries={getInitialRouteEntries(initialRouteData)}\n >\n <RouteChangeListener\n onRouteChange={onRouteChange}\n onPathnameChange={onPathnameChange}\n extensionHost={contextData!.extensionSDK}\n hostRoute={hostRouteData.route}\n hostRouteState={hostRouteData.routeState}\n />\n {children}\n </MemoryRouter>\n ) : (\n <>{children}</>\n )}\n </>\n )}\n </>\n )}\n </>\n )\n}\n"],"mappings":";;;;;;AA0BA,IAAAA,QAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAC,uBAAA,CAAAF,OAAA;AACA,IAAAG,eAAA,GAAAH,OAAA;AACA,IAAAI,aAAA,GAAAJ,OAAA;AACA,IAAAK,aAAA,GAAAL,OAAA;AACA,IAAAM,oBAAA,GAAAN,OAAA;AACA,IAAAO,0BAAA,GAAAP,OAAA;AACA,IAAAQ,qBAAA,GAAAR,OAAA;AAA0E,SAAAS,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,yBAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAR,wBAAAY,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,CAAAJ,OAAA,GAAAF,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA;AAAA,SAAArB,uBAAAe,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAiB,mBAAAC,GAAA,EAAAC,OAAA,EAAAC,MAAA,EAAAC,KAAA,EAAAC,MAAA,EAAAX,GAAA,EAAAY,GAAA,cAAAC,IAAA,GAAAN,GAAA,CAAAP,GAAA,EAAAY,GAAA,OAAAE,KAAA,GAAAD,IAAA,CAAAC,KAAA,WAAAC,KAAA,IAAAN,MAAA,CAAAM,KAAA,iBAAAF,IAAA,CAAAG,IAAA,IAAAR,OAAA,CAAAM,KAAA,YAAAG,OAAA,CAAAT,OAAA,CAAAM,KAAA,EAAAI,IAAA,CAAAR,KAAA,EAAAC,MAAA;AAAA,SAAAQ,kBAAAC,EAAA,6BAAAC,IAAA,SAAAC,IAAA,GAAAC,SAAA,aAAAN,OAAA,WAAAT,OAAA,EAAAC,MAAA,QAAAF,GAAA,GAAAa,EAAA,CAAAI,KAAA,CAAAH,IAAA,EAAAC,IAAA,YAAAZ,MAAAI,KAAA,IAAAR,kBAAA,CAAAC,GAAA,EAAAC,OAAA,EAAAC,MAAA,EAAAC,KAAA,EAAAC,MAAA,UAAAG,KAAA,cAAAH,OAAAc,GAAA,IAAAnB,kBAAA,CAAAC,GAAA,EAAAC,OAAA,EAAAC,MAAA,EAAAC,KAAA,EAAAC,MAAA,WAAAc,GAAA,KAAAf,KAAA,CAAAgB,SAAA;AAAA,SAAAC,QAAAC,MAAA,EAAAC,cAAA,QAAAC,IAAA,GAAAjC,MAAA,CAAAiC,IAAA,CAAAF,MAAA,OAAA/B,MAAA,CAAAkC,qBAAA,QAAAC,OAAA,GAAAnC,MAAA,CAAAkC,qBAAA,CAAAH,MAAA,GAAAC,cAAA,KAAAG,OAAA,GAAAA,OAAA,CAAAC,MAAA,WAAAC,GAAA,WAAArC,MAAA,CAAAE,wBAAA,CAAA6B,MAAA,EAAAM,GAAA,EAAAC,UAAA,OAAAL,IAAA,CAAAM,IAAA,CAAAZ,KAAA,CAAAM,IAAA,EAAAE,OAAA,YAAAF,IAAA;AAAA,SAAAO,cAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAhB,SAAA,CAAAiB,MAAA,EAAAD,CAAA,UAAAE,MAAA,WAAAlB,SAAA,CAAAgB,CAAA,IAAAhB,SAAA,CAAAgB,CAAA,QAAAA,CAAA,OAAAZ,OAAA,CAAA9B,MAAA,CAAA4C,MAAA,OAAAC,OAAA,WAAA1C,GAAA,IAAA2C,eAAA,CAAAL,MAAA,EAAAtC,GAAA,EAAAyC,MAAA,CAAAzC,GAAA,SAAAH,MAAA,CAAA+C,yBAAA,GAAA/C,MAAA,CAAAgD,gBAAA,CAAAP,MAAA,EAAAzC,MAAA,CAAA+C,yBAAA,CAAAH,MAAA,KAAAd,OAAA,CAAA9B,MAAA,CAAA4C,MAAA,GAAAC,OAAA,WAAA1C,GAAA,IAAAH,MAAA,CAAAC,cAAA,CAAAwC,MAAA,EAAAtC,GAAA,EAAAH,MAAA,CAAAE,wBAAA,CAAA0C,MAAA,EAAAzC,GAAA,iBAAAsC,MAAA;AAAA,SAAAK,gBAAAtD,GAAA,EAAAW,GAAA,EAAAc,KAAA,IAAAd,GAAA,GAAA8C,cAAA,CAAA9C,GAAA,OAAAA,GAAA,IAAAX,GAAA,IAAAQ,MAAA,CAAAC,cAAA,CAAAT,GAAA,EAAAW,GAAA,IAAAc,KAAA,EAAAA,KAAA,EAAAqB,UAAA,QAAAY,YAAA,QAAAC,QAAA,oBAAA3D,GAAA,CAAAW,GAAA,IAAAc,KAAA,WAAAzB,GAAA;AAAA,SAAAyD,eAAAlC,GAAA,QAAAZ,GAAA,GAAAiD,YAAA,CAAArC,GAAA,2BAAAZ,GAAA,gBAAAA,GAAA,GAAAkD,MAAA,CAAAlD,GAAA;AAAA,SAAAiD,aAAAE,KAAA,EAAAC,IAAA,eAAAD,KAAA,iBAAAA,KAAA,kBAAAA,KAAA,MAAAE,IAAA,GAAAF,KAAA,CAAAG,MAAA,CAAAC,WAAA,OAAAF,IAAA,KAAA3B,SAAA,QAAA8B,GAAA,GAAAH,IAAA,CAAAlD,IAAA,CAAAgD,KAAA,EAAAC,IAAA,2BAAAI,GAAA,sBAAAA,GAAA,YAAAC,SAAA,4DAAAL,IAAA,gBAAAF,MAAA,GAAAQ,MAAA,EAAAP,KAAA;AAOnE,IAAMQ,kBAAqD,GAAGC,IAAA,IAY/D;EAAA,IAZgE;IACpEC,WAAW;IACXC,iBAAiB;IACjBC,iBAAiB;IACjBC,gBAAgB;IAChBC,gBAAgB;IAChBC,aAAa;IACbC,eAAe,GAAG,IAAI;IACtBC,gBAAgB;IAChBC,qBAAqB;IACrBC,aAAa;IACbC;EACF,CAAC,GAAAX,IAAA;EACC,IAAM,CAACY,gBAAgB,EAAEC,mBAAmB,CAAC,GAAG,IAAAC,eAAQ,GAAa;EACrE,IAAM,CAACC,aAAa,EAAEC,gBAAgB,CAAC,GAAG,IAAAF,eAAQ,EAAY;IAAEG,KAAK,EAAE;EAAG,CAAC,CAAC;EAC5E,IAAM,CAACC,YAAY,EAAEC,eAAe,CAAC,GAAG,IAAAL,eAAQ,EAAC,IAAI,CAAC;EACtD,IAAM,CAACM,eAAe,EAAEC,kBAAkB,CAAC,GAAG,IAAAP,eAAQ,GAAU;EAEhE,IAAMQ,4BAA4B,GAAGA,CAACL,KAAa,EAAEM,UAAgB,KAAK;IACxE,IAAIhB,eAAe,EAAE;MACnBM,mBAAmB,CAAC;QAAEI,KAAK;QAAEM;MAAW,CAAC,CAAC;IAC5C;EACF,CAAC;EAED,IAAMC,gBAAgB,GAAGA,CAACC,MAAc,EAAEF,UAAgB,KAAK;IAC7D,IAAMN,KAAK,GAAGQ,MAAM,CAACC,UAAU,CAAC,GAAG,CAAC,GAAGD,MAAM,GAAG,GAAG,GAAGA,MAAM;IAC5D,IACER,KAAK,KAAKF,aAAa,CAACE,KAAK,IAC7B,CAAC,IAAAU,gBAAO,EAACJ,UAAU,EAAER,aAAa,CAACQ,UAAU,CAAC,EAC9C;MACAP,gBAAgB,CAAC;QAAEC,KAAK;QAAEM;MAAW,CAAC,CAAC;MACvCrB,iBAAiB,CAAAzB,aAAA,CAAAA,aAAA,KACZwB,WAAW;QACdgB,KAAK;QACLM;MAAU,GACV;IACJ;EACF,CAAC;EAEDK,cAAK,CAACC,SAAS,CAAC,MAAM;IACpB,IAAMC,UAAU;MAAA,IAAAC,KAAA,GAAAxE,iBAAA,CAAG,aAAY;QAC7B,IAAI;UACF,IAAMyE,aAAa,SAAS,IAAAC,kCAAoB,EAAC;YAC/CC,eAAe,EAAEZ,4BAA4B;YAC7Cb,qBAAqB;YACrBe,gBAAgB;YAChBd;UACF,CAAC,CAAC;UACFP,iBAAiB,CAAC6B,aAAa,CAAC;UAChCb,eAAe,CAAC,KAAK,CAAC;QACxB,CAAC,CAAC,OAAOhE,KAAU,EAAE;UAEnBgF,OAAO,CAAChF,KAAK,CAACA,KAAK,CAAC;UACpBkE,kBAAkB,CAAClE,KAAK,CAACiF,OAAO,IAAI,iCAAiC,CAAC;UACtEjB,eAAe,CAAC,KAAK,CAAC;QACxB;MACF,CAAC;MAAA,gBAhBKW,UAAUA,CAAA;QAAA,OAAAC,KAAA,CAAAnE,KAAA,OAAAD,SAAA;MAAA;IAAA,GAgBf;IACDmE,UAAU,EAAE;IACZ,OAAO,MAAM;MACX1B,gBAAgB,EAAE;IACpB,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAENwB,cAAK,CAACC,SAAS,CAAC,MAAM;IACpB,OAAOX,YAAY,GACfpD,SAAS,GACT,IAAAuE,gDAA0B,EAACpC,WAAW,CAACqC,YAAY,CAAC;EAC1D,CAAC,EAAE,CAACpB,YAAY,CAAC,CAAC;EAElB,OACEtG,MAAA,CAAAe,OAAA,CAAA4G,aAAA,CAAA3H,MAAA,CAAAe,OAAA,CAAA6G,QAAA,QACGtB,YAAY,GACXV,gBAAgB,GAEhB5F,MAAA,CAAAe,OAAA,CAAA4G,aAAA,CAAA3H,MAAA,CAAAe,OAAA,CAAA6G,QAAA,QACGpB,eAAe,GACdxG,MAAA,CAAAe,OAAA,CAAA4G,aAAA,CAACvH,aAAA,CAAAyH,YAAY;IAACC,YAAY,EAAEtB;EAAgB,EAAG,GAE/CxG,MAAA,CAAAe,OAAA,CAAA4G,aAAA,CAAA3H,MAAA,CAAAe,OAAA,CAAA6G,QAAA,QACGjC,eAAe,GACd3F,MAAA,CAAAe,OAAA,CAAA4G,aAAA,CAACzH,eAAA,CAAA6H,YAAY;IACXC,cAAc,EAAE,IAAAC,iDAAsB,EAACjC,gBAAgB;EAAE,GAEzDhG,MAAA,CAAAe,OAAA,CAAA4G,aAAA,CAACtH,oBAAA,CAAA6H,mBAAmB;IAClBxC,aAAa,EAAEA,aAAc;IAC7BD,gBAAgB,EAAEA,gBAAiB;IACnC2B,aAAa,EAAE/B,WAAW,CAAEqC,YAAa;IACzCS,SAAS,EAAEhC,aAAa,CAACE,KAAM;IAC/B+B,cAAc,EAAEjC,aAAa,CAACQ;EAAW,EACzC,EACDZ,QAAQ,CACI,GAEf/F,MAAA,CAAAe,OAAA,CAAA4G,aAAA,CAAA3H,MAAA,CAAAe,OAAA,CAAA6G,QAAA,QAAG7B,QAAQ,CACZ,CAEJ,CAEJ,CACA;AAEP,CAAC;AAAAsC,OAAA,CAAAlD,kBAAA,GAAAA,kBAAA"}
1
+ {"version":3,"file":"ExtensionConnector.js","names":["_isEqual","_interopRequireDefault","require","_react","_interopRequireWildcard","_reactRouterDom","_extensionSdk","_ErrorMessage","_RouteChangeListener","_get_initial_route_entries","_setup_close_popovers","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","asyncGeneratorStep","gen","resolve","reject","_next","_throw","arg","info","value","error","done","Promise","then","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","ExtensionConnector","_ref","contextData","updateContextData","connectedCallback","unloadedCallback","onPathnameChange","onRouteChange","hostTracksRoute","loadingComponent","requiredLookerVersion","chattyTimeout","children","contextDataRef","useRef","initialRouteData","setInitialRouteData","useState","hostRouteData","setHostRouteData","route","initializing","setInitializing","initializeError","setInitializeError","useEffect","current","setInitialRouteAndRouteState","useCallback","routeState","hostChangedRoute","_route","startsWith","isEqual","visualizationDataReceivedCallback","visualizationData","tileHostDataChangedCallback","partialHostData","tileSDK","tileHostDataChanged","tileHostData","initialize","_ref2","extensionHost","connectExtensionHost","setInitialRoute","console","message","setupClosePopoversListener","extensionSDK","createElement","Fragment","ErrorMessage","errorMessage","MemoryRouter","initialEntries","getInitialRouteEntries","RouteChangeListener","hostRoute","hostRouteState","exports"],"sources":["../../../src/components/ExtensionConnector/ExtensionConnector.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 isEqual from 'lodash/isEqual'\nimport React, { useEffect, useState, useCallback, useRef } from 'react'\nimport { MemoryRouter } from 'react-router-dom'\nimport type { RawVisualizationData, TileHostData } from '@looker/extension-sdk'\nimport { connectExtensionHost } from '@looker/extension-sdk'\nimport { ErrorMessage } from '../ErrorMessage'\nimport { RouteChangeListener } from '../RouteChangeListener'\nimport { getInitialRouteEntries } from '../utils/get_initial_route_entries'\nimport { setupClosePopoversListener } from '../utils/setup_close_popovers'\nimport type { ExtensionConnectorProps, RouteData } from './types'\n\n/**\n * ExtensionConnector component. Provides access to the extension API and SDK (use\n * ExtensionContext) and react routing services.\n */\nexport const ExtensionConnector: React.FC<ExtensionConnectorProps> = ({\n contextData,\n updateContextData,\n connectedCallback,\n unloadedCallback,\n onPathnameChange,\n onRouteChange,\n hostTracksRoute = true,\n loadingComponent,\n requiredLookerVersion,\n chattyTimeout,\n children,\n}) => {\n const contextDataRef = useRef(contextData)\n const [initialRouteData, setInitialRouteData] = useState<RouteData>()\n const [hostRouteData, setHostRouteData] = useState<RouteData>({ route: '' })\n const [initializing, setInitializing] = useState(true)\n const [initializeError, setInitializeError] = useState<string>()\n\n useEffect(() => {\n contextDataRef.current = contextData\n }, [contextData])\n\n const setInitialRouteAndRouteState = useCallback(\n (route: string, routeState?: any) => {\n if (hostTracksRoute) {\n setInitialRouteData({ route, routeState })\n }\n },\n [hostTracksRoute, setInitialRouteData]\n )\n\n const hostChangedRoute = useCallback(\n (_route: string, routeState?: any) => {\n const route = _route.startsWith('/') ? _route : '/' + _route\n if (\n route !== hostRouteData.route ||\n !isEqual(routeState, hostRouteData.routeState)\n ) {\n setHostRouteData({ route, routeState })\n updateContextData({\n route,\n routeState,\n })\n }\n },\n [setHostRouteData, updateContextData]\n )\n\n const visualizationDataReceivedCallback = useCallback(\n (visualizationData: RawVisualizationData) => {\n updateContextData({\n visualizationData,\n })\n },\n [updateContextData]\n )\n\n const tileHostDataChangedCallback = useCallback(\n (partialHostData: Partial<TileHostData>) => {\n if (contextDataRef.current.tileSDK) {\n const { tileSDK } = contextDataRef.current\n tileSDK.tileHostDataChanged(partialHostData)\n updateContextData({\n tileHostData: tileSDK.tileHostData,\n })\n }\n },\n [updateContextData]\n )\n\n useEffect(() => {\n const initialize = async () => {\n try {\n const extensionHost = await connectExtensionHost({\n setInitialRoute: setInitialRouteAndRouteState,\n requiredLookerVersion,\n hostChangedRoute,\n chattyTimeout,\n visualizationDataReceivedCallback,\n tileHostDataChangedCallback,\n })\n connectedCallback(extensionHost)\n setInitializing(false)\n } catch (error: any) {\n // eslint-disable-next-line no-console\n console.error(error)\n setInitializeError(error.message || 'Extension failed to initialize.')\n setInitializing(false)\n }\n }\n initialize()\n return () => {\n unloadedCallback()\n }\n }, [])\n\n useEffect(() => {\n return initializing\n ? undefined\n : setupClosePopoversListener(contextData.extensionSDK)\n }, [initializing])\n\n return (\n <>\n {initializing ? (\n loadingComponent\n ) : (\n <>\n {initializeError ? (\n <ErrorMessage errorMessage={initializeError} />\n ) : (\n <>\n {hostTracksRoute ? (\n <MemoryRouter\n initialEntries={getInitialRouteEntries(initialRouteData)}\n >\n <RouteChangeListener\n onRouteChange={onRouteChange}\n onPathnameChange={onPathnameChange}\n extensionHost={contextData!.extensionSDK}\n hostRoute={hostRouteData.route}\n hostRouteState={hostRouteData.routeState}\n />\n {children}\n </MemoryRouter>\n ) : (\n <>{children}</>\n )}\n </>\n )}\n </>\n )}\n </>\n )\n}\n"],"mappings":"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"}
@@ -1,10 +1,15 @@
1
1
  import type { ReactNode } from 'react';
2
- import type { ExtensionHostApi, ExtensionSDK } from '@looker/extension-sdk';
2
+ import type { ExtensionHostApi, ExtensionSDK, RawVisualizationData, TileHostData, TileSDK, VisualizationSDK, LookerHostData } from '@looker/extension-sdk';
3
3
  export interface BaseExtensionContextData {
4
4
  extensionSDK: ExtensionSDK;
5
+ lookerHostData?: Readonly<LookerHostData>;
5
6
  initializeError?: string;
6
7
  route: string;
7
8
  routeState?: any;
9
+ visualizationData?: Readonly<RawVisualizationData>;
10
+ visualizationSDK: VisualizationSDK;
11
+ tileHostData: Readonly<TileHostData>;
12
+ tileSDK: TileSDK;
8
13
  }
9
14
  export interface RouteData {
10
15
  route: string;
@@ -22,6 +27,6 @@ export interface ExtensionProviderProps {
22
27
  export interface ExtensionConnectorProps extends ExtensionProviderProps {
23
28
  contextData: BaseExtensionContextData;
24
29
  connectedCallback: (extensionSDK: ExtensionHostApi) => void;
25
- updateContextData: (contextData: BaseExtensionContextData) => void;
30
+ updateContextData: (contextData: Partial<BaseExtensionContextData>) => void;
26
31
  unloadedCallback: () => void;
27
32
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":[],"sources":["../../../src/components/ExtensionConnector/types.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\nimport type { ReactNode } from 'react'\nimport type { ExtensionHostApi, ExtensionSDK } from '@looker/extension-sdk'\n\n/**\n * Base extension context\n */\nexport interface BaseExtensionContextData {\n /**\n * Extension SDK.\n */\n extensionSDK: ExtensionSDK\n /**\n * Error message will be set in an initialization error occurs.\n * @deprecated if an initialization error occurs the extension\n * component is no longer rendered. initializeError will ALWAYS\n * be undefined\n */\n initializeError?: string\n /**\n * Current route\n */\n route: string\n /**\n * Current route state\n */\n routeState?: any\n}\n\nexport interface RouteData {\n route: string\n routeState?: any\n}\n\nexport interface ExtensionProviderProps {\n /**\n * When true, a react router MemoryRouter will be created and changes to the\n * extension route will be propagated to the host. The host will then track\n * the clients route by appending it to the host route.\n * Note that this is only supported where the extension is mounted\n * in the main extension view. If the extension is mounted as a component of a\n * looker composite component (dashboard for example), hostTracksRoute will be\n * ignored.\n */\n hostTracksRoute?: boolean\n /**\n * Pathname change callback. Use when extension components need to modify their\n * state based upon the current route.\n */\n onPathnameChange?: (pathname: string) => void\n /**\n * Route change callback. Use when extension components need to modify their\n * state based upon the current route. Alternate to onPathname change and\n * provides more details\n */\n onRouteChange?: (route: string, routeState?: any) => void\n /**\n * Loading component to display while the provider is\n * establishing communication with the Looker host\n */\n loadingComponent?: JSX.Element\n /**\n * Required looker version. An error will be thrown if the host\n * Looker is not at the version specified.\n */\n requiredLookerVersion?: string\n /**\n * Timeout for messages sent via chatty. Defaults to 30000 milliseconds.\n * Set to -1 for no timeout.\n */\n chattyTimeout?: number\n /**\n * Children\n */\n children?: ReactNode\n}\n\nexport interface ExtensionConnectorProps extends ExtensionProviderProps {\n contextData: BaseExtensionContextData\n connectedCallback: (extensionSDK: ExtensionHostApi) => void\n updateContextData: (contextData: BaseExtensionContextData) => void\n unloadedCallback: () => void\n}\n"],"mappings":""}
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../../src/components/ExtensionConnector/types.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\nimport type { ReactNode } from 'react'\nimport type {\n ExtensionHostApi,\n ExtensionSDK,\n RawVisualizationData,\n TileHostData,\n TileSDK,\n VisualizationSDK,\n LookerHostData,\n} from '@looker/extension-sdk'\n\n/**\n * Base extension context\n */\nexport interface BaseExtensionContextData {\n /**\n * Extension SDK.\n */\n extensionSDK: ExtensionSDK\n /**\n * Looker host data\n */\n lookerHostData?: Readonly<LookerHostData>\n /**\n * Error message will be set in an initialization error occurs.\n * @deprecated if an initialization error occurs the extension\n * component is no longer rendered. initializeError will ALWAYS\n * be undefined\n */\n initializeError?: string\n /**\n * Current route\n */\n route: string\n /**\n * Current route state\n */\n routeState?: any\n /**\n * Visualization data.\n */\n visualizationData?: Readonly<RawVisualizationData>\n /**\n * Visualization api.\n */\n visualizationSDK: VisualizationSDK\n /**\n * Tile host data\n */\n tileHostData: Readonly<TileHostData>\n /**\n * Tile api.\n */\n tileSDK: TileSDK\n}\n\nexport interface RouteData {\n route: string\n routeState?: any\n}\n\nexport interface ExtensionProviderProps {\n /**\n * When true, a react router MemoryRouter will be created and changes to the\n * extension route will be propagated to the host. The host will then track\n * the clients route by appending it to the host route.\n * Note that this is only supported where the extension is mounted\n * in the main extension view. If the extension is mounted as a component of a\n * looker composite component (dashboard for example), hostTracksRoute will be\n * ignored.\n */\n hostTracksRoute?: boolean\n /**\n * Pathname change callback. Use when extension components need to modify their\n * state based upon the current route.\n */\n onPathnameChange?: (pathname: string) => void\n /**\n * Route change callback. Use when extension components need to modify their\n * state based upon the current route. Alternate to onPathname change and\n * provides more details\n */\n onRouteChange?: (route: string, routeState?: any) => void\n /**\n * Loading component to display while the provider is\n * establishing communication with the Looker host\n */\n loadingComponent?: JSX.Element\n /**\n * Required looker version. An error will be thrown if the host\n * Looker is not at the version specified.\n */\n requiredLookerVersion?: string\n /**\n * Timeout for messages sent via chatty. Defaults to 30000 milliseconds.\n * Set to -1 for no timeout.\n */\n chattyTimeout?: number\n /**\n * Children\n */\n children?: ReactNode\n}\n\nexport interface ExtensionConnectorProps extends ExtensionProviderProps {\n contextData: BaseExtensionContextData\n connectedCallback: (extensionSDK: ExtensionHostApi) => void\n updateContextData: (contextData: Partial<BaseExtensionContextData>) => void\n unloadedCallback: () => void\n}\n"],"mappings":""}
@@ -33,12 +33,28 @@ var ExtensionProvider = _ref => {
33
33
  var core40SDK = _extensionSdk.LookerExtensionSDK.create40Client(extensionHost);
34
34
  (0, _core_sdk_.registerCore31SDK)(core31SDK);
35
35
  (0, _core_sdk_2.registerCore40SDK)(core40SDK);
36
+ var {
37
+ visualizationSDK,
38
+ tileSDK,
39
+ lookerHostData
40
+ } = extensionHost;
41
+ var {
42
+ visualizationData
43
+ } = visualizationSDK;
44
+ var {
45
+ tileHostData
46
+ } = tileSDK;
36
47
  setExtensionData(previousState => {
37
48
  return _objectSpread(_objectSpread({}, previousState), {}, {
38
49
  extensionSDK: extensionHost,
39
50
  coreSDK: core31SDK,
40
51
  core31SDK,
41
- core40SDK
52
+ core40SDK,
53
+ visualizationSDK,
54
+ tileSDK,
55
+ visualizationData,
56
+ tileHostData,
57
+ lookerHostData
42
58
  });
43
59
  });
44
60
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ExtensionProvider.js","names":["_react","_interopRequireWildcard","require","_extensionSdk","_ExtensionConnector","_core_sdk_","_core_sdk_2","_excluded","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","ExtensionContext","React","createContext","exports","ExtensionProvider","_ref","children","props","extensionData","setExtensionData","useState","connectedCallback","extensionHost","core31SDK","LookerExtensionSDK","create31Client","core40SDK","create40Client","registerCore31SDK","registerCore40SDK","previousState","extensionSDK","coreSDK","unloadedCallback","unregisterCore31SDK","unregisterCore40SDK","updateContextData","updatedContextData","createElement","Provider","ExtensionConnector","contextData"],"sources":["../../../src/components/ExtensionProvider/ExtensionProvider.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 React, { useState } from 'react'\nimport type { ExtensionHostApi } from '@looker/extension-sdk'\nimport { LookerExtensionSDK } from '@looker/extension-sdk'\nimport type { Looker31SDK, Looker40SDK } from '@looker/sdk'\nimport type {\n BaseExtensionContextData,\n ExtensionProviderProps,\n} from '../ExtensionConnector'\nimport { ExtensionConnector } from '../ExtensionConnector'\nimport { registerCore31SDK, unregisterCore31SDK } from '../../sdk/core_sdk_31'\nimport { registerCore40SDK, unregisterCore40SDK } from '../../sdk/core_sdk_40'\nimport type { ExtensionContextData } from './types'\n\n/**\n * React context provider for extension API and SDK\n */\nexport const ExtensionContext = React.createContext<ExtensionContextData>(\n undefined as any // no one will ever see this undefined!\n)\n\n/**\n * ExtensionProvider component. Provides access to the extension API and SDK (use\n * ExtensionContext) and react routing services.\n */\nexport const ExtensionProvider: React.FC<ExtensionProviderProps> = ({\n children,\n ...props\n}) => {\n const [extensionData, setExtensionData] = useState<ExtensionContextData>(\n {} as ExtensionContextData\n )\n const connectedCallback = (extensionHost: ExtensionHostApi) => {\n const core31SDK: Looker31SDK =\n LookerExtensionSDK.create31Client(extensionHost)\n const core40SDK: Looker40SDK =\n LookerExtensionSDK.create40Client(extensionHost)\n // Provide global access for use by redux if needed\n registerCore31SDK(core31SDK)\n registerCore40SDK(core40SDK)\n setExtensionData((previousState: ExtensionContextData) => {\n return {\n ...previousState,\n extensionSDK: extensionHost,\n coreSDK: core31SDK,\n core31SDK,\n core40SDK,\n }\n })\n }\n\n const unloadedCallback = () => {\n unregisterCore31SDK()\n unregisterCore40SDK()\n }\n\n const updateContextData = (updatedContextData: BaseExtensionContextData) => {\n setExtensionData((previousState: ExtensionContextData) => {\n return {\n ...previousState,\n ...updatedContextData,\n }\n })\n }\n\n return (\n <ExtensionContext.Provider value={extensionData!}>\n <ExtensionConnector\n {...props}\n contextData={extensionData}\n connectedCallback={connectedCallback}\n updateContextData={updateContextData}\n unloadedCallback={unloadedCallback}\n >\n {children}\n </ExtensionConnector>\n </ExtensionContext.Provider>\n )\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"ExtensionProvider.js","names":["_react","_interopRequireWildcard","require","_extensionSdk","_ExtensionConnector","_core_sdk_","_core_sdk_2","_excluded","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","ExtensionContext","React","createContext","exports","ExtensionProvider","_ref","children","props","extensionData","setExtensionData","useState","connectedCallback","extensionHost","core31SDK","LookerExtensionSDK","create31Client","core40SDK","create40Client","registerCore31SDK","registerCore40SDK","visualizationSDK","tileSDK","lookerHostData","visualizationData","tileHostData","previousState","extensionSDK","coreSDK","unloadedCallback","unregisterCore31SDK","unregisterCore40SDK","updateContextData","updatedContextData","createElement","Provider","ExtensionConnector","contextData"],"sources":["../../../src/components/ExtensionProvider/ExtensionProvider.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 React, { useState } from 'react'\nimport type { ExtensionHostApi } from '@looker/extension-sdk'\nimport { LookerExtensionSDK } from '@looker/extension-sdk'\nimport type { Looker31SDK, Looker40SDK } from '@looker/sdk'\nimport type {\n BaseExtensionContextData,\n ExtensionProviderProps,\n} from '../ExtensionConnector'\nimport { ExtensionConnector } from '../ExtensionConnector'\nimport { registerCore31SDK, unregisterCore31SDK } from '../../sdk/core_sdk_31'\nimport { registerCore40SDK, unregisterCore40SDK } from '../../sdk/core_sdk_40'\nimport type { ExtensionContextData } from './types'\n\n/**\n * React context provider for extension API and SDK\n */\nexport const ExtensionContext = React.createContext<ExtensionContextData>(\n undefined as any // no one will ever see this undefined!\n)\n\n/**\n * ExtensionProvider component. Provides access to the extension API and SDK (use\n * ExtensionContext) and react routing services.\n * @deprecated use ExtensionProvider40\n */\nexport const ExtensionProvider: React.FC<ExtensionProviderProps> = ({\n children,\n ...props\n}) => {\n const [extensionData, setExtensionData] = useState<ExtensionContextData>(\n {} as ExtensionContextData\n )\n const connectedCallback = (extensionHost: ExtensionHostApi) => {\n const core31SDK: Looker31SDK =\n LookerExtensionSDK.create31Client(extensionHost)\n const core40SDK: Looker40SDK =\n LookerExtensionSDK.create40Client(extensionHost)\n // Provide global access for use by redux if needed\n registerCore31SDK(core31SDK)\n registerCore40SDK(core40SDK)\n const { visualizationSDK, tileSDK, lookerHostData } = extensionHost\n const { visualizationData } = visualizationSDK\n const { tileHostData } = tileSDK\n setExtensionData((previousState: ExtensionContextData) => {\n return {\n ...previousState,\n extensionSDK: extensionHost,\n coreSDK: core31SDK,\n core31SDK,\n core40SDK,\n visualizationSDK,\n tileSDK,\n visualizationData,\n tileHostData,\n lookerHostData,\n }\n })\n }\n\n const unloadedCallback = () => {\n unregisterCore31SDK()\n unregisterCore40SDK()\n }\n\n const updateContextData = (\n updatedContextData: Partial<BaseExtensionContextData>\n ) => {\n setExtensionData((previousState: ExtensionContextData) => {\n return {\n ...previousState,\n ...updatedContextData,\n }\n })\n }\n\n return (\n <ExtensionContext.Provider value={extensionData}>\n <ExtensionConnector\n {...props}\n contextData={extensionData}\n connectedCallback={connectedCallback}\n updateContextData={updateContextData}\n unloadedCallback={unloadedCallback}\n >\n {children}\n </ExtensionConnector>\n </ExtensionContext.Provider>\n )\n}\n"],"mappings":"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"}
@@ -37,10 +37,26 @@ function ExtensionProvider2(props) {
37
37
  coreSDK = _sdk.LookerExtensionSDK.createClient(new _extensionSdk.SdkConnection(extensionHost, apiVersion), type);
38
38
  }
39
39
  (0, _core_sdk.registerCoreSDK2)(coreSDK);
40
+ var {
41
+ visualizationSDK,
42
+ tileSDK,
43
+ lookerHostData
44
+ } = extensionHost;
45
+ var {
46
+ visualizationData
47
+ } = visualizationSDK;
48
+ var {
49
+ tileHostData
50
+ } = tileSDK;
40
51
  setExtensionData(previousState => {
41
52
  return _objectSpread(_objectSpread({}, previousState), {}, {
42
53
  extensionSDK: extensionHost,
43
- coreSDK
54
+ coreSDK,
55
+ visualizationSDK,
56
+ tileSDK,
57
+ visualizationData,
58
+ tileHostData,
59
+ lookerHostData
44
60
  });
45
61
  });
46
62
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ExtensionProvider2.js","names":["_react","_interopRequireWildcard","require","_extensionSdk","_sdk","_ExtensionConnector","_core_sdk","_excluded","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","ExtensionContext2","React","createContext","exports","ExtensionProvider2","props","children","type","rest","extensionData","setExtensionData","useState","apiVersion","ApiVersion","connectedCallback","extensionHost","coreSDK","LookerExtensionSDK","createClient","SdkConnection","registerCoreSDK2","previousState","extensionSDK","unloadedCallback","unregisterCoreSDK2","updateContextData","updatedContextData","createElement","Provider","ExtensionConnector","contextData"],"sources":["../../../src/components/ExtensionProvider2/ExtensionProvider2.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 React, { useState } from 'react'\nimport type { ExtensionHostApi } from '@looker/extension-sdk'\nimport { SdkConnection } from '@looker/extension-sdk'\nimport { LookerExtensionSDK } from '@looker/sdk'\nimport type {\n BaseExtensionContextData,\n ExtensionProviderProps,\n} from '../ExtensionConnector'\nimport { ExtensionConnector } from '../ExtensionConnector'\nimport { registerCoreSDK2, unregisterCoreSDK2 } from '../../sdk/core_sdk2'\n\nexport interface ExtensionContextData2<T> extends BaseExtensionContextData {\n coreSDK: T\n}\n\n/**\n * React context provider for extension API and SDK\n */\nexport const ExtensionContext2 = React.createContext<\n ExtensionContextData2<any>\n>(\n undefined as any // no one will ever see this undefined!\n)\n\nexport interface ExtensionProvider2Props<T> extends ExtensionProviderProps {\n type: T\n}\n\n/**\n * ExtensionProvider component. Provides access to the extension API and SDK (use\n * ExtensionContext) and react routing services.\n */\nexport function ExtensionProvider2<T>(props: ExtensionProvider2Props<T>) {\n const { children, type, ...rest } = props\n const [extensionData, setExtensionData] = useState<ExtensionContextData2<T>>(\n {} as ExtensionContextData2<T>\n )\n const apiVersion = (type as any).ApiVersion\n\n const connectedCallback = (extensionHost: ExtensionHostApi) => {\n let coreSDK: any\n if (apiVersion) {\n coreSDK = LookerExtensionSDK.createClient(\n new SdkConnection(extensionHost, apiVersion),\n type as any\n )\n }\n registerCoreSDK2(coreSDK)\n setExtensionData((previousState: any) => {\n return {\n ...previousState,\n extensionSDK: extensionHost,\n coreSDK,\n }\n })\n }\n\n const unloadedCallback = () => {\n unregisterCoreSDK2()\n }\n\n const updateContextData = (updatedContextData: BaseExtensionContextData) => {\n setExtensionData((previousState: ExtensionContextData2<T>) => {\n return {\n ...previousState,\n ...updatedContextData,\n }\n })\n }\n\n return (\n <ExtensionContext2.Provider value={extensionData!}>\n <ExtensionConnector\n {...rest}\n contextData={extensionData}\n connectedCallback={connectedCallback}\n updateContextData={updateContextData}\n unloadedCallback={unloadedCallback}\n >\n {children}\n </ExtensionConnector>\n </ExtensionContext2.Provider>\n )\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"ExtensionProvider2.js","names":["_react","_interopRequireWildcard","require","_extensionSdk","_sdk","_ExtensionConnector","_core_sdk","_excluded","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","ExtensionContext2","React","createContext","exports","ExtensionProvider2","props","children","type","rest","extensionData","setExtensionData","useState","apiVersion","ApiVersion","connectedCallback","extensionHost","coreSDK","LookerExtensionSDK","createClient","SdkConnection","registerCoreSDK2","visualizationSDK","tileSDK","lookerHostData","visualizationData","tileHostData","previousState","extensionSDK","unloadedCallback","unregisterCoreSDK2","updateContextData","updatedContextData","createElement","Provider","ExtensionConnector","contextData"],"sources":["../../../src/components/ExtensionProvider2/ExtensionProvider2.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 React, { useState } from 'react'\nimport type { ExtensionHostApi } from '@looker/extension-sdk'\nimport { SdkConnection } from '@looker/extension-sdk'\nimport { LookerExtensionSDK } from '@looker/sdk'\nimport type {\n BaseExtensionContextData,\n ExtensionProviderProps,\n} from '../ExtensionConnector'\nimport { ExtensionConnector } from '../ExtensionConnector'\nimport { registerCoreSDK2, unregisterCoreSDK2 } from '../../sdk/core_sdk2'\n\nexport interface ExtensionContextData2<T> extends BaseExtensionContextData {\n coreSDK: T\n}\n\n/**\n * React context provider for extension API and SDK\n */\nexport const ExtensionContext2 = React.createContext<\n ExtensionContextData2<any>\n>(\n undefined as any // no one will ever see this undefined!\n)\n\nexport interface ExtensionProvider2Props<T> extends ExtensionProviderProps {\n type: T\n}\n\n/**\n * ExtensionProvider component. Provides access to the extension API and SDK (use\n * ExtensionContext) and react routing services.\n */\nexport function ExtensionProvider2<T>(props: ExtensionProvider2Props<T>) {\n const { children, type, ...rest } = props\n const [extensionData, setExtensionData] = useState<ExtensionContextData2<T>>(\n {} as ExtensionContextData2<T>\n )\n const apiVersion = (type as any).ApiVersion\n\n const connectedCallback = (extensionHost: ExtensionHostApi) => {\n let coreSDK: any\n if (apiVersion) {\n coreSDK = LookerExtensionSDK.createClient(\n new SdkConnection(extensionHost, apiVersion),\n type as any\n )\n }\n registerCoreSDK2(coreSDK)\n const { visualizationSDK, tileSDK, lookerHostData } = extensionHost\n const { visualizationData } = visualizationSDK\n const { tileHostData } = tileSDK\n setExtensionData((previousState: any) => {\n return {\n ...previousState,\n extensionSDK: extensionHost,\n coreSDK,\n visualizationSDK,\n tileSDK,\n visualizationData,\n tileHostData,\n lookerHostData,\n }\n })\n }\n\n const unloadedCallback = () => {\n unregisterCoreSDK2()\n }\n\n const updateContextData = (\n updatedContextData: Partial<BaseExtensionContextData>\n ) => {\n setExtensionData((previousState: ExtensionContextData2<T>) => {\n return {\n ...previousState,\n ...updatedContextData,\n }\n })\n }\n\n return (\n <ExtensionContext2.Provider value={extensionData}>\n <ExtensionConnector\n {...rest}\n contextData={extensionData}\n connectedCallback={connectedCallback}\n updateContextData={updateContextData}\n unloadedCallback={unloadedCallback}\n >\n {children}\n </ExtensionConnector>\n </ExtensionContext2.Provider>\n )\n}\n"],"mappings":"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"}
@@ -31,10 +31,26 @@ function ExtensionProvider40(props) {
31
31
  var connectedCallback = extensionHost => {
32
32
  var coreSDK = _extensionSdk.LookerExtensionSDK.create40Client(extensionHost);
33
33
  (0, _core_sdk_.registerCore40SDK)(coreSDK);
34
+ var {
35
+ visualizationSDK,
36
+ tileSDK,
37
+ lookerHostData
38
+ } = extensionHost;
39
+ var {
40
+ visualizationData
41
+ } = visualizationSDK;
42
+ var {
43
+ tileHostData
44
+ } = tileSDK;
34
45
  setExtensionData(previousState => {
35
46
  return _objectSpread(_objectSpread({}, previousState), {}, {
36
47
  extensionSDK: extensionHost,
37
- coreSDK
48
+ coreSDK,
49
+ visualizationSDK,
50
+ tileSDK,
51
+ visualizationData,
52
+ tileHostData,
53
+ lookerHostData
38
54
  });
39
55
  });
40
56
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ExtensionProvider40.js","names":["_react","_interopRequireWildcard","require","_extensionSdk","_ExtensionConnector","_core_sdk_","_excluded","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","ExtensionContext40","React","createContext","exports","ExtensionProvider40","props","children","rest","extensionData","setExtensionData","useState","connectedCallback","extensionHost","coreSDK","LookerExtensionSDK","create40Client","registerCore40SDK","previousState","extensionSDK","unloadedCallback","unregisterCore40SDK","updateContextData","updatedContextData","createElement","Provider","ExtensionConnector","contextData"],"sources":["../../../src/components/ExtensionProvider40/ExtensionProvider40.tsx"],"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 */\n\nimport React, { useState } from 'react'\nimport type { ExtensionHostApi } from '@looker/extension-sdk'\nimport { LookerExtensionSDK } from '@looker/extension-sdk'\nimport type { ILooker40SDK, Looker40SDK } from '@looker/sdk'\nimport type {\n BaseExtensionContextData,\n ExtensionProviderProps,\n} from '../ExtensionConnector'\nimport { ExtensionConnector } from '../ExtensionConnector'\nimport { registerCore40SDK, unregisterCore40SDK } from '../../sdk/core_sdk_40'\n\nexport interface ExtensionContextData40 extends BaseExtensionContextData {\n coreSDK: ILooker40SDK\n}\n\n/**\n * React context provider for extension API and Looker SDK 4.0.\n */\nexport const ExtensionContext40 = React.createContext<ExtensionContextData40>(\n undefined as any // no one will ever see this undefined!\n)\n\nexport interface ExtensionProvider40Props extends ExtensionProviderProps {}\n\n/**\n * ExtensionProvider40 component. Provides access to the extension API and SDK (use\n * ExtensionContext40) and react routing services.\n */\nexport function ExtensionProvider40(props: ExtensionProvider40Props) {\n const { children, ...rest } = props\n const [extensionData, setExtensionData] = useState<ExtensionContextData40>(\n {} as ExtensionContextData40\n )\n\n const connectedCallback = (extensionHost: ExtensionHostApi) => {\n const coreSDK: ILooker40SDK =\n LookerExtensionSDK.create40Client(extensionHost)\n registerCore40SDK(coreSDK as Looker40SDK)\n setExtensionData((previousState: any) => {\n return {\n ...previousState,\n extensionSDK: extensionHost,\n coreSDK,\n }\n })\n }\n\n const unloadedCallback = () => {\n unregisterCore40SDK()\n }\n\n const updateContextData = (updatedContextData: BaseExtensionContextData) => {\n setExtensionData((previousState: ExtensionContextData40) => {\n return {\n ...previousState,\n ...updatedContextData,\n }\n })\n }\n\n return (\n <ExtensionContext40.Provider value={extensionData}>\n <ExtensionConnector\n {...rest}\n contextData={extensionData}\n connectedCallback={connectedCallback}\n updateContextData={updateContextData}\n unloadedCallback={unloadedCallback}\n >\n {children}\n </ExtensionConnector>\n </ExtensionContext40.Provider>\n )\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"ExtensionProvider40.js","names":["_react","_interopRequireWildcard","require","_extensionSdk","_ExtensionConnector","_core_sdk_","_excluded","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","ExtensionContext40","React","createContext","exports","ExtensionProvider40","props","children","rest","extensionData","setExtensionData","useState","connectedCallback","extensionHost","coreSDK","LookerExtensionSDK","create40Client","registerCore40SDK","visualizationSDK","tileSDK","lookerHostData","visualizationData","tileHostData","previousState","extensionSDK","unloadedCallback","unregisterCore40SDK","updateContextData","updatedContextData","createElement","Provider","ExtensionConnector","contextData"],"sources":["../../../src/components/ExtensionProvider40/ExtensionProvider40.tsx"],"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 */\n\nimport React, { useState } from 'react'\nimport type { ExtensionHostApi } from '@looker/extension-sdk'\nimport { LookerExtensionSDK } from '@looker/extension-sdk'\nimport type { ILooker40SDK, Looker40SDK } from '@looker/sdk'\nimport type {\n BaseExtensionContextData,\n ExtensionProviderProps,\n} from '../ExtensionConnector'\nimport { ExtensionConnector } from '../ExtensionConnector'\nimport { registerCore40SDK, unregisterCore40SDK } from '../../sdk/core_sdk_40'\n\n/**\n * Extension context data\n */\nexport interface ExtensionContextData40 extends BaseExtensionContextData {\n coreSDK: ILooker40SDK\n}\n\n/**\n * React context provider for extension API and Looker SDK 4.0.\n */\nexport const ExtensionContext40 = React.createContext<ExtensionContextData40>(\n undefined as any // no one will ever see this undefined!\n)\n\nexport interface ExtensionProvider40Props extends ExtensionProviderProps {}\n\n/**\n * ExtensionProvider40 component. Provides access to the extension API and SDK (use\n * ExtensionContext40) and react routing services.\n */\nexport function ExtensionProvider40(props: ExtensionProvider40Props) {\n const { children, ...rest } = props\n const [extensionData, setExtensionData] = useState<ExtensionContextData40>(\n {} as ExtensionContextData40\n )\n\n const connectedCallback = (extensionHost: ExtensionHostApi) => {\n const coreSDK: ILooker40SDK =\n LookerExtensionSDK.create40Client(extensionHost)\n registerCore40SDK(coreSDK as Looker40SDK)\n const { visualizationSDK, tileSDK, lookerHostData } = extensionHost\n const { visualizationData } = visualizationSDK\n const { tileHostData } = tileSDK\n setExtensionData((previousState: any) => {\n return {\n ...previousState,\n extensionSDK: extensionHost,\n coreSDK,\n visualizationSDK,\n tileSDK,\n visualizationData,\n tileHostData,\n lookerHostData,\n }\n })\n }\n\n const unloadedCallback = () => {\n unregisterCore40SDK()\n }\n\n const updateContextData = (\n updatedContextData: Partial<BaseExtensionContextData>\n ) => {\n setExtensionData((previousState: ExtensionContextData40) => {\n return {\n ...previousState,\n ...updatedContextData,\n }\n })\n }\n\n return (\n <ExtensionContext40.Provider value={extensionData}>\n <ExtensionConnector\n {...rest}\n contextData={extensionData}\n connectedCallback={connectedCallback}\n updateContextData={updateContextData}\n unloadedCallback={unloadedCallback}\n >\n {children}\n </ExtensionConnector>\n </ExtensionContext40.Provider>\n )\n}\n"],"mappings":"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"}
@@ -26,15 +26,31 @@ var ExtensionProviderBase = _ref => {
26
26
  props = _objectWithoutProperties(_ref, _excluded);
27
27
  var [extensionData, setExtensionData] = (0, _react.useState)({});
28
28
  var connectedCallback = extensionHost => {
29
+ var {
30
+ visualizationSDK,
31
+ tileSDK,
32
+ lookerHostData
33
+ } = extensionHost;
34
+ var {
35
+ visualizationData
36
+ } = visualizationSDK;
37
+ var {
38
+ tileHostData
39
+ } = tileSDK;
29
40
  setExtensionData(previousState => {
30
41
  return _objectSpread(_objectSpread({}, previousState), {}, {
31
- extensionSDK: extensionHost
42
+ extensionSDK: extensionHost,
43
+ visualizationSDK,
44
+ tileSDK,
45
+ visualizationData,
46
+ tileHostData,
47
+ lookerHostData
32
48
  });
33
49
  });
34
50
  };
35
51
  var unloadedCallback = () => {};
36
52
  var updateContextData = contextData => {
37
- setExtensionData(contextData);
53
+ setExtensionData(previousContextData => _objectSpread(_objectSpread({}, previousContextData), contextData));
38
54
  };
39
55
  return _react.default.createElement(ExtensionContextBase.Provider, {
40
56
  value: extensionData
@@ -1 +1 @@
1
- {"version":3,"file":"ExtensionProviderBase.js","names":["_react","_interopRequireWildcard","require","_ExtensionConnector","_excluded","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","ExtensionContextBase","React","createContext","exports","ExtensionProviderBase","_ref","children","props","extensionData","setExtensionData","useState","connectedCallback","extensionHost","previousState","extensionSDK","unloadedCallback","updateContextData","contextData","createElement","Provider","ExtensionConnector"],"sources":["../../../src/components/ExtensionProviderBase/ExtensionProviderBase.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 React, { useState } from 'react'\nimport type { ExtensionHostApi } from '@looker/extension-sdk'\nimport type {\n BaseExtensionContextData,\n ExtensionProviderProps,\n} from '../ExtensionConnector'\nimport { ExtensionConnector } from '../ExtensionConnector'\n\n/**\n * React context provider for extension API and SDK\n */\nexport const ExtensionContextBase =\n React.createContext<BaseExtensionContextData>(\n undefined as any // no one will ever see this undefined!\n )\n\n/**\n * ExtensionProviderBase component. Provides access to the extension API but no SDK is\n * provided.\n */\nexport const ExtensionProviderBase: React.FC<ExtensionProviderProps> = ({\n children,\n ...props\n}) => {\n const [extensionData, setExtensionData] = useState<BaseExtensionContextData>(\n {} as BaseExtensionContextData\n )\n\n const connectedCallback = (extensionHost: ExtensionHostApi) => {\n setExtensionData((previousState: BaseExtensionContextData) => {\n return {\n ...previousState,\n extensionSDK: extensionHost,\n }\n })\n }\n\n const unloadedCallback = () => {\n // noop\n }\n\n const updateContextData = (contextData: BaseExtensionContextData) => {\n setExtensionData(contextData)\n }\n\n return (\n <ExtensionContextBase.Provider value={extensionData!}>\n <ExtensionConnector\n {...props}\n contextData={extensionData}\n connectedCallback={connectedCallback}\n updateContextData={updateContextData}\n unloadedCallback={unloadedCallback}\n >\n {children}\n </ExtensionConnector>\n </ExtensionContextBase.Provider>\n )\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"ExtensionProviderBase.js","names":["_react","_interopRequireWildcard","require","_ExtensionConnector","_excluded","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","ExtensionContextBase","React","createContext","exports","ExtensionProviderBase","_ref","children","props","extensionData","setExtensionData","useState","connectedCallback","extensionHost","visualizationSDK","tileSDK","lookerHostData","visualizationData","tileHostData","previousState","extensionSDK","unloadedCallback","updateContextData","contextData","previousContextData","createElement","Provider","ExtensionConnector"],"sources":["../../../src/components/ExtensionProviderBase/ExtensionProviderBase.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 React, { useState } from 'react'\nimport type { ExtensionHostApi } from '@looker/extension-sdk'\nimport type {\n BaseExtensionContextData,\n ExtensionProviderProps,\n} from '../ExtensionConnector'\nimport { ExtensionConnector } from '../ExtensionConnector'\n\n/**\n * React context provider for extension API and SDK\n */\nexport const ExtensionContextBase =\n React.createContext<BaseExtensionContextData>(\n undefined as any // no one will ever see this undefined!\n )\n\n/**\n * ExtensionProviderBase component. Provides access to the extension API but no SDK is\n * provided.\n */\nexport const ExtensionProviderBase: React.FC<ExtensionProviderProps> = ({\n children,\n ...props\n}) => {\n const [extensionData, setExtensionData] = useState<BaseExtensionContextData>(\n {} as BaseExtensionContextData\n )\n\n const connectedCallback = (extensionHost: ExtensionHostApi) => {\n const { visualizationSDK, tileSDK, lookerHostData } = extensionHost\n const { visualizationData } = visualizationSDK\n const { tileHostData } = tileSDK\n setExtensionData((previousState: BaseExtensionContextData) => {\n return {\n ...previousState,\n extensionSDK: extensionHost,\n visualizationSDK,\n tileSDK,\n visualizationData,\n tileHostData,\n lookerHostData,\n }\n })\n }\n\n const unloadedCallback = () => {\n // noop\n }\n\n const updateContextData = (\n contextData: Partial<BaseExtensionContextData>\n ) => {\n setExtensionData((previousContextData) => ({\n ...previousContextData,\n ...contextData,\n }))\n }\n\n return (\n <ExtensionContextBase.Provider value={extensionData}>\n <ExtensionConnector\n {...props}\n contextData={extensionData}\n connectedCallback={connectedCallback}\n updateContextData={updateContextData}\n unloadedCallback={unloadedCallback}\n >\n {children}\n </ExtensionConnector>\n </ExtensionContextBase.Provider>\n )\n}\n"],"mappings":"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"}