dscc
(Data Studio Community Component) is a library to help with the building
of community components for Google Data Studio. It can be used as a standalone
library, or as a npm dependency. To learn more about Data Studio Community
Components, visit Data Studio Community Visualizations.
Public Interface
subscribeToData(callback, subscriptionOptions)
Calls callback
every time Data Studio pushes a new Message
object to your
component. subscribeToData
returns a method to unsubscribe your callback.
callback
should be a function that takes the type that subscriptionOptions.transform
returns. For full
details on the Message
object, see library-types.ts
subscriptionOptions
is an object with a transform
property. This should be a
function that takes a Data Studio Message
type and performs an appropriate
data transform.
Usage
var callback = function(message) {
console.log(message)
}
var unsubscribe = dscc.subscribeToData(callback);
setTimeout(function() {
unsubscribe();
}, 3000);
getWidth()
Returns the width (in pixels of the containing iframe).
Usage
var width = dscc.getWidth();
console.log(width);
getHeight()
Returns the height (in pixels of the containing iframe).
Usage
var height = dscc.getHeight();
console.log(height);
Using dscc
from your component
The dscc library can be used through npm, or by copying the contents into the
beginning of your javascript file.
Through Npm
To use this library through npm run
npm install --save @google/dscc
Example
import {
subscribeToData,
getHeight,
getWidth,
} from 'dscc'
const main = () => {
const unSub = subscribeToData((message) => {
const width = getWidth();
const height = getHeight();
console.log(message)
})
}
main()
Through Copy/Paste
Copy the contents of lib/dscc.min.js
to the beginning of your components'
javascript file. This will introduce a dscc
variable with the public interface
exposed.
Example
dscc.subscribeToData(function(message) {
var width = dscc.getWidth();
var height = dscc.getHeight();
console.log(message)
});
Note: It may be easier to develop this way by writing a simple script to combine
the two files. To do this using bash, for example, you would do the following:
build.sh
rm release.js
touch release.js
echo >> release.js
cat 'dscc.min.js' >> release.js
cat 'yourComponentFile.js' >> release.js