Skip to content

Commit

Permalink
Made api-server a configurable option. Made a fix for react's ids in …
Browse files Browse the repository at this point in the history
…List, Temporary disabled jshint. Updated readme for bower and compass version
  • Loading branch information
sueastside committed Jul 14, 2014
1 parent 6a3f1d7 commit f980bcc
Show file tree
Hide file tree
Showing 8 changed files with 45 additions and 17 deletions.
23 changes: 20 additions & 3 deletions Gruntfile.js
Original file line number Diff line number Diff line change
Expand Up @@ -28,14 +28,14 @@ module.exports = function (grunt) {
watch: {
js: {
files: ['<%= yeoman.app %>/scripts/{,*/}*.js'],
tasks: ['jshint'],
/*tasks: ['jshint'],*/
options: {
livereload: true
}
},
jsx: {
files: ['**/*.jsx'],
tasks: ["react:dynamic_mappings"]
tasks: ['react:dynamic_mappings']
},
jstest: {
files: ['test/spec/{,*/}*.js'],
Expand Down Expand Up @@ -141,7 +141,7 @@ module.exports = function (grunt) {
},
all: [
'Gruntfile.js',
'<%= yeoman.app %>/scripts/{,*/}*.jsx',
'<%= yeoman.app %>/scripts/{,*/}*.js',
'!<%= yeoman.app %>/scripts/vendor/*',
'test/spec/{,*/}*.js'
]
Expand Down Expand Up @@ -369,6 +369,19 @@ module.exports = function (grunt) {
]
}
});

grunt.config('options.api', grunt.option('api-server') || 'http://127.0.0.1:8000');

grunt.loadNpmTasks('grunt-contrib-copy');
grunt.config('copy.api', {
src: '<%= yeoman.app %>/scripts/classes/api.js',
dest: '<%= yeoman.app %>/scripts/build/api.js',
options: {
processContent: function(content, path) {
return grunt.template.process(content);
}
}
});


