Update browserify dependencies and move controllers into views folder.

Update templates to support new React views.
This commit is contained in:
Dorian 2015-05-09 22:23:08 -04:00
parent 3177c6430f
commit 7daa79e4d5
11 changed files with 76 additions and 55 deletions

View File

@ -3,10 +3,10 @@
"version": "0.5.0",
"description": "Modern web app construction kit.",
"dependencies": {
"browserify": "10.1.0",
"browserify": "10.1.3",
"coffee-script": "1.9.2",
"less": "1.7.5",
"react": "0.13.2",
"less": "2.5.0",
"react": "0.13.3",
"coffee-reactify": "3.0.0",
"font-awesome": "4.3.0",
"angular": "1.3.1",
@ -27,11 +27,12 @@
"karma-phantomjs-launcher": "0.1.4",
"karma-mocha": "0.1.9",
"karma-coffee-preprocessor": "0.2.1",
"karma-chrome-launcher": "0.1.8",
"karma-coverage": "0.2.6",
"mocha": "2.0.1",
"protractor": "2.0.0",
"protractor-coffee-preprocessor": "0.0.1",
"react-tools": "~0.13.2"
"react-tools": "~0.13.3"
},
"repository": {
"type": "git",

View File

@ -67,7 +67,9 @@ def register_asset_bundles_with_app(web_app):
bundled_js = assets.Bundle(
# 'scripts/rookeries/*.coffee',
'scripts/rookeries/*.cjsx',
# 'scripts/rookeries/*.cjsx',
'scripts/rookeries/views/react_component_spike.cjsx',
'scripts/rookeries/views/modal-login.cjsx',
# 'scripts/rookeries/**/*.coffee',
# 'scripts/rookeries/**/*.cjsx',
# node_modules_path + '/angular/angular.js',
@ -76,7 +78,7 @@ def register_asset_bundles_with_app(web_app):
# node_modules_path + '/marked/lib/marked.js',
# node_modules_path + '/angular-md/dist/angular-md.js',
# node_modules_path + '/highlight.js/lib/highlight.js',
node_modules_path + '/react/dist/react.js',
# node_modules_path + '/react/dist/react.js',
# node_modules_path + '/react-bootstrap/dist/react-bootstrap.js',
filters='browserify',
output='scripts/rookeries-bundle.js',

View File

@ -1,45 +0,0 @@
###*
* Rookeries frontend - Login controller.
*
* @copyright (c) Copyright 2013-2015 Dorian Pula
* @license AGPL v3
* @author Dorian Pula [dorian.pula@amber-penguin-software.ca]
###
rookeries_app = require('../app.coffee')
rookeries_app.controller 'UserLoginController', [
'$scope', '$modal', '$log'
($scope, $modal, $log) ->
$scope.items = ['item1', 'item2', 'item3']
$scope.open = () ->
modalInstance = $modal.open(
templateUrl: 'static/partials/user-login.html',
controller: 'ModalInstanceCtrl',
resolve:
items: () ->
return $scope.items
)
modalInstance.result.then(
(selectedItem) -> $scope.selected = selectedItem,
() -> $log.info('Modal dismissed at: ' + new Date())
)
]
rookeries_app.controller 'ModalInstanceCtrl', [
'$scope', '$modalInstance', 'items'
($scope, $modalInstance, items) ->
$scope.items = items
$scope.selected =
item: $scope.items[0]
$scope.ok = () ->
$modalInstance.close($scope.selected.item)
$scope.cancel = () ->
$modalInstance.dismiss('cancel')
]

View File

@ -0,0 +1,54 @@
#
# Rookeries frontend - Modal Login view.
# @copyright (c) Copyright 2013-2015 Dorian Pula
# @license AGPL v3
# @author Dorian Pula [dorian.pula@amber-penguin-software.ca]
#
'use strict'
React = require('react')
Button = require('react-bootstrap').Button
Panel = require('react-bootstrap').Panel
Modal = require('react-bootstrap').Modal
ModalTrigger = require('react-bootstrap').ModalTrigger
UserLoginModal = React.createClass(
render: () ->
return(
<Modal {...this.props} bsStyle='primary' title='Login' animation={false}>
<div class="modal-body">
<div class="error_message">Nothing to see here</div>
<div class="row">
<label class="control-label col-lg-2" for="username">Username</label>
<div class="col-lg-8">
<input class="form-control" type="text" id="username" placeholder="Username" />
</div>
</div>
<div class="row">
<label class="control-label col-lg-2" for="password">Password</label>
<div class="col-lg-8">
<input class="form-control" type="password" id="password" />
</div>
</div>
</div>
<div class="modal-footer">
<Button bsStyle="warning">Cancel</Button>
<Button>Login</Button>
</div>
</Modal>
)
)
# TODO: Clean this guy up.
overlayTriggerInstance = (
<ModalTrigger modal={<UserLoginModal />}>
<Button bsStyle='primary' bsSize='large'>Launch demo modal</Button>
</ModalTrigger>
)
React.render(overlayTriggerInstance, document.getElementById('user-login-trigger'))

View File

@ -1,7 +1,9 @@
'use strict'
React = require('react')
ProgressBar = require('react-bootstrap').ProgressBar
Hello = React.createClass(
displayName: 'Hello',
render: () ->
return <h1>Hacking away...</h1>
)
@ -9,3 +11,9 @@ Hello = React.createClass(
React.render(
React.createElement(Hello), document.getElementById('cortanna')
)
# Comments break stuff??
React.render(
<ProgressBar now={45} />, document.getElementById('progress')
)

View File

@ -3,7 +3,7 @@
<head>
{% block page_headers %}{% include "page_header.html" %}{% endblock %}
</head>
<body ng-controller="SwitchThemeCtrl as theme_switcher" ng-class="theme_switcher.name">
<body class="daytime">
{% include "header.html" %}
{# Main body and navigation sidebar. #}

View File

@ -7,3 +7,4 @@
{# TODO Clear out once experient successful #}
<div id="cortanna"></div>
<div id="progress"></div>

View File

@ -33,7 +33,7 @@
<img class="header_logo" src="/static/images/mr-penguin-amber.svg" alt="rookeri.es logo" />
</div>
<div class="col-lg-4">
<h1 class="header_title">rookeri.es</h1>
<h1 class="header_title">Rookeries</h1>
<h2 class="header_tagline">Simple Site Scaffolding</h2>
</div>
</div>

View File

@ -1,6 +1,6 @@
{# Page header #}
{# TODO Make logo and favicon configurable. #}
<title>rookeri.es</title>
<title>Rookeries</title>
<link rel="icon" type="image/icon" href="static/mr-penguin-amber-favicon.ico" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />