Skip to content

Commit a8f844d

Browse files
authored
Merge pull request #16 from IBM/featture/final-code-changes
final changes
2 parents 7d0c33c + ca59581 commit a8f844d

File tree

22 files changed

+111
-83
lines changed

22 files changed

+111
-83
lines changed

package.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
2-
"name": "custom-carbon-addons",
3-
"version": "0.0.1",
4-
"description": "Enable customers to develop the content within the package, Carbon Components, and GraphQl using the apollo client. It also enables customer to build and deploy this new package.",
2+
"name": "spm-ui-addon-devenv",
3+
"version": "1.0.0",
4+
"description": "Enable the development of Carbon Components, and can be integrated with GraphQl and apollo client.",
55
"main": "index.js",
66
"husky": {
77
"hooks": {
@@ -22,7 +22,7 @@
2222
"storybook": "start-storybook -p 6006",
2323
"build-storybook": "build-storybook"
2424
},
25-
"author": "Tom Delahunty",
25+
"author": "",
2626
"license": "ISC",
2727
"devDependencies": {
2828
"@babel/cli": "^7.1.0",

packages/carbon-addons-devenv/sample_renderers/Renderer.js

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,22 @@ export default class Renderer {
2424
*
2525
* @private
2626
*/
27-
static create = async (containerId, config, dataProvider) => {
27+
static create = async (containerId, config, dataProvider, nameofUpdatedRendererList) => {
2828
window.spmcustom.requireCustomCarbonAddons()
2929
.then(async (RenderWithApolloClient) => {
30-
RenderWithApolloClient[dataProvider](document.getElementById(containerId), {
30+
31+
let apolloClientDataProvider;
32+
try {
33+
const nameOfRendererList = nameofUpdatedRendererList ? nameofUpdatedRendererList : 'RendererListWithApolloClient';
34+
const rendererList = RenderWithApolloClient[nameOfRendererList];
35+
apolloClientDataProvider = rendererList[dataProvider];
36+
} catch (e) {
37+
throw new Error('The apollo data provider : ' + dataProvider + " does not exist. This is the list of available ones: " + rendererList);
38+
}
39+
if (!apolloClientDataProvider) {
40+
throw new Error('The apollo data provider : ' + dataProvider + " does not exist. This is the list of available ones: " + rendererList);
41+
}
42+
apolloClientDataProvider(document.getElementById(containerId), {
3143
...config,
3244
labels: {
3345
...config.labels,

packages/carbon-addons-devenv/src/apollo-client-hooks/core/GraphqlContext.js

Lines changed: 0 additions & 19 deletions
This file was deleted.

packages/carbon-addons-devenv/src/apollo-client-hooks/hook_samples/Logo/LogoQuery.js

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,16 @@ import { gql, useQuery } from '@apollo/client';
1313

1414
const GetLogo = gql`
1515
query GetLogo {
16-
logo(logoId: "id_2") {
16+
logo(logoId: $logoId) {
1717
name
1818
}
1919
}
2020
`;
2121

22-
const useGetLogo = () => {
23-
return useQuery(GetLogo);
22+
const useGetLogo = (logoIdValue) => {
23+
return useQuery(GetLogo, {
24+
variables: { logoId: logoIdValue },
25+
});
2426
}
2527

2628
export {

packages/carbon-addons-devenv/src/apollo-client-hooks/hook_samples/Person/PeopleQueryProvider.js renamed to packages/carbon-addons-devenv/src/apollo-client-hooks/hook_samples/Person/PersonFolioQueryProvider.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ import PersonFolio from '../../../react/component_samples/PersonFolio/PersonFol
1515
import ApolloClientQueryProvider from '../../core/ApolloClientQueryProvider';
1616
import { useGetPersons } from './PersonQuery';
1717

18-
const PeopleQueryProvider = ({ configuration }) => {
18+
const PersonFolioQueryProvider = ({ configuration }) => {
1919

2020
const { data } = useGetPersons();
2121
const personToRender = (<>{data && data.persons.map(person => (
@@ -32,8 +32,8 @@ const PeopleQueryProvider = ({ configuration }) => {
3232

3333
};
3434

35-
PeopleQueryProvider.propTypes = {
35+
PersonFolioQueryProvider.propTypes = {
3636
configuration: PropTypes.object.isRequired,
3737
};
3838

39-
export default PeopleQueryProvider;
39+
export default PersonFolioQueryProvider;

packages/carbon-addons-devenv/src/apollo-client-hooks/hook_samples/Person/index.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,13 @@
1111

1212
import React from 'react';
1313
import PropTypes from 'prop-types';
14-
import PeopleQueryProvider from './PeopleQueryProvider';
14+
import PersonFolioQueryProvider from './PersonFolioQueryProvider';
1515
import ApolloClientDataProvider from '../../core/ApolloClientDataProvider';
1616

1717
const PeopleDataProvider = ({ configuration, apolloClient }) => {
1818
return (
1919
<ApolloClientDataProvider apolloClient={apolloClient} >
20-
<PeopleQueryProvider configuration={configuration}/>
20+
<PersonFolioQueryProvider configuration={configuration}/>
2121
</ApolloClientDataProvider>
2222
);
2323
};

packages/carbon-addons-devenv/src/apollo-client-hooks/index.js

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,10 @@ import ReactDOM from 'react-dom';
1414
import PeopleDataProvider from './hook_samples/Person';
1515
import LogoDataProvider from './hook_samples/Logo';
1616
import ApolloClientConfig from './core/ApolloClientConfig';
17+
import ApolloClientDataProvider from './core/ApolloClientDataProvider';
18+
import ApolloClientQueryProvider from './core/ApolloClientQueryProvider';
19+
import Renderer from '../../sample_renderers/Renderer';
20+
import settings from '../react';
1721

1822
const RenderWithApolloClient = (container, configuration, DataProvider) => {
1923
const apolloClient = ApolloClientConfig.getConfig(configuration);
@@ -36,4 +40,7 @@ const RenderPersonWithApolloClient = (container, configuration) => {
3640
RenderWithApolloClient(container, configuration, PeopleDataProvider);
3741
};
3842

39-
export { RenderLogoWithApolloClient, RenderPersonWithApolloClient };
43+
// this is the the 2 sample apollo client compponents used
44+
const RendererListWithApolloClient = { RenderLogoWithApolloClient, RenderPersonWithApolloClient };
45+
46+
export { RendererListWithApolloClient, RenderWithApolloClient, ApolloClientDataProvider, ApolloClientQueryProvider, Renderer, settings };
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11

22
import "../../custom-carbon-addons/src/scss/index.scss";
33
import 'regenerator-runtime/runtime';
4-
import { renderers } from './staticExports';
4+
import { renderers, sampleRenderers } from './staticExports';
55

66
import {
77
requireCustomCarbonAddons,
88
} from './dynamicExports';
99

10-
export default { requireCustomCarbonAddons, renderers };
10+
export default { requireCustomCarbonAddons, renderers, sampleRenderers };
1111

1212

packages/carbon-addons-devenv/src/react/component_samples/Logo/Logo.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
import React from 'react';
1313
import PropTypes from 'prop-types';
1414
import cx from 'classnames';
15-
import settings from '../../settings';
15+
import settings from '../../core/settings';
1616

1717
/**
1818
* Example component.

packages/carbon-addons-devenv/src/react/component_samples/Logo/__tests__/Logo.test.js

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111

1212
import { mount } from 'enzyme';
1313
import React from 'react';import Logo from '../Logo';
14-
import settings from '../../../settings';
14+
import settings from '../../../core/settings';
1515

1616

1717
describe('Logo tests', () => {
@@ -43,7 +43,7 @@ describe('Logo tests', () => {
4343
expect(logoDiv.at(0).childAt(0).props().alt).toBe("small logo");
4444
});
4545

46-
it('tests Logo all attributes', () => {
46+
it('tests size and className attributes', () => {
4747
const largeLogo = mount(
4848
<Logo size="large" className="settings.prefix--logo--extraextra" id="logo_123">
4949
<img src="../sample-logo.jpg" alt="small logo" />
@@ -67,6 +67,18 @@ describe('Logo tests', () => {
6767
// child node already tested previoussly
6868
});
6969

70+
it('tests optional attributes', () => {
71+
const logoWithImageName = mount(
72+
<Logo size="large" imageName="image123.jpeg">
73+
<span>child</span>
74+
</Logo>
75+
);
76+
77+
const logoDiv = logoWithImageName.find('div');
78+
// check that the root div exists
79+
expect(logoDiv.exists()).toBeTruthy();
80+
});
81+
7082
});
7183

7284

0 commit comments

Comments
 (0)