diff --git a/@salix/app/src/fake.js b/@salix/app/src/fake.js new file mode 100644 index 000000000..df7f4a45f --- /dev/null +++ b/@salix/app/src/fake.js @@ -0,0 +1,41 @@ +export const graphRoutes = { + routes: [ + { + url: '/index', + state: 'index', + template: '', + module: 'compras', + description: '', + image: '', + }, + { + url: '/add', + state: 'add', + template: '', + module: 'compras', + description: '', + image: '', + }, + { + url: '/edit', + state: 'edit', + template: '', + module: 'compras', + description: '', + image: '', + }, + { + url: '/delete', + state: 'delete', + template: '', + module: 'compras', + description: '', + image: '', + } + ], + + graphDependendies: { + compras:["crud"], + crud:[] + } +}; \ No newline at end of file diff --git a/@salix/app/src/routes.js b/@salix/app/src/routes.js index 25d5fd78d..d0f3817f3 100644 --- a/@salix/app/src/routes.js +++ b/@salix/app/src/routes.js @@ -1,21 +1,34 @@ import * as core from '@salix/core'; -import * as spliting from './spliting'; +import * as spliting from './spliting'; +import {routes} from './fake'; core.module.config(function($stateProvider, $urlRouterProvider) { - $urlRouterProvider.otherwise("/"); + + core.splitingRegister.registerGraph('hello'); - $stateProvider - .state('index', { - url: "/index", - template :'', + function xxx(route){ + return function loader($ocLazyLoad, $q){ + return $q((resolve) => { + core.splitingRegister.execute(route.module) + spliting[route.module](() => { + //resolve($ocLazyLoad.load({name: route.module})); + + }); + }); + }; + } + + $urlRouterProvider.otherwise("/"); + + routes.forEach(function(route) { + $stateProvider.state(route.state, { + url: route.url, + template :route.template, resolve: { - loader: function($ocLazyLoad, $q){ - return $q((resolve) => { - spliting.crud($ocLazyLoad, resolve); - }); - } + loader: xxx(route) } - }) + }) + }, this); }); diff --git a/@salix/app/src/spliting.js b/@salix/app/src/spliting.js index 052620631..f60b2d5c3 100644 --- a/@salix/app/src/spliting.js +++ b/@salix/app/src/spliting.js @@ -1,14 +1,14 @@ -export const crud = (lazy, resolve) => { - require.ensure([], () => { - var module = require('@salix/crud'); - resolve(lazy.load({name:'crud'})); - }, "salix.crud"); -}; -export const compras = () => { +import * as core from '@salix/core'; + + + +export const compras = (cb) => { require.ensure([], () => { require('@salix/compras') + cb(); }, "salix.compras"); }; + export const ventas = () => { require.ensure([], () => { require('@salix/ventas') @@ -18,4 +18,4 @@ export const pagos = () => { require.ensure([], () => { require('@salix/pagos') }, "salix.pagos"); -}; \ No newline at end of file +}; diff --git a/@salix/compras/routing.json b/@salix/compras/routing.json new file mode 100644 index 000000000..ac6307544 --- /dev/null +++ b/@salix/compras/routing.json @@ -0,0 +1,4 @@ +{ + "route": "buys", + "template": "buys.template" +} diff --git a/@salix/core/src/core.js b/@salix/core/src/core.js index 244e3735a..34075fc61 100644 --- a/@salix/core/src/core.js +++ b/@salix/core/src/core.js @@ -1,8 +1,9 @@ /** * export public module */ -export * from './module'; -export * from './util'; +export * from './module' +export * from './util' +export {SplitingRegister as splitingRegister} from './splitingregister' export {NAME as RESOLVEDEFAULTCOMPONENT, ResolveDefaultComponent} from './resolveDefaultComponents' export {NAME as INTERPOLATE,Interpolate} from './interpolate' export {NAME as BUTTON,directive as ButtonDirective} from './button/button' diff --git a/@salix/core/src/splitingregister.js b/@salix/core/src/splitingregister.js new file mode 100644 index 000000000..e60c5c7e1 --- /dev/null +++ b/@salix/core/src/splitingregister.js @@ -0,0 +1,32 @@ +const _SplitingRegister = ()=>{ + + var _graph; + var dependencies = {}; + + return { + registerGraph: function(graph){ + _graph = graph; + }, + register: function(dependency,loader){ + dependencies[dependecy]=loader; + }, + execute: function(dependency){ + + var _array=[]; + _array.push(dependency); + var fist =graph[dependency]; + + //TODO:create dependy graph + + + while(key=array.pop()){ + dependencies[key](); + } + + }, + write:function(){ + console.log(_graph); + } + } +}; +export const SplitingRegister = _SplitingRegister(); diff --git a/@salix/crud/src/spliting.js b/@salix/crud/src/spliting.js new file mode 100644 index 000000000..ba7ec12a6 --- /dev/null +++ b/@salix/crud/src/spliting.js @@ -0,0 +1,8 @@ + + +export const crud = (cb) => { + require.ensure([], () => { + require('@salix/crud'); + cb(); + }, "salix.crud"); +}; \ No newline at end of file diff --git a/@salix/ventas/routing.json b/@salix/ventas/routing.json new file mode 100644 index 000000000..ef776755e --- /dev/null +++ b/@salix/ventas/routing.json @@ -0,0 +1,4 @@ +{ + "route": "sales", + "template": "sales.template" +} diff --git a/gulpfile.js b/gulpfile.js new file mode 100644 index 000000000..6fbf8aebc --- /dev/null +++ b/gulpfile.js @@ -0,0 +1,16 @@ + +var gulp = require ('gulp'); +var jsoncombine = require ('gulp-jsoncombine'); + +function combineFunc (data) +{ + return new Buffer (JSON.stringify (data)); +} + +gulp.task ('default', function () +{ + var json = gulp.src ('./@salix/**/routing.json') + .pipe (jsoncombine ('salix.routes.json', combineFunc)) + .pipe (gulp.dest ('./build')); +}); + diff --git a/index.html b/index.html index d540b5ff1..b506e8e60 100644 --- a/index.html +++ b/index.html @@ -4,14 +4,13 @@ Salix -
- -
- index - add - edit - delete -
- +
+
+ index + add + edit + delete +
+ diff --git a/npm-debug.log b/npm-debug.log new file mode 100644 index 000000000..9d648ec6b --- /dev/null +++ b/npm-debug.log @@ -0,0 +1,27 @@ +0 info it worked if it ends with ok +1 verbose cli [ '/usr/local/Cellar/node/6.3.1/bin/node', +1 verbose cli '/usr/local/bin/npm', +1 verbose cli 'run', +1 verbose cli 'dev' ] +2 info using npm@3.10.3 +3 info using node@v6.3.1 +4 verbose stack Error: missing script: dev +4 verbose stack at run (/usr/local/lib/node_modules/npm/lib/run-script.js:151:19) +4 verbose stack at /usr/local/lib/node_modules/npm/lib/run-script.js:61:5 +4 verbose stack at /usr/local/lib/node_modules/npm/node_modules/read-package-json/read-json.js:356:5 +4 verbose stack at checkBinReferences_ (/usr/local/lib/node_modules/npm/node_modules/read-package-json/read-json.js:320:45) +4 verbose stack at final (/usr/local/lib/node_modules/npm/node_modules/read-package-json/read-json.js:354:3) +4 verbose stack at then (/usr/local/lib/node_modules/npm/node_modules/read-package-json/read-json.js:124:5) +4 verbose stack at /usr/local/lib/node_modules/npm/node_modules/read-package-json/read-json.js:311:12 +4 verbose stack at /usr/local/lib/node_modules/npm/node_modules/graceful-fs/graceful-fs.js:78:16 +4 verbose stack at tryToString (fs.js:455:3) +4 verbose stack at FSReqWrap.readFileAfterClose [as oncomplete] (fs.js:442:12) +5 verbose cwd /Users/nelo/Documents/node/salix +6 error Darwin 16.0.0 +7 error argv "/usr/local/Cellar/node/6.3.1/bin/node" "/usr/local/bin/npm" "run" "dev" +8 error node v6.3.1 +9 error npm v3.10.3 +10 error missing script: dev +11 error If you need help, you may report this error at: +11 error +12 verbose exit [ 1, true ] diff --git a/package.json b/package.json index 563bd1b2e..df20f4e4b 100644 --- a/package.json +++ b/package.json @@ -11,18 +11,21 @@ "dependencies": { "angular": "^1.5.8", "angular-ui-router": "^1.0.0-beta.3", + "express": "^4.14.0", "material-design-lite": "^1.2.1", "oclazyload": "^0.6.3" }, "devDependencies": { - "babel-core": "*", - "babel-loader": "*", - "babel-preset-es2015": "*", - "css-loader": "^0.25.0", - "raw-loader": "*", - "style-loader": "^0.13.1", + "gulp": "^3.9.1", + "gulp-jsoncombine": "^1.0.3", "webpack": "*", - "webpack-dev-server": "*" + "webpack-dev-server": "*", + "raw-loader": "*", + "css-loader": "^0.25.0", + "style-loader": "^0.13.1", + "babel-loader": "*", + "babel-core": "*", + "babel-preset-es2015": "*" }, "scripts": { "build": "webpack --progress --colors --watch" diff --git a/server.js b/server.js new file mode 100644 index 000000000..cee4df2ea --- /dev/null +++ b/server.js @@ -0,0 +1,24 @@ + +var express = require ('express'); + +function getRoutes (req, res) +{ + var routes = require ('./build/salix.routes.json'); + res.send (JSON.stringify (routes)); +} + +function getDefault (res, res) +{ + res.sendStatus (404); +} + +function onListen () +{ + console.log ('HTTP server started.'); +} + +var app = express (); +app.get ('/routes.json', getRoutes); +app.all (/.*/, getDefault); +app.listen (8080, onListen); + diff --git a/webpack.config.js b/webpack.config.js index a23e95e37..6ff905c05 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -1,6 +1,6 @@ -var webpack = require('webpack'); -var path = require('path'); +var webpack = require ('webpack'); +var path = require ('path'); module.exports = { @@ -22,10 +22,13 @@ module.exports = query: { presets: ['es2015'] } - }, { + },{ test: /\.html$/, loader: 'raw' - }, { + },{ + test: /\.json$/, + loader: 'json' + },{ test: /\.css$/, loader: 'style!css' }