estructure for new module route

This commit is contained in:
dherrero 2017-10-05 12:38:28 +02:00
parent 0c84722755
commit 4d487e7980
15 changed files with 80 additions and 51 deletions

8
client/modules.json Normal file
View File

@ -0,0 +1,8 @@
{
"salix": [],
"auth": [],
"core": [],
"client": [],
"production": [],
"route": []
}

1
client/route/index.js Normal file
View File

@ -0,0 +1 @@
export * from './src/route';

13
client/route/routes.json Normal file
View File

@ -0,0 +1,13 @@
{
"module": "route",
"name": "Route",
"validations" : false,
"routes": [
{
"url": "/routes",
"state": "routes",
"component": "vn-route-index"
}
]
}

View File

@ -0,0 +1,23 @@
<<mg-ajax path="/client/api/Clients/filter" options="mgIndex"></mg-ajax>
<div margin-medium>
<div style="max-width: 40em; margin: 0 auto;">
<vn-card>
<vn-horizontal pad-medium>
<vn-searchbar vn-auto
index="index"
on-search="$ctrl.search(index)"
advanced="true"
search="$ctrl.model.search"
popover="vn-client-search-panel">
</vn-searchbar>
</vn-horizontal>
</vn-card>
<vn-card margin-medium-top>
<vn-item-route ng-repeat="route in index.model.instances" title="View Route" client="route"></vn-item-route>
</vn-card>
<vn-paging index="index" total="index.model.count"></vn-paging>
</div>
<a ui-sref="create" fixed-bottom-right>
<vn-float-button icon="add"></vn-float-button>
</a>
</div>

View File

@ -0,0 +1,18 @@
import ngModule from '../module';
import './style.css';
import './item-route';
export default class Controller {
constructor() {
this.model = {};
}
search(index) {
index.filter.search = this.model.search;
index.accept();
}
}
ngModule.component('vnRouteIndex', {
template: require('./index.html'),
controller: Controller
});

View File

View File

View File

@ -0,0 +1,3 @@
{
}

View File

@ -0,0 +1,5 @@
import {ng} from 'vendor';
import 'core';
const ngModule = ng.module('route', []);
export default ngModule;

View File

@ -0,0 +1,4 @@
export * from './module';
// import components
import './index/index';

View File

@ -1,5 +1,5 @@
import './spliting';
import deps from 'spliting/modules.json';
import deps from 'client/modules.json';
import ngModule from './module';
import {splitingRegister} from 'core';

View File

@ -17,7 +17,8 @@ var srcDir = './client';
var buildDir = './services/nginx/static';
var langs = ['es', 'en'];
var modules = require('./spliting/modules.json');
var modules = require('./client/modules.json');
var webpackConfig = require('./webpack.config.js');
// Main tasks
@ -69,36 +70,9 @@ gulp.task('install', () => {
}));
});
// Spliting
var splitingFiles = './spliting/*';
gulp.task('spliting', function(cb) {
var importTpl = fs.readFileSync('./spliting/import.tpl.js', 'utf8');
var requireTpl = fs.readFileSync('./spliting/require.tpl.js', 'utf8');
for (var modName in modules) {
var deps = modules[modName];
var splitFile = `${srcDir}/${modName}/src/spliting.js`;
try {
fs.unlinkSync(splitFile);
} catch (e) {}
fs.appendFileSync(splitFile, importTpl);
var i = deps.length;
while (i--)
fs.appendFileSync(splitFile,
requireTpl.replace(/\$module/g, deps[i]));
}
cb();
});
// Webpack
gulp.task('webpack', ['spliting'], function(cb) {
gulp.task('webpack', function(cb) {
var configCopy = Object.create(webpackConfig);
var compiler = webpack(configCopy);
@ -109,7 +83,7 @@ gulp.task('webpack', ['spliting'], function(cb) {
});
});
gulp.task('webpack-dev-server', ['spliting'], function() {
gulp.task('webpack-dev-server', function() {
var configCopy = Object.create(webpackConfig);
for (var entry in configCopy.entry) {
@ -170,7 +144,6 @@ gulp.task('routes', function() {
// Watch
gulp.task('watch', function() {
gulp.watch(splitingFiles, ['spliting']);
gulp.watch(routeFiles, ['routes']);
gulp.watch(localeFiles, ['locales']);
});

View File

@ -1 +0,0 @@
import * as core from 'core';

View File

@ -1,7 +0,0 @@
{
"salix": ["client", "production"],
"auth": [],
"core": [],
"client": [],
"production": []
}

View File

@ -1,11 +0,0 @@
export const $module = () => {
return new Promise(resolve => {
require.ensure([], () => {
require('$module');
resolve('$module');
}, '$module');
});
};
core.splitingRegister.register('$module', $module);