grunt.registerTask('serve', function (target) {
Expand All @@ -380,6 +393,8 @@ module.exports = function (grunt) {
'clean:server',
'concurrent:server',
'autoprefixer',
'react:dynamic_mappings',
'copy:api',
'connect:livereload',
'watch'
]);
Expand Down Expand Up @@ -410,6 +425,8 @@ module.exports = function (grunt) {
'useminPrepare',
'concurrent:dist',
'autoprefixer',
'react:dynamic_mappings',
'copy:api',
'concat',
'cssmin',
'uglify',
Expand Down
14 changes: 11 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,23 +43,31 @@ Installation
```
$ sudo npm install -g grunt-cli
```
Install compass
Install bower
```
$ sudo gem install compass --version "=0.12.2"
$ sudo npm install -g bower
```
Install compass (If you're on ubuntu 12.04 do 'sudo gem install compass --version "=0.12.2"' instead)
```
$ sudo gem install compass
```
Get the DAMN code
```
$ mkdir damn
$ cd damn
$ git clone git@github.com:sueastside/damn.git .
```
Install bower modules
```
bower install
``
Install dependencies
```
npm install
```
Start development server
```
$ grunt serve
$ grunt serve --api-server="http://localhost:8000"
```
http://sueastside.github.io/damn/
Expand Down
6 changes: 3 additions & 3 deletions app/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@
<a href="#!dashboard"><i class="fa fa-dashboard"></i> Dashboard</a>
</li>
<li>
<a href="#!users"><i class="fa fa-group"></i> Projects</a>
<a href="#"><i class="fa fa-group"></i> Projects</a>
</li>
<li>
<a href="#"><i class="fa fa-tasks"></i> Tasks</a>
Expand Down Expand Up @@ -108,7 +108,7 @@
<script src="bower_components/jquery-cookie/jquery.cookie.js"></script>
<script src="bower_components/react/react.js"></script>
<script src="bower_components/chosen/chosen.jquery.js"></script>
<script src="bower_components/jsPlumb/dist/js/jquery.jsPlumb-1.5.5.js"></script>
<script src="bower_components/jsPlumb/dist/js/jquery.jsPlumb-1.6.2.js"></script>
<!-- endbower -->
<!-- endbuild -->

Expand All @@ -125,7 +125,7 @@
</script>

<!-- build:js scripts/main.js -->
<script src="scripts/classes/api.js"></script>
<script src="scripts/build/api.js"></script>
<script src="scripts/build/list.js"></script>
<script src="scripts/build/editor.js"></script>
<script src="scripts/build/filteredlist.js"></script>
Expand Down
4 changes: 2 additions & 2 deletions app/scripts/classes/api.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
(function() {
"use strict";
var staticUrl = "http://127.0.0.1:8000";
//var staticUrl = "http://damn.csproject.org:8080";
var staticUrl = <%= JSON.stringify(options.api) %>;

var requestCache = {};

Expand Down
3 changes: 2 additions & 1 deletion app/scripts/components/dashboard.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -130,7 +130,7 @@
}.bind(this), this)}

<TabsSwitcher active={this.props.context[0]} tabs={[{title:'Comments', content:<CommentBox url={this.props.data.url+'comments/'} pollInterval={60000} />},
{title:'Revisions', content:<List type={Revision} url={this.props.data.url+'revisions/'} />},
{title:'Revisions', content:<List type={Revision} url={this.props.data.url+'revisions/'} pathToId="revision.revision_id" />},
{title:'Followers', content:<List type={Follower} url={this.props.data.url+'followers/'} />},
{title:'Activity', content:<NotificationStream url={this.props.data.url+'activity/'} pollInterval={60000} />} ]}/>
</div>
Expand All @@ -156,6 +156,7 @@
<div className="projectDetail">
<h3>{this.props.data.name}</h3>
<FollowControl description={this.props.data.name} object_url={this.props.data.url} is_following={this.props.data.is_following}/>
No further data at this point.
</div>
);
}
Expand Down
2 changes: 1 addition & 1 deletion app/scripts/components/editor.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ var Field = React.createClass({
var Editor = React.createClass({
propTypes: jQuery.extend({
url: React.PropTypes.string.isRequired,
onSuccessfullSave: React.PropTypes.function
onSuccessfullSave: React.PropTypes.func
},{}),
getInitialState: function() {
return {data: {actions: {POST: {}} }, errors: {}};
Expand Down
6 changes: 4 additions & 2 deletions app/scripts/components/list.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -69,14 +69,16 @@ var AsyncListMixin = {
var List = React.createClass({
mixins: [SelectableListMixin, AsyncListMixin],
propTypes: jQuery.extend({
type: React.PropTypes.func.isRequired
type: React.PropTypes.func.isRequired,
pathToId: React.PropTypes.string,
}, AsyncListMixin.propTypes, SelectableListMixin.propTypes),
render: function() {
var idPath = this.props.pathToId || 'id';
return (
<ul>
{this.state.data.results.map(function(itm, i) {
var boundClick = this.handleSelected.bind(this, i);
return this.props.type({key:itm.id, data:itm, onClick:boundClick, selected:(this.state.selected == i)});
return this.props.type({key:itm[idPath]+'-'+i, data:itm, onClick:boundClick, selected:(this.state.selected == i)});
}, this)}
</ul>
);
Expand Down
4 changes: 2 additions & 2 deletions app/scripts/components/usermenu.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -75,11 +75,11 @@
<form>
<div className="field" name="Login">
<label>Login</label>
<input ref="login" type="text" value="admin" />
<input ref="login" type="text" defaultValue="admin" />
</div>
<div className="field" name="Login">
<label>Password</label>
<input ref="password" type="password" value="admin" />
<input ref="password" type="password" defaultValue="admin" />
</div>
<button onClick={this.handleLogin} type="submit">Login</button>
</form>
Expand Down

0 comments on commit f980bcc

Please sign in to comment.