diff --git a/@salix/app/src/app.js b/@salix/app/src/app.js index 4683d21699..c799c05716 100644 --- a/@salix/app/src/app.js +++ b/@salix/app/src/app.js @@ -1,19 +1,20 @@ -import {module} from './module'; -import {bootstrap} from './bootstrap'; -import * as spliting from './spliting'; -import * as routes from './configroutes'; -import * as run from './run'; -import * as configNgTranslate from './translate'; -import * as components from './components'; +import './module'; +import './spliting'; +import './configroutes'; +import './config'; +import './run'; +import './components'; -import title from './styles/title.css'; -import padding from './styles/layout.css'; -import margin from './styles/margin.scss'; -import layout from './styles/padding.scss'; -import background from './styles/background.scss'; -import border from './styles/border.scss'; -import fontStyle from './styles/font-style.scss'; -import misc from './styles/misc.scss'; -import display from './styles/display.css'; +import './styles/title.css'; +import './styles/layout.css'; +import './styles/margin.scss'; +import './styles/padding.scss'; +import './styles/background.scss'; +import './styles/border.scss'; +import './styles/font-style.scss'; +import './styles/misc.scss'; +import './styles/display.css'; + +import {bootstrap} from './bootstrap'; bootstrap(); diff --git a/@salix/app/src/config.js b/@salix/app/src/config.js new file mode 100644 index 0000000000..fb9e815822 --- /dev/null +++ b/@salix/app/src/config.js @@ -0,0 +1,8 @@ +import {module} from './module'; + +config.$inject = ['$translatePartialLoaderProvider']; +export function config($translatePartialLoaderProvider) { + $translatePartialLoaderProvider.addPart('app'); + $translatePartialLoaderProvider.addPart('crud'); +} +module.config(config); diff --git a/@salix/app/src/configroutes.js b/@salix/app/src/configroutes.js index 8045a2b5c8..6c755cf076 100644 --- a/@salix/app/src/configroutes.js +++ b/@salix/app/src/configroutes.js @@ -1,41 +1,40 @@ import * as core from 'core'; -import * as spliting from './spliting'; +import './spliting'; import * as deps from './spliting/deps.json'; function loader(module) { - function load($ocLazyLoad, $q){ + load.$inject = ['$ocLazyLoad', '$q']; + function load($ocLazyLoad, $q) { return $q((resolve) => { core.splitingRegister.execute(module).then(function (dependencies) { var array = dependencies.map((item) => { return { name: item } }); resolve($ocLazyLoad.load(array)); }); }); - } - load.$inject = ['$ocLazyLoad', '$q']; return load; } -function getParams(route) { - var params = "", - temporalParams = []; - - if (!route.params) { - return params; - } - - Object.keys(route.params).forEach(key => { - temporalParams.push(key + `= "${route.params[key]}"`); - }); - return temporalParams.join(" "); -} - +config.$inject = ['$stateProvider', '$urlRouterProvider']; function config($stateProvider, $urlRouterProvider) { core.splitingRegister.registerGraph(deps); $urlRouterProvider.otherwise('/clients'); - for (var file in routes) - { + function getParams(route) { + let params = "", + temporalParams = []; + + if (!route.params) { + return params; + } + + Object.keys(route.params).forEach(key => { + temporalParams.push(key + `= "${route.params[key]}"`); + }); + return temporalParams.join(" "); + } + + for (let file in routes) { let fileRoutes = routes[file].routes; let module = routes[file].module; @@ -44,12 +43,10 @@ function config($stateProvider, $urlRouterProvider) { url: route.url, template: `<${route.component} ${getParams(route)}>`, resolve: { - loader: loader(module) - } + loader: loader(module) + } }); }); } } - -config.$inject = ['$stateProvider', '$urlRouterProvider']; core.module.config(config); diff --git a/@salix/app/src/run.js b/@salix/app/src/run.js index a91dcca5d4..909e8715ef 100644 --- a/@salix/app/src/run.js +++ b/@salix/app/src/run.js @@ -12,5 +12,3 @@ export function run ($rootScope, $state) { }); } module.run(run); - - diff --git a/@salix/app/src/styles/background.scss b/@salix/app/src/styles/background.scss index 1ce2538072..4781810706 100644 --- a/@salix/app/src/styles/background.scss +++ b/@salix/app/src/styles/background.scss @@ -25,12 +25,12 @@ html [bg-dark-bar], .bg-dark-bar { html [bg-dark-menu], .bg-dark-menu { background-color: darken($bg-dark-menu, 35%); } -/* utilizado para mostrar el color default en el consignatario */ +/* Color para items seleccionados */ .bg-dark-item{ background-color: $bg-dark-bar; color: $color-white; } -/* utilizado para mostrar el color inactivo en el consignatario */ +/* Color para items inactivos */ .bg-opacity-item{ opacity: 0.6; } diff --git a/@salix/app/src/translate.js b/@salix/app/src/translate.js deleted file mode 100644 index e887f06da1..0000000000 --- a/@salix/app/src/translate.js +++ /dev/null @@ -1,14 +0,0 @@ -import {module} from './module'; - -configNgTranslate.$inject = ['$translateProvider', '$translatePartialLoaderProvider']; -export function configNgTranslate($translateProvider, $translatePartialLoaderProvider) { - for(let mod of ['app', 'crud']) - $translatePartialLoaderProvider.addPart(mod); - - let conf = {urlTemplate: '/static/locale/{part}/{lang}.json'}; - $translateProvider - .useSanitizeValueStrategy(null) - .useLoader('$translatePartialLoader', conf) - .preferredLanguage('es'); -} -module.config(configNgTranslate); diff --git a/@salix/core/src/config.js b/@salix/core/src/config.js new file mode 100644 index 0000000000..dd11ccbfc9 --- /dev/null +++ b/@salix/core/src/config.js @@ -0,0 +1,21 @@ +import {module} from './module'; + +config.$inject = ['$translateProvider', '$translatePartialLoaderProvider']; +export function config($translateProvider, $translatePartialLoaderProvider) { + $translatePartialLoaderProvider.addPart('core'); + + let conf = {urlTemplate: '/static/locale/{part}/{lang}.json'}; + let langs = ['en', 'es']; + let localLangs = { + 'en_US': 'en', + 'en_UK': 'en', + 'es_ES': 'es', + 'es_AR': 'es' + }; + $translateProvider + .useSanitizeValueStrategy('escape') + .useLoader('$translatePartialLoader', conf) + .registerAvailableLanguageKeys(langs, localLangs) + .determinePreferredLanguage(); +} +module.config(config); diff --git a/@salix/core/src/core.js b/@salix/core/src/core.js index bba595174b..8c65aaf683 100644 --- a/@salix/core/src/core.js +++ b/@salix/core/src/core.js @@ -1,8 +1,10 @@ -require('./mdl-override.css'); +import './mdl-override.css'; export * from './module'; export * from './util'; +import './config'; + export {SplitingRegister as splitingRegister} from './splitingregister'; export {NAME as RESOLVEDEFAULTCOMPONENT, ResolveDefaultComponent} from './resolveDefaultComponents'; export {NAME as INTERPOLATE, Interpolate} from './interpolate'; diff --git a/@salix/core/src/focus.js b/@salix/core/src/focus.js index 6445496975..42652518b4 100644 --- a/@salix/core/src/focus.js +++ b/@salix/core/src/focus.js @@ -7,9 +7,7 @@ export function directive() { link: function($scope, $element, $attrs) { var input = $element[0]; input.focus(); - var len = input.value ? input.value.length : 0; - input.setSelectionRange(0, len); - // input.select(); + input.select(); } }; } diff --git a/@salix/core/src/locale/en.json b/@salix/core/src/locale/en.json new file mode 100644 index 0000000000..f2c3b62b94 --- /dev/null +++ b/@salix/core/src/locale/en.json @@ -0,0 +1,4 @@ +{ + "Accept": "Accept", + "Cancel": "Cancel" +} \ No newline at end of file diff --git a/@salix/core/src/locale/es.json b/@salix/core/src/locale/es.json new file mode 100644 index 0000000000..cd2b7eea12 --- /dev/null +++ b/@salix/core/src/locale/es.json @@ -0,0 +1,4 @@ +{ + "Accept": "Aceptar", + "Cancel": "Cancelar" +} \ No newline at end of file diff --git a/@salix/crud/src/module.js b/@salix/crud/src/module.js index a0abd0639e..098a62a896 100644 --- a/@salix/crud/src/module.js +++ b/@salix/crud/src/module.js @@ -3,4 +3,3 @@ import * as core from 'core'; export const NAME = 'crud'; export const module = vendors.ng.module(NAME, []); - diff --git a/@salix/gulpfile.js b/@salix/gulpfile.js index 23be507a09..8088b5235a 100644 --- a/@salix/gulpfile.js +++ b/@salix/gulpfile.js @@ -7,6 +7,7 @@ var concat = require('gulp-concat'); var extend = require('gulp-extend'); var babel = require('gulp-babel'); var fs = require('fs'); +var merge = require('merge-stream'); var del = require('del'); var webpack = require('webpack'); var WebpackDevServer = require('webpack-dev-server'); @@ -52,7 +53,7 @@ gulp.task('spliting', function() { // Webpack -gulp.task('webpack', ['spliting'], function(callback) { +gulp.task('webpack', ['spliting'], function(cb) { var myDevConfig = Object.create(webpackConfig); myDevConfig.debug = true; @@ -61,7 +62,7 @@ gulp.task('webpack', ['spliting'], function(callback) { devCompiler.run(function(err, stats) { if (err) throw new gutil.PluginError('webpack', err); gutil.log('[webpack]', stats.toString({colors: true})); - callback(); + cb(); }); }); @@ -100,16 +101,19 @@ gulp.task('webpack-dev-server', ['spliting'], function() { var localeFiles = './**/locale/*.json'; gulp.task('locales', function() { + var streams = []; var modules = ['core', 'crud', 'app', 'login']; var langs = ['es', 'en']; for(var mod of modules) for(var lang of langs) { var localeFiles = `./${mod}/**/locale/${lang}.json`; - gulp.src(localeFiles) + streams.push(gulp.src(localeFiles) .pipe(extend(`${lang}.json`)) - .pipe(gulp.dest(`${buildDir}/locale/${mod}`)); + .pipe(gulp.dest(`${buildDir}/locale/${mod}`))); } + + return merge(streams); }); // Routes diff --git a/@salix/login/src/config.js b/@salix/login/src/config.js new file mode 100644 index 0000000000..8d632f8632 --- /dev/null +++ b/@salix/login/src/config.js @@ -0,0 +1,10 @@ +import {module} from './module'; + +config.$inject = ['$translatePartialLoaderProvider', '$httpProvider']; +export function config($translatePartialLoaderProvider, $httpProvider) { + $translatePartialLoaderProvider.addPart('login'); + + $httpProvider.defaults.useXDomain = true; + delete $httpProvider.defaults.headers.common['X-Requested-With']; +} +module.config(config); diff --git a/@salix/login/src/login.js b/@salix/login/src/login.js index e6acad9f9b..b6ea0475fd 100644 --- a/@salix/login/src/login.js +++ b/@salix/login/src/login.js @@ -1,4 +1,4 @@ -export * from './module' - -export {NAME as LOGIN, COMPONENT as LOGIN_COMPONENT} from './login/login' +export * from './module'; +import './config'; +export {component as Login} from './login/login' diff --git a/@salix/login/src/login/locale/en.json b/@salix/login/src/login/locale/en.json new file mode 100644 index 0000000000..13b9103d77 --- /dev/null +++ b/@salix/login/src/login/locale/en.json @@ -0,0 +1,6 @@ +{ + "User": "User", + "Password": "Password", + "Do not close session": "Do not close session", + "Enter": "Enter" +} \ No newline at end of file diff --git a/@salix/login/src/login/locale/es.json b/@salix/login/src/login/locale/es.json new file mode 100644 index 0000000000..85c5c654d4 --- /dev/null +++ b/@salix/login/src/login/locale/es.json @@ -0,0 +1,6 @@ +{ + "User": "Usuario", + "Password": "Contraseña", + "Do not close session": "No cerrar sesión", + "Enter": "Entrar" +} \ No newline at end of file diff --git a/@salix/login/src/login/login.html b/@salix/login/src/login/login.html index 300cd59e32..99e09a5fb7 100755 --- a/@salix/login/src/login/login.html +++ b/@salix/login/src/login/login.html @@ -1,14 +1,16 @@ -
+
-
- - - + + + +
diff --git a/@salix/login/src/login/login.js b/@salix/login/src/login/login.js index ea19de4af8..9cdadd70a2 100644 --- a/@salix/login/src/login/login.js +++ b/@salix/login/src/login/login.js @@ -1,65 +1,57 @@ import {module} from '../module'; -import template from './login.html'; -import style from './login.scss'; +import './login.scss'; -export const COMPONENT = - { - template: template, - controller: controller, - controllerAs: 'login' - }; - -module.component('vnLogin', COMPONENT); +export const component = { + template: require('./login.html'), + controller: controller +}; +module.component('vnLogin', component); controller.$inject = ['$http', '$element']; function controller($http, $element) { - var self = this; - this.submit = function() { - let model = this.model; + Object.assign(this, { + submit: function() { + let model = this.model; - if (!(model && model.email && model.password)) { - showMessage('Please insert your email and password'); - return; + if (!(model && model.email && model.password)) { + this.showMessage('Please insert your email and password'); + return; + } + + this.loading = true; + model.appId = window.location.href; + $http.post('/account', this.model).then( + (json) => this.onLoginOk(json), + (json) => this.onLoginErr(json) + ); + }, + onLoginOk: function(json) { + this.loading = false; + let data = json.data; + window.location = `${data.location}?access_token=${data.location}`; + }, + onLoginErr: function(json) { + this.loading = false; + this.model.password = ''; + + let message; + + switch (json.status) { + case 401: + message = 'Invalid credentials'; + break; + case -1: + message = 'Can\'t contact with server'; + break; + default: + message = 'Something went wrong'; + } + + this.showMessage(message); + }, + showMessage: function(message) { + let snackbar = $element.find('vn-snackbar').controller('vnSnackbar'); + snackbar.show({message: message}); } - - this.loading = true; - model.appId = window.location.href; - $http.post('/account', this.model).then( - onLoginOk, - onLoginErr - ); - }; - function onLoginOk(response) { - self.loading = false; - window.location = response.data.location + '?access_token=' + response.data.accessToken; - } - function onLoginErr(response) { - self.loading = false; - self.model.password = ''; - - let message; - - switch (response.status) { - case 401: - message = 'Invalid credentials'; - break; - case -1: - message = 'Can\'t contact with server'; - break; - default: - message = 'Something went wrong'; - } - - showMessage(message); - } - function showMessage(message) { - let snackbar = $element.find('vn-snackbar').controller('vnSnackbar'); - snackbar.show({message: message}); - } + }); } - -module.config(['$httpProvider', function($httpProvider) { - $httpProvider.defaults.useXDomain = true; - delete $httpProvider.defaults.headers.common['X-Requested-With']; -} -]); diff --git a/@salix/login/src/login/login.scss b/@salix/login/src/login/login.scss index 78d30e0197..2b856c012f 100644 --- a/@salix/login/src/login/login.scss +++ b/@salix/login/src/login/login.scss @@ -1,6 +1,5 @@ -.vn-login -{ +vn-login > div { position: absolute; height: 100%; width: 100%; @@ -11,15 +10,13 @@ font-weight: normal; background-color: #3c393b; - .box-wrapper - { + .box-wrapper { position: relative; max-width: 22em; margin: auto; height: inherit; } - .box - { + .box { box-sizing: border-box; position: absolute; top: 50%; @@ -30,20 +27,21 @@ box-shadow: 0 0 1em 0 rgba(1,1,1,.6); border-radius: .5em; } - img - { + img { width: 100%; padding-bottom: 1em; } - .footer - { + .footer { margin-top: 1em; - margin-left: 3em; text-align: center; + position: relative; } - input[type=submit] - { - display: inline; + .spinner-wrapper { + position: absolute; + width: 0; + top: .3em; + right: 4em; + overflow: visible; } } diff --git a/@salix/package.json b/@salix/package.json index 3cb1331a4b..b46371b8d4 100644 --- a/@salix/package.json +++ b/@salix/package.json @@ -39,6 +39,7 @@ "gulp-wrap": "^0.13.0", "html-loader": "^0.4.4", "json-loader": "^0.5.4", + "merge-stream": "^1.0.1", "node-sass": "^3.11.0", "pre-commit": "^1.1.3", "raw-loader": "*", diff --git a/@salix/vendor/src/angular-paging.js b/@salix/vendor/src/angular-paging.js index 52c3085aab..a0d0040367 100644 --- a/@salix/vendor/src/angular-paging.js +++ b/@salix/vendor/src/angular-paging.js @@ -1,4 +1,4 @@ -import * as _ngPaging from 'angular-paging'; +import 'angular-paging'; export const ngPaging = { name: 'bw.paging' diff --git a/@salix/vendor/src/angular-translate-vendor.js b/@salix/vendor/src/angular-translate-vendor.js deleted file mode 100644 index 94a95380b4..0000000000 --- a/@salix/vendor/src/angular-translate-vendor.js +++ /dev/null @@ -1,6 +0,0 @@ -import * as _ngTranslate from 'angular-translate'; -import * as _ngTranslateLoader from 'angular-translate-loader-partial'; - -export const ngTranslate = { - name: 'pascalprecht.translate' -}; diff --git a/@salix/vendor/src/angular-translate.js b/@salix/vendor/src/angular-translate.js new file mode 100644 index 0000000000..cb56553758 --- /dev/null +++ b/@salix/vendor/src/angular-translate.js @@ -0,0 +1,6 @@ +import 'angular-translate'; +import 'angular-translate-loader-partial'; + +export const ngTranslate = { + name: 'pascalprecht.translate' +}; diff --git a/@salix/vendor/src/angular-vendor.js b/@salix/vendor/src/angular-vendor.js deleted file mode 100644 index e18821ded4..0000000000 --- a/@salix/vendor/src/angular-vendor.js +++ /dev/null @@ -1,8 +0,0 @@ -import * as _angular from 'angular'; - -export const ng = { - module: _angular.module, - bootstrap: _angular.bootstrap, - $$minErr :_angular.$$minErr, - angular:_angular -} diff --git a/@salix/vendor/src/angular.js b/@salix/vendor/src/angular.js new file mode 100644 index 0000000000..b5d6cad200 --- /dev/null +++ b/@salix/vendor/src/angular.js @@ -0,0 +1,8 @@ +import * as angular from 'angular'; + +export const ng = { + module: angular.module, + bootstrap: angular.bootstrap, + $$minErr :angular.$$minErr, + angular: angular +} diff --git a/@salix/vendor/src/material-design-lite.js b/@salix/vendor/src/material-design-lite.js new file mode 100644 index 0000000000..43034d1516 --- /dev/null +++ b/@salix/vendor/src/material-design-lite.js @@ -0,0 +1,4 @@ +import * as mdl from 'material-design-lite'; +import 'material-design-lite/dist/material.orange-deep_orange.min.css'; + +export const materialdesignlite = mdl; \ No newline at end of file diff --git a/@salix/vendor/src/materialdesignlite-vendor.js b/@salix/vendor/src/materialdesignlite-vendor.js deleted file mode 100644 index d3b3d215cc..0000000000 --- a/@salix/vendor/src/materialdesignlite-vendor.js +++ /dev/null @@ -1,4 +0,0 @@ -import * as _materialdesignlite from 'material-design-lite'; -import * as css from 'material-design-lite/dist/material.orange-deep_orange.min.css'; - -export const materialdesignlite = _materialdesignlite; \ No newline at end of file diff --git a/@salix/vendor/src/oclazyload-vendor.js b/@salix/vendor/src/oc-lazy-load.js similarity index 77% rename from @salix/vendor/src/oclazyload-vendor.js rename to @salix/vendor/src/oc-lazy-load.js index 9dcca2f2c6..4e755b6069 100644 --- a/@salix/vendor/src/oclazyload-vendor.js +++ b/@salix/vendor/src/oc-lazy-load.js @@ -1,4 +1,4 @@ -import * as _oclazyload from 'oclazyload'; +import 'oclazyload'; import {getComponentName} from './util'; export const oclazyload = { diff --git a/@salix/vendor/src/uirouter-vendor.js b/@salix/vendor/src/ui-router.js similarity index 73% rename from @salix/vendor/src/uirouter-vendor.js rename to @salix/vendor/src/ui-router.js index c24de02b59..4f74b44008 100644 --- a/@salix/vendor/src/uirouter-vendor.js +++ b/@salix/vendor/src/ui-router.js @@ -1,4 +1,4 @@ -import * as _uirouter from 'angular-ui-router'; +import 'angular-ui-router'; import {getComponentName} from './util'; export const uirouter = { diff --git a/@salix/vendor/src/vendor.js b/@salix/vendor/src/vendor.js index a6667d6d6a..8226849bd1 100644 --- a/@salix/vendor/src/vendor.js +++ b/@salix/vendor/src/vendor.js @@ -1,6 +1,6 @@ -export * from './angular-vendor'; -export * from './oclazyload-vendor'; -export * from './uirouter-vendor'; -export * from './angular-translate-vendor'; -export * from './materialdesignlite-vendor'; +export * from './angular'; +export * from './oc-lazy-load'; +export * from './ui-router'; +export * from './angular-translate'; +export * from './material-design-lite'; export * from './angular-paging'; \ No newline at end of file