Skip to content

Commit d24dfa1

Browse files
committed
Version upgrade
1 parent be6b75e commit d24dfa1

File tree

9 files changed

+36
-5
lines changed

9 files changed

+36
-5
lines changed

demo/App.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ class App extends React.Component<AppProps, any> {
1717
<BasketProvider dataProvider={new PusherBasketDataProvider()}>
1818
<div className={classes.root}>
1919
<AppBar position="static" elevation={0}>
20-
<Toolbar>
20+
<Toolbar variant="dense">
2121
<Typography className={classes.title} variant="h6" color="inherit" noWrap>
2222
react-basket demo
2323
</Typography>

demo/PusherBasketDataProvider.ts

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,23 @@ export class PusherBasketDataProvider implements DataProvider {
4646
});
4747
}
4848

49+
onAllItemsDeleted = (): Promise<BasketItem[]> => {
50+
return new Promise<BasketItem[]>((resolve, reject) => {
51+
axios.delete("http://localhost:8080/cart", {
52+
headers: {
53+
'Access-Control-Allow-Origin': '*',
54+
'Content-Type': 'application/json',
55+
},
56+
})
57+
.then(response => {
58+
resolve(response.data);
59+
})
60+
.catch(reason => {
61+
reject(reason);
62+
})
63+
});
64+
}
65+
4966
onItemAdded = (id: string): Promise<BasketItem[]> => {
5067
return new Promise<BasketItem[]>((resolve, reject) => {
5168
axios.post<BasketItem[]>("http://localhost:8080/cart/item", { id }, {

demo/webpack.config.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ module.exports = {
1414
'./index.tsx' // the entry point of our app
1515
],
1616
devServer: {
17-
hot: true, // enable HMR on the server
17+
hot: true, // enable HMR on the server
1818
headers: {
1919
'Access-Control-Allow-Origin': '*',
2020
'Access-Control-Allow-Headers': 'Origin, X-Requested-With, Content-Type, Accept',

package-lock.json

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "react-basket",
3-
"version": "0.1.2",
3+
"version": "0.1.3",
44
"description": "A shopping basket components library for React based on material-ui components.",
55
"main": "./dist/index.js",
66
"homepage": "https://github.com/mbrn/react-basket#readme",

src/basket-context/index.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import { BasketData, BasketItem } from '../';
33

44
const BasketContext = React.createContext<BasketData>({
55
items: [],
6+
onAllItemsDeleted: () => {},
67
onItemAdded: (id: string) => {},
78
onItemDeleted: (id: string) => {}
89
});

src/basket-data/index.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@ export interface BasketData {
22
isLoading?: boolean;
33
items: BasketItem[];
44

5+
6+
onAllItemsDeleted: () => void;
57
onItemAdded: (id: string) => void;
68
onItemDeleted: (id: string) => void;
79
}

src/basket-provider/index.tsx

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import { BasketData, BasketItem } from '../basket-data';
55

66
export interface DataProvider {
77
getInitialData(): Promise<BasketItem[]>;
8+
onAllItemsDeleted(): Promise<BasketItem[]>;
89
onItemAdded(id: string): Promise<BasketItem[]>;
910
onItemDeleted(id: string): Promise<BasketItem[]>;
1011
registerToChanges(callback: (items: BasketItem[]) => void): any;
@@ -22,6 +23,7 @@ export class BasketProvider extends React.Component<BasketProviderProps, BasketD
2223
this.state = {
2324
isLoading: false,
2425
items: [],
26+
onAllItemsDeleted: this.onAllItemsAdded,
2527
onItemAdded: this.onItemAdded,
2628
onItemDeleted: this.onItemDeleted,
2729
}
@@ -42,6 +44,15 @@ export class BasketProvider extends React.Component<BasketProviderProps, BasketD
4244
})
4345
}
4446

47+
onAllItemsAdded = () => {
48+
this.setState({ isLoading: true }, () => {
49+
this.props.dataProvider.onAllItemsDeleted()
50+
.then(items => {
51+
this.setState({ items, isLoading: false })
52+
});
53+
})
54+
}
55+
4556
onItemAdded = (id: string) => {
4657
this.setState({ isLoading: true }, () => {
4758
this.props.dataProvider.onItemAdded(id)

src/components/basket.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ class BasketInner extends React.Component<BasketProps, any> {
3535
icon: () => <DeleteOutline/>,
3636
tooltip: 'Delete All Item',
3737
onClick: () => {
38-
// this.props.basketData.onAllItemsDeleted();
38+
this.props.basketData.onAllItemsDeleted();
3939
},
4040
isFreeAction: true
4141
}

0 commit comments

Comments
 (0)