Merge pull request 'dev' (#65) from dev into master
Reviewed-on: WillaEngine-Project/WillaEngine#65pull/87/head
commit
345cd1f0d2
@ -0,0 +1,88 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Console\Commands;
|
||||||
|
|
||||||
|
use App\Services\MorphModelFinder;
|
||||||
|
use Illuminate\Console\Command;
|
||||||
|
use Illuminate\Support\Facades\Storage;
|
||||||
|
use Illuminate\Support\Str;
|
||||||
|
|
||||||
|
class VuexBuild extends Command
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* The name and signature of the console command.
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
protected $signature = 'make:vuex {module} {store-module} {--category}';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The console command description.
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
protected $description = 'Create a vuex modules';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var MorphModelFinder
|
||||||
|
*/
|
||||||
|
private $morphModelFinder;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create a new command instance.
|
||||||
|
*
|
||||||
|
* @param MorphModelFinder $morphModelFinder
|
||||||
|
*/
|
||||||
|
public function __construct(MorphModelFinder $morphModelFinder)
|
||||||
|
{
|
||||||
|
parent::__construct();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Execute the console command.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function handle(): void
|
||||||
|
{
|
||||||
|
$isCategory = $this->option('category');
|
||||||
|
$module = $this->argument('module');
|
||||||
|
$storeModule = $this->argument('store-module');
|
||||||
|
$moduleFiles = ['actions.js', 'mutations.js', 'state.js', 'getters.js'];
|
||||||
|
|
||||||
|
$baseRepositoryPath = 'modules/wm-' . $module . '/resources/js/abstraction/repositories/' . $storeModule;
|
||||||
|
$baseResourcePath = 'modules/wm-' . $module . '/resources/js/abstraction/resources/' . $storeModule;
|
||||||
|
|
||||||
|
$baseActionPath = 'modules/wm-' . $module . '/resources/js/store/modules/' . $storeModule . '/';
|
||||||
|
$baseDefaultActionPath = 'resources/js/Default/store/store/';
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// $name = $this->choice(
|
||||||
|
// 'file exist, Do yo really Replace File?',
|
||||||
|
// ['Taylor', 'Dayle'],
|
||||||
|
// 'Dayle'
|
||||||
|
// );
|
||||||
|
|
||||||
|
if ($storeModule && $module) {
|
||||||
|
foreach ($moduleFiles as $moduleFile) {
|
||||||
|
if (Storage::disk('local')->exists($baseActionPath . $moduleFile)) {
|
||||||
|
if ($this->confirm('file exist, Do yo really Replace File?', true)) {
|
||||||
|
$data = Storage::disk('local')->get($baseDefaultActionPath . $moduleFile);
|
||||||
|
$data = str_replace('|-module-|', Str::snake($storeModule), $data);
|
||||||
|
$data = str_replace('|-Module-|', Str::title($storeModule), $data);
|
||||||
|
$data = str_replace('|-MODULE-|', Str::upper($storeModule), $data);
|
||||||
|
$data = str_replace('|-BaseModule-|', Str::title($module), $data);
|
||||||
|
$data = str_replace('|-baseModule-|', Str::camel($module), $data);
|
||||||
|
Storage::disk('local')->put($baseActionPath . $moduleFile, $data);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
$this->info('modules Store Created');
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,65 @@
|
|||||||
|
import |-Module-|Repository from "@|-BaseModule-|/abstraction/repositories/|-module-|Repository";
|
||||||
|
|
||||||
|
let repository = new |-Module-|Repository();
|
||||||
|
|
||||||
|
export default {
|
||||||
|
async load|-Module-|({ commit, state }) {
|
||||||
|
try {
|
||||||
|
commit("SET_LOADING", true);
|
||||||
|
const |-module-| = await repository.index({pagination: state.pagination, filters: state.filters});
|
||||||
|
commit("SET_|-MODULE-|", |-module-|.data);
|
||||||
|
commit("SET_|-MODULE-|_PAGINATION", |-module-|.pagination);
|
||||||
|
return |-module-|;
|
||||||
|
} catch (e) {
|
||||||
|
return e;
|
||||||
|
} finally {
|
||||||
|
commit("SET_LOADING", false);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
async show|-Module-|({}, |-module-|Id) {
|
||||||
|
try {
|
||||||
|
return await repository.show(|-module-|Id);
|
||||||
|
} catch (e) {
|
||||||
|
return e;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
async store|-Module-|({ commit }, data) {
|
||||||
|
try {
|
||||||
|
const |-module-| = await repository.store(data);
|
||||||
|
commit('ADD_|-MODULE-|', |-module-|);
|
||||||
|
return |-module-|;
|
||||||
|
} catch (e) {
|
||||||
|
return e;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
async update|-Module-|({ commit }, data) {
|
||||||
|
try {
|
||||||
|
const |-module-| = await repository.update(data);
|
||||||
|
commit('UPDATE_|-MODULE-|', |-module-|);
|
||||||
|
return |-module-|;
|
||||||
|
} catch (e) {
|
||||||
|
return e;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
async remove|-Module-|({state,commit }, |-module-|Id) {
|
||||||
|
try {
|
||||||
|
const response = await repository.destroy(|-module-|Id);
|
||||||
|
commit("REMOVE_|-MODULE-|", |-module-|Id);
|
||||||
|
return response;
|
||||||
|
} catch (e) {
|
||||||
|
return e;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
async removeMulti|-Module-|({state, commit }, |-module-|Ids) {
|
||||||
|
try {
|
||||||
|
const response = await repository.multipleDestroy(|-module-|Ids);
|
||||||
|
for (const |-module-|Id of |-module-|Ids) {
|
||||||
|
commit("REMOVE_|-MODULE-|", |-module-|Id);
|
||||||
|
}
|
||||||
|
return response;
|
||||||
|
} catch (e) {
|
||||||
|
return e;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
};
|
@ -0,0 +1,7 @@
|
|||||||
|
export default {
|
||||||
|
get|-Module-|: state => state.|-module-|,
|
||||||
|
get|-Module-|Loading: state => state.loading,
|
||||||
|
get|-Module-|Pagination: state => state.pagination,
|
||||||
|
get|-Module-|Selected: state => state.selected,
|
||||||
|
|
||||||
|
};
|
@ -0,0 +1,48 @@
|
|||||||
|
import Vue from 'vue';
|
||||||
|
//import { |-module-|Paginate } from "@|-BaseModule-|/services/localStorage/|-module-|.storage"
|
||||||
|
|
||||||
|
export default {
|
||||||
|
SET_|-MODULE-|(state, |-module-|) {
|
||||||
|
Vue.set(state, '|-module-|', |-module-|);
|
||||||
|
},
|
||||||
|
|
||||||
|
UPDATE_|-MODULE-|(state, |-module-|) {
|
||||||
|
const index = state.|-module-|.findIndex(x => x.id === |-module-|.id);
|
||||||
|
|-module-| = {...state.|-module-|[index], ...|-module-|};
|
||||||
|
Vue.set(state.|-module-|, index, |-module-|);
|
||||||
|
},
|
||||||
|
|
||||||
|
SET_|-MODULE-|_PAGINATION(state, pagination) {
|
||||||
|
Vue.set(state, "pagination", pagination);
|
||||||
|
//|-module-|Paginate.save(pagination);
|
||||||
|
},
|
||||||
|
|
||||||
|
REMOVE_|-MODULE-|(state, id) {
|
||||||
|
const Index = state.|-module-|.findIndex(x => x.id === id);
|
||||||
|
const selectedIndex = state.|-module-|_selected.findIndex(x => x.id === id);
|
||||||
|
Vue.delete(state.|-module-|, Index);
|
||||||
|
Vue.delete(state.|-module-|_selected, selectedIndex);
|
||||||
|
Vue.set(state.pagination, 'itemsLength', state.pagination.itemsLength - 1);
|
||||||
|
Vue.set(state.pagination, 'pageStop', state.pagination.pageStop - 1);
|
||||||
|
},
|
||||||
|
|
||||||
|
ADD_|-MODULE-|(state, |-module-|) {
|
||||||
|
state.|-module-|.unshift(|-module-|);
|
||||||
|
Vue.set(state, '|-module-|', state.|-module-|);
|
||||||
|
Vue.set(state.pagination, 'itemsLength', state.pagination.itemsLength + 1);
|
||||||
|
Vue.set(state.pagination, 'pageStop', state.pagination.pageStop + 1);
|
||||||
|
},
|
||||||
|
|
||||||
|
ADD_|-MODULE-|_SELECTED(state, |-module-|Id) {
|
||||||
|
const |-module-| = state.|-module-|.find(x => x.id === |-module-|Id);
|
||||||
|
Vue.set(state.|-module-|_selected, state.|-module-|_selected.length, |-module-|);
|
||||||
|
},
|
||||||
|
|
||||||
|
SET_FILTER_|-MODULE-|(state, value) {
|
||||||
|
state.filters = value;
|
||||||
|
},
|
||||||
|
|
||||||
|
SET_LOADING(state, value) {
|
||||||
|
state.loading = value;
|
||||||
|
}
|
||||||
|
};
|
@ -0,0 +1,14 @@
|
|||||||
|
//import { |-module-|Paginate } from "@|-BaseModule-|/services/localStorage/|-module-|.storage";
|
||||||
|
|
||||||
|
export default {
|
||||||
|
module_info:{
|
||||||
|
name: '|-module-|',
|
||||||
|
module: '|-baseModule-|',
|
||||||
|
},
|
||||||
|
|-module-|: [],
|
||||||
|
|-module-|_selected: [],
|
||||||
|
//pagination: newsPaginate.getWithDefault(),
|
||||||
|
loading: false,
|
||||||
|
filters:{},
|
||||||
|
};
|
||||||
|
|
@ -0,0 +1,65 @@
|
|||||||
|
import |-Module-|Repository from "@|-BaseModule-|/abstraction/repositories/|-module-|Repository";
|
||||||
|
|
||||||
|
let repository = new |-Module-|Repository();
|
||||||
|
|
||||||
|
export default {
|
||||||
|
async load|-Module-|({ commit, state }) {
|
||||||
|
try {
|
||||||
|
commit("SET_LOADING", true);
|
||||||
|
const |-module-| = await repository.index({pagination: state.pagination, filters: state.filters});
|
||||||
|
commit("SET_|-MODULE-|", |-module-|.data);
|
||||||
|
commit("SET_|-MODULE-|_PAGINATION", |-module-|.pagination);
|
||||||
|
return |-module-|;
|
||||||
|
} catch (e) {
|
||||||
|
return e;
|
||||||
|
} finally {
|
||||||
|
commit("SET_LOADING", false);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
async show|-Module-|({}, |-module-|Id) {
|
||||||
|
try {
|
||||||
|
return await repository.show(|-module-|Id);
|
||||||
|
} catch (e) {
|
||||||
|
return e;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
async store|-Module-|({ commit }, data) {
|
||||||
|
try {
|
||||||
|
const |-module-| = await repository.store(data);
|
||||||
|
commit('ADD_|-MODULE-|', |-module-|);
|
||||||
|
return |-module-|;
|
||||||
|
} catch (e) {
|
||||||
|
return e;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
async update|-Module-|({ commit }, data) {
|
||||||
|
try {
|
||||||
|
const |-module-| = await repository.update(data);
|
||||||
|
commit('UPDATE_|-MODULE-|', |-module-|);
|
||||||
|
return |-module-|;
|
||||||
|
} catch (e) {
|
||||||
|
return e;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
async remove|-Module-|({state,commit }, |-module-|Id) {
|
||||||
|
try {
|
||||||
|
const response = await repository.destroy(|-module-|Id);
|
||||||
|
commit("REMOVE_|-MODULE-|", |-module-|Id);
|
||||||
|
return response;
|
||||||
|
} catch (e) {
|
||||||
|
return e;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
async removeMulti|-Module-|({state, commit }, |-module-|Ids) {
|
||||||
|
try {
|
||||||
|
const response = await repository.multipleDestroy(|-module-|Ids);
|
||||||
|
for (const |-module-|Id of |-module-|Ids) {
|
||||||
|
commit("REMOVE_|-MODULE-|", |-module-|Id);
|
||||||
|
}
|
||||||
|
return response;
|
||||||
|
} catch (e) {
|
||||||
|
return e;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
};
|
@ -0,0 +1,7 @@
|
|||||||
|
export default {
|
||||||
|
get|-Module-|: state => state.|-module-|,
|
||||||
|
get|-Module-|Loading: state => state.loading,
|
||||||
|
get|-Module-|Pagination: state => state.pagination,
|
||||||
|
get|-Module-|Selected: state => state.selected,
|
||||||
|
|
||||||
|
};
|
@ -0,0 +1,48 @@
|
|||||||
|
import Vue from 'vue';
|
||||||
|
//import { |-module-|Paginate } from "@|-BaseModule-|/services/localStorage/|-module-|.storage"
|
||||||
|
|
||||||
|
export default {
|
||||||
|
SET_|-MODULE-|(state, |-module-|) {
|
||||||
|
Vue.set(state, '|-module-|', |-module-|);
|
||||||
|
},
|
||||||
|
|
||||||
|
UPDATE_|-MODULE-|(state, |-module-|) {
|
||||||
|
const index = state.|-module-|.findIndex(x => x.id === |-module-|.id);
|
||||||
|
|-module-| = {...state.|-module-|[index], ...|-module-|};
|
||||||
|
Vue.set(state.|-module-|, index, |-module-|);
|
||||||
|
},
|
||||||
|
|
||||||
|
SET_|-MODULE-|_PAGINATION(state, pagination) {
|
||||||
|
Vue.set(state, "pagination", pagination);
|
||||||
|
//|-module-|Paginate.save(pagination);
|
||||||
|
},
|
||||||
|
|
||||||
|
REMOVE_|-MODULE-|(state, id) {
|
||||||
|
const Index = state.|-module-|.findIndex(x => x.id === id);
|
||||||
|
const selectedIndex = state.|-module-|_selected.findIndex(x => x.id === id);
|
||||||
|
Vue.delete(state.|-module-|, Index);
|
||||||
|
Vue.delete(state.|-module-|_selected, selectedIndex);
|
||||||
|
Vue.set(state.pagination, 'itemsLength', state.pagination.itemsLength - 1);
|
||||||
|
Vue.set(state.pagination, 'pageStop', state.pagination.pageStop - 1);
|
||||||
|
},
|
||||||
|
|
||||||
|
ADD_|-MODULE-|(state, |-module-|) {
|
||||||
|
state.|-module-|.unshift(|-module-|);
|
||||||
|
Vue.set(state, '|-module-|', state.|-module-|);
|
||||||
|
Vue.set(state.pagination, 'itemsLength', state.pagination.itemsLength + 1);
|
||||||
|
Vue.set(state.pagination, 'pageStop', state.pagination.pageStop + 1);
|
||||||
|
},
|
||||||
|
|
||||||
|
ADD_|-MODULE-|_SELECTED(state, |-module-|Id) {
|
||||||
|
const |-module-| = state.|-module-|.find(x => x.id === |-module-|Id);
|
||||||
|
Vue.set(state.|-module-|_selected, state.|-module-|_selected.length, |-module-|);
|
||||||
|
},
|
||||||
|
|
||||||
|
SET_FILTER_|-MODULE-|(state, value) {
|
||||||
|
state.filters = value;
|
||||||
|
},
|
||||||
|
|
||||||
|
SET_LOADING(state, value) {
|
||||||
|
state.loading = value;
|
||||||
|
}
|
||||||
|
};
|
@ -0,0 +1,14 @@
|
|||||||
|
//import { |-module-|Paginate } from "@|-BaseModule-|/services/localStorage/|-module-|.storage";
|
||||||
|
|
||||||
|
export default {
|
||||||
|
module_info:{
|
||||||
|
name: '|-module-|',
|
||||||
|
module: '|-baseModule-|',
|
||||||
|
},
|
||||||
|
|-module-|: [],
|
||||||
|
|-module-|_selected: [],
|
||||||
|
//pagination: newsPaginate.getWithDefault(),
|
||||||
|
loading: false,
|
||||||
|
filters:{},
|
||||||
|
};
|
||||||
|
|
Loading…
Reference in new issue