diff --git a/.gitignore b/.gitignore
index dd87e2d73f..b5f56d6034 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,3 @@
node_modules
build
+spliting.js
diff --git a/@salix/app/src/app.js b/@salix/app/src/app.js
index b3ac02fdd1..833374e394 100644
--- a/@salix/app/src/app.js
+++ b/@salix/app/src/app.js
@@ -1,5 +1,5 @@
import {bootstrap} from './bootstrap';
import * as spliting from './spliting';
-import * as routes from './routes';
+import * as routes from './configroutes';
bootstrap();
diff --git a/@salix/app/src/configroutes.js b/@salix/app/src/configroutes.js
new file mode 100644
index 0000000000..9f132c40b9
--- /dev/null
+++ b/@salix/app/src/configroutes.js
@@ -0,0 +1,31 @@
+import * as core from '@salix/core';
+import * as spliting from './spliting';
+import * as deps from './spliting/deps.json';
+
+function loader(route) {
+ return function ($ocLazyLoad, $q) {
+ return $q((resolve) => {
+ core.splitingRegister.execute(route.module).then(function (dependencies) {
+ var array = dependencies.map((item) => { return { name: item } });
+ resolve($ocLazyLoad.load(array));
+ });
+ });
+ };
+}
+
+function config($stateProvider, $urlRouterProvider) {
+ core.splitingRegister.registerGraph(deps);
+
+ for (var file in routes)
+ routes[file].forEach(function (route) {
+ $stateProvider.state(route.state, {
+ url: route.url,
+ template: route.template,
+ resolve: {
+ loader: loader(route)
+ }
+ })
+ });
+}
+
+core.module.config(config);
diff --git a/@salix/app/src/fake.js b/@salix/app/src/fake.js
deleted file mode 100644
index 39683e7cc3..0000000000
--- a/@salix/app/src/fake.js
+++ /dev/null
@@ -1,41 +0,0 @@
-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
deleted file mode 100644
index fd5750bd7d..0000000000
--- a/@salix/app/src/routes.js
+++ /dev/null
@@ -1,40 +0,0 @@
-import * as core from '@salix/core';
-import * as spliting from './spliting';
-<<<<<<< HEAD
-
-function config($stateProvider, $urlRouterProvider) {
- function loader($ocLazyLoad, $q) {
- return $q(resolve => {
- spliting.crud(() => {
- resolve($ocLazyLoad.load({name: 'crud'}));
-=======
-import * as routes from './fake';
-
-core.module.config(function ($stateProvider, $urlRouterProvider) {
- core.splitingRegister.registerGraph(routes.graphRoutes.graphDependendies);
-
- function loader(route) {
- return function loader($ocLazyLoad, $q) {
- return $q((resolve) => {
- core.splitingRegister.execute(route.module).then(function(dependencies){
- var array = dependencies.map((item) => { return { name: item } });
- resolve($ocLazyLoad.load(array));
- });
->>>>>>> 0bfbc5e0642bb669d8568ea1ce1782fde1702aa6
- });
- });
- }
-
- $urlRouterProvider.otherwise("/");
-
- routes.graphRoutes.routes.forEach(function (route) {
- $stateProvider.state(route.state, {
- url: route.url,
- template: route.template,
- resolve: {
- loader: loader(route)
- }
- })
- });
-});
-
diff --git a/@salix/app/src/spliting.js b/@salix/app/src/spliting.js
deleted file mode 100644
index fb7680727b..0000000000
--- a/@salix/app/src/spliting.js
+++ /dev/null
@@ -1,28 +0,0 @@
-import * as core from '@salix/core';
-
-export const compras = () => {
- return new Promise(resolve => {
- require.ensure([], () => {
- require('@salix/compras');
- resolve('compras');
- }, "salix.compras");
- });
-};
-
-core.splitingRegister.register('compras', compras);
-
-export const ventas = () => {
- require.ensure([], () => {
- require('@salix/ventas')
- }, "salix.ventas");
-};
-
-core.splitingRegister.register('ventas', ventas);
-
-export const pagos = () => {
- require.ensure([], () => {
- require('@salix/pagos')
- }, "salix.pagos");
-};
-
-core.splitingRegister.register('pagos', pagos);
\ No newline at end of file
diff --git a/@salix/app/src/spliting/deps.json b/@salix/app/src/spliting/deps.json
new file mode 100644
index 0000000000..33c88e8901
--- /dev/null
+++ b/@salix/app/src/spliting/deps.json
@@ -0,0 +1,5 @@
+{
+ "app": ["buys", "crud"],
+ "buys": ["crud"],
+ "crud": []
+}
diff --git a/@salix/app/src/spliting/import.tpl.js b/@salix/app/src/spliting/import.tpl.js
new file mode 100644
index 0000000000..9c17e355d4
--- /dev/null
+++ b/@salix/app/src/spliting/import.tpl.js
@@ -0,0 +1 @@
+import * as core from '@salix/core';
diff --git a/@salix/app/src/spliting/require.tpl.js b/@salix/app/src/spliting/require.tpl.js
new file mode 100644
index 0000000000..345fc16858
--- /dev/null
+++ b/@salix/app/src/spliting/require.tpl.js
@@ -0,0 +1,11 @@
+
+export const $module = () => {
+ return new Promise(resolve => {
+ require.ensure([], () => {
+ require('@salix/$module');
+ resolve('$module');
+ }, "salix.$module");
+ });
+};
+
+core.splitingRegister.register('$module', $module);
diff --git a/@salix/buys/index.js b/@salix/buys/index.js
new file mode 100644
index 0000000000..af578bfcd4
--- /dev/null
+++ b/@salix/buys/index.js
@@ -0,0 +1,2 @@
+export * from './src/buys';
+
diff --git a/@salix/compras/src/compras.js b/@salix/buys/src/buys.js
similarity index 100%
rename from @salix/compras/src/compras.js
rename to @salix/buys/src/buys.js
diff --git a/@salix/compras/index.js b/@salix/compras/index.js
deleted file mode 100644
index deb604b562..0000000000
--- a/@salix/compras/index.js
+++ /dev/null
@@ -1,2 +0,0 @@
-export * from './src/compras';
-
diff --git a/@salix/compras/src/spliting.js b/@salix/compras/src/spliting.js
deleted file mode 100644
index d55880521d..0000000000
--- a/@salix/compras/src/spliting.js
+++ /dev/null
@@ -1,12 +0,0 @@
-import * as core from '@salix/core';
-
-export const crud = () => {
- return new Promise(resolve => {
- require.ensure([], () => {
- require('@salix/crud');
- resolve('crud');
- }, "salix.crud");
- });
-};
-
-core.splitingRegister.register('crud', crud);
\ No newline at end of file
diff --git a/@salix/core/src/check/check.mt.html b/@salix/core/src/check/check.mt.html
index 13d98afe29..a4616186ea 100644
--- a/@salix/core/src/check/check.mt.html
+++ b/@salix/core/src/check/check.mt.html
@@ -1,3 +1,4 @@
-
- *[text]*
-
+
diff --git a/@salix/core/src/check/check.mt.js b/@salix/core/src/check/check.mt.js
index 5c043ad4ba..cacd3c5416 100644
--- a/@salix/core/src/check/check.mt.js
+++ b/@salix/core/src/check/check.mt.js
@@ -5,7 +5,7 @@ import template from './check.mt.html';
const _NAME = 'check';
const DEFAULT_TEXT = 'check';
-const DEFAULT_CLASS = 'mdl-checkbox mdl-js-checkbox mdl-js-ripple-effect';
+const DEFAULT_CLASS = 'mdl-checkbox__input';
export const NAME = util.getFactoryName(_NAME + constant.MATERIAL_DESIGN_FRAMEWORK);
@@ -13,8 +13,9 @@ export function factory() {
return {
template: template,
default: {
- text: DEFAULT_TEXT,
+ label: DEFAULT_TEXT,
enabled: 'true',
+ id: 'checkboxId',
className: DEFAULT_CLASS
}
}
diff --git a/@salix/core/src/core.js b/@salix/core/src/core.js
index f0e8af9e11..ad8aad0b91 100644
--- a/@salix/core/src/core.js
+++ b/@salix/core/src/core.js
@@ -25,3 +25,15 @@ export {NAME as TEXTFIELDBT,factory as textfieldbt} from './textfield/textfield.
export {NAME as LABEL,directive as LabelDirective} from './label/label'
export {NAME as LABELMT,factory as labelmt} from './label/label.mt'
export {NAME as LABELBT,factory as labelbt} from './label/label.bt'
+
+export {NAME as PASSWORD,directive as PasswordDirective} from './password/password'
+export {NAME as PASSWORDMT,factory as passwordmt} from './password/password.mt'
+export {NAME as SUBMIT,directive as SubmitDirective} from './submit/submit'
+export {NAME as SUBMITMT,factory as submitmt} from './submit/submit.mt'
+export {NAME as SNACKBAR,directive as SnackbarDirective} from './snackbar/snackbar'
+export {NAME as SNACKBARMT,factory as snackbarmt} from './snackbar/snackbar.mt'
+export {NAME as SPINNER,directive as SpinnerDirective} from './spinner/spinner'
+export {NAME as SPINNERMT,factory as spinnermt} from './spinner/spinner.mt'
+
+export {NAME as LOGIN, COMPONENT as LOGIN_COMPONENT} from './login/login';
+
diff --git a/@salix/core/src/login/login.html b/@salix/core/src/login/login.html
new file mode 100755
index 0000000000..8670c2a32b
--- /dev/null
+++ b/@salix/core/src/login/login.html
@@ -0,0 +1,25 @@
+
diff --git a/@salix/core/src/login/login.js b/@salix/core/src/login/login.js
new file mode 100644
index 0000000000..2cb9cc09f4
--- /dev/null
+++ b/@salix/core/src/login/login.js
@@ -0,0 +1,88 @@
+import {module} from '../module';
+import template from './login.html';
+import style from './login.scss';
+
+export const COMPONENT = {
+ template: template,
+ controller: function () {
+ function $ (id) {
+ return document.getElementById (id);
+ }
+
+ var self = this;
+ $('form').onsubmit = function () {
+ self._onSubmit ();
+ return false;
+ };
+
+ this._onSubmit = function () {
+ var params = '';
+ var elements = $('form').elements;
+
+ for (var i = 0; i < elements.length; i++)
+ if (elements[i].name) {
+ if (params.length > 1)
+ params += '&';
+
+ params += elements[i].name +'='+
+ encodeURIComponent (elements[i].value);
+ }
+
+ var request = new XMLHttpRequest ();
+ request.open ('post', form.action, true);
+ request.setRequestHeader ('Content-Type',
+ 'application/x-www-form-urlencoded');
+ request.onreadystatechange =
+ this._onLoginResponse.bind (this, request);
+ request.send (params);
+
+ $('spinner').firstChild.MaterialSpinner.start ();
+ };
+ this._onLoginResponse = function (request) {
+ $('spinner').firstChild.MaterialSpinner.stop ();
+
+ if (request.readyState !== 4)
+ return;
+
+ var data = null;
+
+ try {
+ var data = JSON.parse (request.responseText);
+ console.debug (data);
+ }
+ catch (e) {}
+
+ if (request.status == 200 && data)
+ {
+ sessionStorage.setItem ('token', data.accessToken);
+ window.location = 'index.html';
+ }
+ else
+ {
+ sessionStorage.setItem ('token', '');
+
+ var message;
+
+ switch (request.status)
+ {
+ case 401:
+ message = 'Invalid credentials';
+ break;
+ case 0:
+ message = 'Can\'t contact with server';
+ break;
+ default:
+ message = 'Something went wrong';
+ }
+
+ var snackbar = $('snackbar');
+ snackbar.firstChild.MaterialSnackbar.showSnackbar ({
+ message: message
+ });
+ }
+ }
+ }
+};
+
+module.component('vnLogin', COMPONENT);
+
diff --git a/@salix/core/src/login/login.scss b/@salix/core/src/login/login.scss
new file mode 100644
index 0000000000..679d3d58cf
--- /dev/null
+++ b/@salix/core/src/login/login.scss
@@ -0,0 +1,47 @@
+
+.vn-login
+{
+ position: absolute;
+ height: 100%;
+ width: 100%;
+ margin: 0;
+ padding: 0;
+ color: #333;
+ font-size: 1.1em;
+ font-weight: normal;
+ background-color: #EEE;
+
+ .box-wrapper
+ {
+ position: relative;
+ max-width: 20em;
+ margin: auto;
+ height: inherit;
+ }
+ .box
+ {
+ box-sizing: border-box;
+ position: absolute;
+ top: 50%;
+ width: 100%;
+ height: 18em;
+ margin-top: -9em;
+ padding: 1em;
+ background-color: white;
+ box-shadow: 0 0 .3em 0 rgba(1,1,1,.4);
+ border-radius: .1em;
+ }
+ .footer
+ {
+ margin-top: 1em;
+ margin-left: 3em;
+ text-align: center;
+ }
+ input[type=submit]
+ {
+ display: inline;
+ }
+}
+
+@media (max-height: 50em){}
+
diff --git a/@salix/core/src/password/password.js b/@salix/core/src/password/password.js
new file mode 100644
index 0000000000..86b909e921
--- /dev/null
+++ b/@salix/core/src/password/password.js
@@ -0,0 +1,18 @@
+import {module} from '../module';
+import * as resolveFactory from '../resolveDefaultComponents';
+import * as util from '../util';
+
+const _NAME = 'password';
+export const NAME = util.getName(_NAME);
+
+directive.$inject =[resolveFactory.NAME];
+export function directive (resolve){
+ return{
+ require:'E',
+ template: function(_,attr){
+ return resolve.getTemplate(_NAME, attr);
+ }
+ }
+}
+
+module.directive(NAME,directive);
diff --git a/@salix/core/src/password/password.mt.html b/@salix/core/src/password/password.mt.html
new file mode 100644
index 0000000000..4be2904127
--- /dev/null
+++ b/@salix/core/src/password/password.mt.html
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/@salix/core/src/password/password.mt.js b/@salix/core/src/password/password.mt.js
new file mode 100644
index 0000000000..5bad39aff0
--- /dev/null
+++ b/@salix/core/src/password/password.mt.js
@@ -0,0 +1,18 @@
+import {module} from '../module';
+import template from './password.mt.html';
+
+export const NAME = 'vnPasswordmtFactory';
+
+export function factory() {
+ return {
+ template: template,
+ default: {
+ label: 'Password',
+ name: 'password',
+ enabled: 'enabled',
+ className: 'mdl-textfield__input'
+ }
+ }
+}
+
+module.factory(NAME, factory);
diff --git a/@salix/core/src/snackbar/snackbar.js b/@salix/core/src/snackbar/snackbar.js
new file mode 100644
index 0000000000..3209b3671a
--- /dev/null
+++ b/@salix/core/src/snackbar/snackbar.js
@@ -0,0 +1,18 @@
+import {module} from '../module';
+import * as resolveFactory from '../resolveDefaultComponents';
+import * as util from '../util';
+
+const _NAME = 'snackbar';
+export const NAME = util.getName(_NAME);
+
+directive.$inject =[resolveFactory.NAME];
+export function directive (resolve){
+ return{
+ require:'E',
+ template: function(_,attr){
+ return resolve.getTemplate(_NAME, attr);
+ }
+ }
+}
+
+module.directive(NAME,directive);
diff --git a/@salix/core/src/snackbar/snackbar.mt.html b/@salix/core/src/snackbar/snackbar.mt.html
new file mode 100644
index 0000000000..256f591b16
--- /dev/null
+++ b/@salix/core/src/snackbar/snackbar.mt.html
@@ -0,0 +1,4 @@
+
diff --git a/@salix/core/src/snackbar/snackbar.mt.js b/@salix/core/src/snackbar/snackbar.mt.js
new file mode 100644
index 0000000000..9c13da28e5
--- /dev/null
+++ b/@salix/core/src/snackbar/snackbar.mt.js
@@ -0,0 +1,16 @@
+import {module} from '../module';
+import template from './snackbar.mt.html';
+
+export const NAME = 'vnSnackbarmtFactory';
+
+export function factory() {
+ return {
+ template: template,
+ default: {
+ message: 'Default message',
+ className: 'mdl-js-snackbar mdl-snackbar'
+ }
+ }
+}
+
+module.factory(NAME, factory);
diff --git a/@salix/core/src/spinner/spinner.js b/@salix/core/src/spinner/spinner.js
new file mode 100644
index 0000000000..b7bc987b25
--- /dev/null
+++ b/@salix/core/src/spinner/spinner.js
@@ -0,0 +1,18 @@
+import {module} from '../module';
+import * as resolveFactory from '../resolveDefaultComponents';
+import * as util from '../util';
+
+const _NAME = 'spinner';
+export const NAME = util.getName(_NAME);
+
+directive.$inject =[resolveFactory.NAME];
+export function directive (resolve){
+ return{
+ require:'E',
+ template: function(_,attr){
+ return resolve.getTemplate(_NAME, attr);
+ }
+ }
+}
+
+module.directive(NAME,directive);
diff --git a/@salix/core/src/spinner/spinner.mt.html b/@salix/core/src/spinner/spinner.mt.html
new file mode 100644
index 0000000000..45dd8201fd
--- /dev/null
+++ b/@salix/core/src/spinner/spinner.mt.html
@@ -0,0 +1,2 @@
+
+
diff --git a/@salix/core/src/spinner/spinner.mt.js b/@salix/core/src/spinner/spinner.mt.js
new file mode 100644
index 0000000000..a7ca37d903
--- /dev/null
+++ b/@salix/core/src/spinner/spinner.mt.js
@@ -0,0 +1,15 @@
+import {module} from '../module';
+import template from './spinner.mt.html';
+
+export const NAME = 'vnSpinnermtFactory';
+
+export function factory() {
+ return {
+ template: template,
+ default: {
+ className: 'mdl-spinner mdl-spinner--single-color mdl-js-spinner'
+ }
+ }
+}
+
+module.factory(NAME, factory);
diff --git a/@salix/core/src/submit/submit.js b/@salix/core/src/submit/submit.js
new file mode 100644
index 0000000000..4f548ced98
--- /dev/null
+++ b/@salix/core/src/submit/submit.js
@@ -0,0 +1,18 @@
+import {module} from '../module';
+import * as resolveFactory from '../resolveDefaultComponents';
+import * as util from '../util';
+
+const _NAME = 'submit';
+export const NAME = util.getName(_NAME);
+
+directive.$inject =[resolveFactory.NAME];
+export function directive (resolve){
+ return{
+ require:'E',
+ template: function(_,attr){
+ return resolve.getTemplate(_NAME, attr);
+ }
+ }
+}
+
+module.directive(NAME,directive);
diff --git a/@salix/core/src/submit/submit.mt.html b/@salix/core/src/submit/submit.mt.html
new file mode 100644
index 0000000000..fa4ddabb5f
--- /dev/null
+++ b/@salix/core/src/submit/submit.mt.html
@@ -0,0 +1,2 @@
+
+
diff --git a/@salix/core/src/submit/submit.mt.js b/@salix/core/src/submit/submit.mt.js
new file mode 100644
index 0000000000..33c5e5454b
--- /dev/null
+++ b/@salix/core/src/submit/submit.mt.js
@@ -0,0 +1,17 @@
+import {module} from '../module';
+import template from './submit.mt.html';
+
+export const NAME = 'vnSubmitmtFactory';
+
+export function factory() {
+ return {
+ template: template,
+ default: {
+ text: 'Submit',
+ className: 'mdl-button mdl-js-button mdl-button--raised',
+ enabled: 'true'
+ }
+ }
+}
+
+module.factory(NAME, factory);
diff --git a/@salix/core/src/textfield/textfield.mt.html b/@salix/core/src/textfield/textfield.mt.html
index 03c0555034..156daaa2e1 100644
--- a/@salix/core/src/textfield/textfield.mt.html
+++ b/@salix/core/src/textfield/textfield.mt.html
@@ -1,4 +1,4 @@
-
-
-
\ No newline at end of file
+
+
+
diff --git a/@salix/core/src/textfield/textfield.mt.js b/@salix/core/src/textfield/textfield.mt.js
index 7caf83369e..a632c03365 100644
--- a/@salix/core/src/textfield/textfield.mt.js
+++ b/@salix/core/src/textfield/textfield.mt.js
@@ -4,7 +4,7 @@ import * as constant from '../constants';
import template from './textfield.mt.html';
const _NAME = 'textfield';
-const DEFAULT_TEXT = 'text';
+const DEFAULT_LABEL = 'text';
const DEFAULT_CLASS = 'mdl-textfield__input';
const DEFAULT_TYPE = 'text';
@@ -14,7 +14,8 @@ export function factory() {
return {
template: template,
default: {
- text: DEFAULT_TEXT,
+ label: DEFAULT_LABEL,
+ name: 'textfield',
enabled: 'enabled',
className: DEFAULT_CLASS,
type: DEFAULT_TYPE
diff --git a/@salix/core/src/util.js b/@salix/core/src/util.js
index f6d0c9ea38..5206d37689 100644
--- a/@salix/core/src/util.js
+++ b/@salix/core/src/util.js
@@ -35,6 +35,7 @@ export function getProviderName(name){
export function getTemplateName(componentName,frameworkName){
return componentName + '.' + frameworkName + '.' + '.html'
}
+
export function getVendorDependencies(vendors){
let dependencies = [];
Object.keys(vendors).forEach((vendor)=>{
@@ -44,4 +45,4 @@ export function getVendorDependencies(vendors){
}
});
return dependencies;
-}
\ No newline at end of file
+}
diff --git a/@salix/crud/src/crud.js b/@salix/crud/src/crud.js
index 90229cbb40..b8e3ce4aac 100644
--- a/@salix/crud/src/crud.js
+++ b/@salix/crud/src/crud.js
@@ -1,8 +1,8 @@
export * from './module';
export {NAME as CUSTOMER_INDEX,
- COMPONENT as CUSTOMER_INDEX_COMPONENT} from './customer/index';
+ COMPONENT as CUSTOMER_INDEX_COMPONENT} from './customer/index';
export {NAME as CUSTOMER_ADD,
- COMPONENT as CUSTOMER_ADD_COMPONENT} from './customer/index/add';
+ COMPONENT as CUSTOMER_ADD_COMPONENT} from './customer/index/add';
export {NAME as CUSTOMER_LIST,
- COMPONENT as CUSTOMER_LIST_COMPONENT} from './customer/index/list';
+ COMPONENT as CUSTOMER_LIST_COMPONENT} from './customer/index/list';
diff --git a/@salix/crud/src/customer/routes.js b/@salix/crud/src/customer/routes.js
new file mode 100644
index 0000000000..d68ceeac35
--- /dev/null
+++ b/@salix/crud/src/customer/routes.js
@@ -0,0 +1,8 @@
+[{
+ url: '/index',
+ state: 'index',
+ template: '',
+ module: 'crud',
+ description: '',
+ image: '',
+}]
diff --git a/@salix/crud/src/provider/routes.js b/@salix/crud/src/provider/routes.js
new file mode 100644
index 0000000000..f585a8c741
--- /dev/null
+++ b/@salix/crud/src/provider/routes.js
@@ -0,0 +1,8 @@
+[{
+ url: '/provider',
+ state: 'provider',
+ template: '',
+ module: 'crud',
+ description: '',
+ image: '',
+}]
diff --git a/@salix/pagos/index.js b/@salix/pagos/index.js
deleted file mode 100644
index 83329dc8ae..0000000000
--- a/@salix/pagos/index.js
+++ /dev/null
@@ -1,6 +0,0 @@
-import * as core from '@salix/core'
-import * as vendors from '@salix/vendor'
-import * as crud from '@salix/crud'
-import * as ventas from '@salix/ventas'
-import * as compras from '@salix/compras'
-console.log('pagos')
\ No newline at end of file
diff --git a/@salix/ventas/index.js b/@salix/ventas/index.js
deleted file mode 100644
index 3e815f50d7..0000000000
--- a/@salix/ventas/index.js
+++ /dev/null
@@ -1,4 +0,0 @@
-import * as core from '@salix/core'
-import * as vendors from '@salix/vendor'
-import * as crud from '@salix/crud'
-console.log('ventas');
\ No newline at end of file
diff --git a/gulpfile.js b/gulpfile.js
index e17bbfd1e0..bcd4d24430 100644
--- a/gulpfile.js
+++ b/gulpfile.js
@@ -1,13 +1,72 @@
var gulp = require ('gulp');
+var wrap = require('gulp-wrap');
var concat = require ('gulp-concat');
var babel = require ('gulp-babel');
+var fs = require ('fs');
-gulp.task ('default', function ()
+// Routes
+
+var fileTpl = '\n"<%=file.path%>": <%=contents%>';
+var globalTpl = 'var routes = {<%=contents%>\n}';
+
+gulp.task ('routes', function ()
{
- var js = gulp.src ('./@salix/crud/**/routes.js')
- .pipe (concat ('salix.routes.js'))
+ return gulp.src ('./@salix/**/routes.js')
+ .pipe (wrap (fileTpl))
+ .pipe (concat ('salix.routes.js', {newLine: ','}))
+ .pipe (wrap (globalTpl))
.pipe (babel ({presets: ['es2015']}))
.pipe (gulp.dest ('./build/private'));
});
+// Spliting
+
+var baseDir = './@salix/app/src/spliting';
+var depsFile = baseDir +'/deps.json';
+
+function splitingFunc ()
+{
+ try {
+ var jsonDeps = fs.readFileSync (depsFile);
+ var modules = JSON.parse (jsonDeps);
+ }
+ catch (e)
+ {
+ console.error (e);
+ return;
+ }
+
+ var importTpl = fs.readFileSync (baseDir +'/import.tpl.js', 'utf8');
+ var requireTpl = fs.readFileSync (baseDir +'/require.tpl.js', 'utf8');
+
+ for (var modName in modules)
+ {
+ var deps = modules[modName];
+ var splitFile = './@salix/'+ 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]));
+ }
+}
+
+gulp.task ('spliting', function ()
+{
+ splitingFunc ();
+ //gulp.watch (depsFile, splitingFunc);
+});
+
+// Default
+
+gulp.task ('default', ['routes', 'spliting']);
+
+
diff --git a/index.html b/index.html
index e093cae628..d085b0f402 100644
--- a/index.html
+++ b/index.html
@@ -1,6 +1,7 @@
+
Salix
@@ -11,6 +12,10 @@
edit
delete
+
+
+
+
diff --git a/package.json b/package.json
index 499ebbcf8e..03a28fec7b 100644
--- a/package.json
+++ b/package.json
@@ -19,17 +19,22 @@
"babel-core": "*",
"babel-loader": "*",
"babel-preset-es2015": "*",
+ "cors": "^2.8.1",
"css-loader": "^0.25.0",
"eslint": "^3.7.1",
"eslint-config-angular": "^0.5.0",
"eslint-config-google": "^0.6.0",
"eslint-plugin-angular": "^1.4.1",
"gulp": "^3.9.1",
- "pre-commit": "^1.1.3",
- "cors": "^2.8.1",
"gulp-babel": "^6.1.2",
"gulp-concat": "^2.6.0",
+ "gulp-insert": "^0.5.0",
+ "gulp-wrap": "^0.13.0",
+ "json-loader": "^0.5.4",
+ "node-sass": "^3.11.0",
+ "pre-commit": "^1.1.3",
"raw-loader": "*",
+ "sass-loader": "^4.0.2",
"style-loader": "^0.13.1",
"webpack": "*",
"webpack-dev-server": "*"
@@ -41,5 +46,7 @@
"gulp": "gulp",
"express": "node server.js"
},
- "pre-commit": [ "lint" ]
+ "pre-commit": [
+ "lint"
+ ]
}
diff --git a/webpack.config.js b/webpack.config.js
index 695c713846..e4c838a324 100644
--- a/webpack.config.js
+++ b/webpack.config.js
@@ -22,15 +22,18 @@ module.exports =
query: {
presets: ['es2015']
}
- }, {
+ },{
test: /\.html$/,
loader: 'raw'
- }, {
+ },{
test: /\.json$/,
loader: 'json'
- }, {
+ },{
test: /\.css$/,
loader: 'style!css'
+ },{
+ test: /\.scss$/,
+ loader: 'style!css!sass'
}
]
},