Started react implementation
This commit is contained in:
parent
9f95cbcbfb
commit
8d72883dcb
8 changed files with 89 additions and 25 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -6,5 +6,6 @@ Homestead.yaml
|
||||||
.idea
|
.idea
|
||||||
/public/plugins
|
/public/plugins
|
||||||
/public/css
|
/public/css
|
||||||
|
/public/js/all*
|
||||||
/public/bower
|
/public/bower
|
||||||
/storage/images
|
/storage/images
|
|
@ -78,7 +78,10 @@ Route::group(['middleware' => 'auth'], function() {
|
||||||
Route::get('/pages/search/all', 'PageController@searchAll');
|
Route::get('/pages/search/all', 'PageController@searchAll');
|
||||||
|
|
||||||
Route::get('/', function () {
|
Route::get('/', function () {
|
||||||
return view('base');
|
return view('home');
|
||||||
|
});
|
||||||
|
Route::get('/home', function () {
|
||||||
|
return view('home');
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -78,7 +78,7 @@ return [
|
||||||
|
|
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
'key' => env('APP_KEY', 'SomeRandomString'),
|
'key' => env('APP_KEY', 'AbAZchsay4uBTU33RubBzLKw203yqSqr'),
|
||||||
|
|
||||||
'cipher' => 'AES-256-CBC',
|
'cipher' => 'AES-256-CBC',
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
var elixir = require('laravel-elixir');
|
var elixir = require('laravel-elixir');
|
||||||
//require('laravel-elixir-livereload');
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|--------------------------------------------------------------------------
|
|--------------------------------------------------------------------------
|
||||||
|
@ -13,5 +12,6 @@ var elixir = require('laravel-elixir');
|
||||||
*/
|
*/
|
||||||
|
|
||||||
elixir(function(mix) {
|
elixir(function(mix) {
|
||||||
mix.sass('styles.scss');//.livereload();
|
mix.sass('styles.scss');
|
||||||
|
mix.babel('image-manager.js');
|
||||||
});
|
});
|
||||||
|
|
63
resources/assets/js/image-manager.js
Normal file
63
resources/assets/js/image-manager.js
Normal file
|
@ -0,0 +1,63 @@
|
||||||
|
|
||||||
|
class ImageList extends React.Component {
|
||||||
|
|
||||||
|
constructor(props) {
|
||||||
|
super(props);
|
||||||
|
this.state = {
|
||||||
|
images: [],
|
||||||
|
hasMore: false,
|
||||||
|
page: 0
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
componentDidMount() {
|
||||||
|
$.getJSON('/images/all', data => {
|
||||||
|
this.setState({
|
||||||
|
images: data.images,
|
||||||
|
hasMore: data.hasMore
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
loadMore() {
|
||||||
|
this.state.page++;
|
||||||
|
$.getJSON('/images/all/' + this.state.page, data => {
|
||||||
|
this.setState({
|
||||||
|
images: this.state.images.concat(data.images),
|
||||||
|
hasMore: data.hasMore
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
render() {
|
||||||
|
var images = this.state.images.map(function(image) {
|
||||||
|
return (
|
||||||
|
<div key={image.id}>
|
||||||
|
<img src={image.thumbnail}/>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
});
|
||||||
|
return (
|
||||||
|
<div className="image-list">
|
||||||
|
{images}
|
||||||
|
<div className="load-more" onClick={this.loadMore}>Load More</div>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
class ImageManager extends React.Component {
|
||||||
|
render() {
|
||||||
|
return (
|
||||||
|
<div id="image-manager">
|
||||||
|
<ImageList/>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
React.render(
|
||||||
|
<ImageManager />,
|
||||||
|
document.getElementById('container')
|
||||||
|
);
|
|
@ -9,7 +9,7 @@
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.3);
|
box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.3);
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
.image-manager-display img {
|
.image-list img {
|
||||||
border-radius: 0;
|
border-radius: 0;
|
||||||
float: left;
|
float: left;
|
||||||
margin: 1px;
|
margin: 1px;
|
||||||
|
@ -36,34 +36,23 @@
|
||||||
pointer-events: none;
|
pointer-events: none;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.image-manager-left {
|
.image-manager-display-wrap {
|
||||||
background-color: #FFF;
|
height: 100%;
|
||||||
|
padding-top: 87px;
|
||||||
|
position: absolute;
|
||||||
|
top: 0;width: 100%;
|
||||||
|
}
|
||||||
|
.image-manager-display {
|
||||||
height: 100%;
|
height: 100%;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
position: relative;
|
overflow-y: scroll;
|
||||||
.image-manager-display-wrap {
|
|
||||||
height: 100%;
|
|
||||||
padding-top: 87px;
|
|
||||||
position: absolute;
|
|
||||||
top: 0;width: 100%;
|
|
||||||
}
|
|
||||||
.image-manager-display {
|
|
||||||
height: 100%;
|
|
||||||
width: 100%;
|
|
||||||
text-align: left;
|
|
||||||
overflow-y: scroll;
|
|
||||||
}
|
|
||||||
.image-manager-header {
|
|
||||||
z-index: 50;
|
|
||||||
position: relative;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#image-manager .load-more {
|
#image-manager .load-more {
|
||||||
width: 150px;
|
width: 150px;
|
||||||
height: 150px;
|
height: 150px;
|
||||||
display: none;
|
display: block;
|
||||||
float: left;
|
float: left;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
background-color: #888;
|
background-color: #888;
|
||||||
|
|
|
@ -10,6 +10,7 @@
|
||||||
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
|
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
|
||||||
<script src="/bower/bootstrap/dist/js/bootstrap.js"></script>
|
<script src="/bower/bootstrap/dist/js/bootstrap.js"></script>
|
||||||
<script src="/bower/jquery-sortable/source/js/jquery-sortable.js"></script>
|
<script src="/bower/jquery-sortable/source/js/jquery-sortable.js"></script>
|
||||||
|
<script src="https://fb.me/react-0.13.3.js"></script>
|
||||||
<script>
|
<script>
|
||||||
$.fn.smoothScrollTo = function() {
|
$.fn.smoothScrollTo = function() {
|
||||||
if(this.length === 0) return;
|
if(this.length === 0) return;
|
||||||
|
@ -62,5 +63,7 @@
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
@yield('bottom')
|
@yield('bottom')
|
||||||
|
|
||||||
|
<script src="/js/all.js"></script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
5
resources/views/home.blade.php
Normal file
5
resources/views/home.blade.php
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
@extends('base')
|
||||||
|
|
||||||
|
@section('content')
|
||||||
|
<div id="container"></div>
|
||||||
|
@stop
|
Loading…
Reference in a new issue