Skip to content

Commit bbb477c

Browse files
committed
xo and bundler
1 parent 78f3ded commit bbb477c

17 files changed

+349
-798
lines changed

.babelrc

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
{
2+
"presets": [
3+
["env", {
4+
"targets": {
5+
"node": "current"
6+
}
7+
}]
8+
]
9+
}

.editorconfig

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
root = true
2+
3+
[*]
4+
charset = utf-8
5+
end_of_line = lf
6+
indent_style = tab
7+
indent_size = 4
8+
insert_final_newline = true
9+
trim_trailing_whitespace = true
10+
11+
[{*.json,.babelrc,.travis.yml}]
12+
indent_style = space
13+
indent_size = 2
14+
15+
[{*.md}]
16+
indent_style = space

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,5 @@ bower_components
22
coverage
33
node_modules
44
lib
5-
.idea
5+
dist
66
*.log

.npmignore

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
bower_components
2+
coverage
3+
test
4+
.babelrc
5+
.editorconfig
6+
.gitignore
7+
.npmignore
8+
.travis.yml
9+
bower.json
10+
gulpfile.babel.js
11+
wct.conf.json

bower.json

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,5 @@
2828
],
2929
"dependencies": {
3030
"polymer": "2.0.0-rc.2"
31-
},
32-
"devDependencies": {
33-
"iron-demo-helpers": "2.0-preview"
3431
}
3532
}

demo/index.html

Lines changed: 5 additions & 147 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
11
<!doctype html>
22
<html>
33
<head>
4-
<title>Polymer Redux Demo</title>
4+
<title>polymer-redux demo</title>
55
<meta charset="utf-8">
66
<meta name="viewport" content="width=device-width, minimum-scale=1.0, initial-scale=1, user-scalable=yes">
77
<script src="../../webcomponentsjs/webcomponents-lite.js"></script>
8-
<script src="../../../node_modules/redux/dist/redux.js"></script>
98

109
<link rel="import" href="../../iron-demo-helpers/demo-pages-shared-styles.html">
1110
<link rel="import" href="../../iron-demo-helpers/demo-snippet.html">
@@ -17,155 +16,14 @@
1716
</head>
1817
<body>
1918

20-
<div class="vertical-section-container">
21-
<h3>Polymer Redux Demo</h3>
19+
<div class="vertical-section-container centered">
20+
<h3>Basic polymer-redux Demo</h3>
2221
<demo-snippet>
2322
<template>
24-
<!-- redux setup -->
25-
<script>
26-
const reducer = (state, action) => {
27-
if (!state) return { friends: [] };
28-
29-
// copy friends list
30-
friends = state.friends.slice(0);
31-
32-
switch (action.type) {
33-
case 'ADD_FRIEND':
34-
friends.push(action.friend);
35-
break;
36-
case 'REMOVE_FRIEND':
37-
const idx = friends.indexOf(action.friend)
38-
if (idx !== -1) {
39-
friends.splice(idx, 1)
40-
}
41-
break;
42-
case 'SORT_FRIENDS':
43-
friends.sort()
44-
break;
45-
}
46-
47-
return Object.assign({}, state, { friends: friends });
48-
}
49-
const store = Redux.createStore(reducer);
50-
const ReduxMixin = PolymerRedux(store);
51-
</script>
52-
53-
<!-- friends list module -->
54-
<dom-module id="friend-item">
55-
<template>
56-
<li>
57-
<span>[[name]]</span>
58-
<button on-click="remove">Remove</button>
59-
</li>
60-
</template>
61-
<script>
62-
class FriendItem extends ReduxMixin(Polymer.Element) {
63-
static get is() {
64-
return 'friend-item'
65-
}
66-
67-
static get config() {
68-
return {
69-
properties: {
70-
name: String
71-
}
72-
}
73-
}
74-
75-
remove() {
76-
this.dispatch({
77-
type: 'REMOVE_FRIEND',
78-
friend: this.name
79-
})
80-
}
81-
}
82-
83-
customElements.define(FriendItem.is, FriendItem)
84-
</script>
85-
</dom-module>
86-
87-
<dom-module id="friends-list">
88-
<template>
89-
<p>
90-
<span>You have [[friends.length]] friend(s).</span>
91-
<dom-if if="[[canSortFriends(friends.length)]]">
92-
<template>
93-
<button on-click="sortFriends">Sort Friends</button>
94-
</template>
95-
</dom-if>
96-
</p>
97-
<ul>
98-
<dom-repeat items="[[friends]]">
99-
<template>
100-
<friend-item name="[[item]]"></friend-item>
101-
</template>
102-
</dom-repeat>
103-
</ul>
104-
<input id="friend-name" placeholder="Name" on-keypress="handleKeypress">
105-
<button on-click="addFriend">Add Friend</button>
106-
</template>
107-
<script>
108-
class FriendsList extends ReduxMixin(Polymer.Element) {
109-
static get is() {
110-
return 'friends-list'
111-
}
112-
113-
static get config() {
114-
return {
115-
properties: {
116-
friends: {
117-
type: Array,
118-
statePath: 'friends'
119-
}
120-
},
121-
actions: {
122-
add(name) {
123-
return {
124-
type: 'ADD_FRIEND',
125-
friend: name
126-
}
127-
},
128-
sort() {
129-
return {
130-
type: 'SORT_FRIENDS'
131-
}
132-
}
133-
}
134-
}
135-
}
136-
137-
addFriend() {
138-
const input = this.$['friend-name'];
139-
if (input.value) {
140-
this.dispatch('add', input.value);
141-
input.value = '';
142-
input.focus();
143-
}
144-
}
145-
146-
sortFriends() {
147-
this.dispatch('sort');
148-
}
149-
150-
canSortFriends(length) {
151-
return length > 1;
152-
}
153-
154-
handleKeypress(event) {
155-
if (event.charCode === 13) {
156-
this.addFriend();
157-
}
158-
}
159-
}
160-
161-
customElements.define(FriendsList.is, FriendsList)
162-
</script>
163-
</dom-module>
164-
165-
<!-- demo -->
166-
<friends-list></friends-list>
23+
<polymer-redux></polymer-redux>
16724
</template>
16825
</demo-snippet>
16926
</div>
27+
17028
</body>
17129
</html>

0 commit comments

Comments
 (0)