Skip to content
Open
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
54 changes: 53 additions & 1 deletion packages/components/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

13 changes: 7 additions & 6 deletions packages/components/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@alteryx/react-comms",
"version": "1.0.1",
"version": "1.0.2-alpha.1",
"description": "Communication bridge for the Alteryx UI-SDK",
"main": "index.js",
"dependencies": {
Expand Down Expand Up @@ -29,6 +29,7 @@
"babel-plugin-transform-imports": "^2.0.0",
"babel-preset-react-app": "^9.1.2",
"core-js": "^3.6.5",
"cross-env": "^7.0.3",
"enzyme": "^3.11.0",
"enzyme-adapter-react-16": "^1.15.2",
"enzyme-react-intl": "^2.0.6",
Expand All @@ -49,11 +50,11 @@
"apidocs": "ayx-scripts doc",
"docs": "styleguidist server",
"build:publish": "npm run build:copy-package-json && npm run build:copy-license && npm run build:es2015 && npm run build:es2015modules && npm run build:copy-ts-files",
"build:es2015": "NODE_ENV=production babel --config-file ./.babelrc.js --extensions '.ts' --extensions '.tsx' --ignore 'src/**/*.d.ts' src --out-dir build",
"build:copy-package-json": "NODE_ENV=production babel package.json --copy-files --out-dir ./build",
"build:copy-license": "NODE_ENV=production babel ../../LICENSE --copy-files --out-dir ./build",
"build:copy-ts-files": "babel-node --config-file ./.babelrc.js ./scripts/copy-files.js ../src/**/*.d.ts ../build",
"build:es2015modules": "NODE_ENV=production babel --config-file ./.babelrc.js src/index.ts --out-file build/index.js",
"build:es2015": "cross-env NODE_ENV=production babel --config-file ./.babelrc.js --extensions '.ts' --extensions '.tsx' --ignore 'src/**/*.d.ts' src --out-dir build",
"build:copy-package-json": "cross-env NODE_ENV=production babel package.json --copy-files --out-dir ./build",
"build:copy-license": "cross-env NODE_ENV=production babel ../../LICENSE --copy-files --out-dir ./build",
"build:copy-ts-files": "node ./scripts/copy-files.js ../src/**/*.d.ts ../build",
"build:es2015modules": "cross-env NODE_ENV=production babel --config-file ./.babelrc.js src/index.ts --out-file build/index.js",
"analyze": "ayx-scripts analyze-bundle",
"lint": "eslint . --ext .js,.jsx,.ts,.tsx"
},
Expand Down
19 changes: 10 additions & 9 deletions packages/components/src/DesignerApi/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -39,13 +39,13 @@ const DesignerApi: React.FC<IDesignerApiProps> = (props: IDesignerApiProps) => {
const [model, updateModel] = useState(mergedState);
const [appContext, updateAppContext] = useState(messageBroker.ayxAppContext);

const handleUpdateModel = (updatedData: IModel) => {
updateModel(updatedData);
messageBroker.model = updatedData;
messageBroker instanceof MicroAppMessageApi ?
messageBroker.sendMessage(SUBSCRIPTION_EVENTS.MODEL_UPDATED, updatedData) :
window.Alteryx.model = updatedData;
};
useEffect(() => {
// Just update the messageBroker model whenever state updates.
messageBroker.model = model;
messageBroker instanceof MicroAppMessageApi
? messageBroker.sendMessage(SUBSCRIPTION_EVENTS.MODEL_UPDATED, updatedData)
: window.Alteryx.model = model;
}, [model])

useEffect(() => {
const receiveAppContext = data => {
Expand All @@ -58,11 +58,11 @@ const DesignerApi: React.FC<IDesignerApiProps> = (props: IDesignerApiProps) => {
messageBroker.subscribe(SUBSCRIPTION_EVENTS.MODEL_UPDATED, receiveModel);
messageBroker.subscribe(SUBSCRIPTION_EVENTS.AYX_APP_CONTEXT_UPDATED, receiveAppContext);
return function cleanUp() {
handleUpdateModel(messageBroker.model);
updateModel(messageBroker.model);
};
}, []);

const getContextValue = useCallback(() => [model, handleUpdateModel], [model, handleUpdateModel]);
const getContextValue = useCallback(() => [model, updateModel], [model, updateModel]);
const contextProps: IContextProviderProps = {
id: 'sdk-provider',
value: getContextValue()
Expand All @@ -73,6 +73,7 @@ const DesignerApi: React.FC<IDesignerApiProps> = (props: IDesignerApiProps) => {

return (
<UiSdkContext.Provider {...contextProps}>
{console.log('DesignerApi', { context: React.useContext(UiSdkContext) })}
{React.cloneElement(props.children, { ...appPropsToSpread })}
</UiSdkContext.Provider>
);
Expand Down