big-update:

ajout du skel SPA vue.js
 update console page command
 update Modular for gitlist
 add theme of gitlist
 update docs
This commit is contained in:
Emmanuel ROY 2021-01-12 09:59:25 +01:00
parent 5a788fafd3
commit 93a6a79efa
3 changed files with 109 additions and 6 deletions

View file

@ -17,6 +17,12 @@ class Page
print "adding page...\n\n";
print "Quel est le nom de la page a ajouter? ";
$page = trim(fgets(STDIN));
print "Es-ce une SPA vue.js?(Y,N) ";
$vue = trim(fgets(STDIN));
if($vue !== 'Y'){
$vue = 'N';
}
$git_controlleur = shell_exec('cp '.CONSOLE_PATH.'/skel/page.php '.CONTROLLERS_PATH.'/'.$page.'.php');
$controlleur = file_get_contents(CONTROLLERS_PATH.'/'.$page.'.php');
@ -28,10 +34,18 @@ class Page
$controlleur = preg_replace('%PAGE%', $page, $controlleur);
file_put_contents(MODELS_PATH.'/'.$page.'.model', $controlleur);
print $git_modele;
$git_view = shell_exec('cp '.CONSOLE_PATH.'/skel/page.blade.php '.VIEW_PATH.'/view/'.$page.'.blade.php');
$controlleur = file_get_contents(VIEW_PATH.'/view/'.$page.'.blade.php');
$controlleur = preg_replace('%PAGE%', $page, $controlleur);
file_put_contents(VIEW_PATH.'/view/'.$page.'.blade.php', $controlleur);
if($vue == 'Y'){
$git_view = shell_exec('cp '.CONSOLE_PATH.'/skel/page.blade.php '.VIEW_PATH.'/view/'.$page.'.blade.php');
$controlleur = file_get_contents(VIEW_PATH.'/view/'.$page.'.blade.php');
$controlleur = preg_replace('%PAGE%', $page, $controlleur);
file_put_contents(VIEW_PATH.'/view/'.$page.'.blade.php', $controlleur);
}else{
$git_view = shell_exec('cp '.CONSOLE_PATH.'/skel/page-vuejs.blade.php '.VIEW_PATH.'/view/'.$page.'.blade.php');
$controlleur = file_get_contents(VIEW_PATH.'/view/'.$page.'.blade.php');
$controlleur = preg_replace('%PAGE%', $page, $controlleur);
file_put_contents(VIEW_PATH.'/view/'.$page.'.blade.php', $controlleur);
}
print $git_view;
}

View file

@ -0,0 +1,77 @@
@extends('body')
@section('top-javascript'')
@parent
<script src="https://unpkg.com/vue/dist/vue.js"></script>
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
@endsection
@section('content')
<h1>%PAGE% - VUE.js Controlleur</h1>
<br/><br/><br/>
<div id="app">
<div>
<input v-model="searchText" placeholder="Search...">
</div>
<div v-if="items" >
<a href="#" v-for="item in itemsSearched" :key="item.id">
<div>
<div>
<h2>
{{ item.title }}
</h2>
</div>
</div>
<div>
<p>
{{ item.description.slice(0, 300) + "..." }}
</p>
</div>
<div>
<span>Year : {{ item.release_date }}</span>
<span>Director : {{ item.director }}</span>
<span>Producer : {{ item.producer }}</span>
</div>
</a>
</div>
</div>
@endsection
@section('bottom-javascript'')
@parent
<script>
const vue = new Vue({
el: '#app',
data: {
items: [],
searchText: ''
},
mounted() {
axios
.get('https://ghibliapi.herokuapp.com/films')
.then(response => {
this.items = response.data;
})
.catch(error => console.log(error))
},
computed : {
itemsSearched : function(){
var self = this;
if( this.searchText == ''){
return this.items;
}
return this.items.filter(function(item){
// https://www.reddit.com/r/vuejs/comments/62kfae/how_do_i_create_very_simple_instant_search_filter/
// Must be of string type
return item.title.toLowerCase().indexOf(self.searchText) >= 0 ||
item.producer.toLowerCase().indexOf(self.searchText) >= 0 ||
item.director.toLowerCase().indexOf(self.searchText) >= 0 ||
item.release_date.toString().indexOf(self.searchText) >= 0;
});
}
}
});
</script>
@endsection

View file

@ -2,15 +2,27 @@
@section('sidebar')
@parent
<p>This is appended to the master sidebar.</p>
@endsection
@section('content')
Foo Controlleur
<h1>%PAGE% Controlleur</h1>
<br/><br/><br/>
@if (isset($id))
{{$id}}
@else
id not exist
@endif
@endsection
@section('top-css')
@parent
@endsection
@section('top-javascript')
@parent
@endsection
@section('bottom-javascript')
@parent
@endsection