\ No newline at end of file
diff --git a/front/core/components/table/index.js b/front/core/components/table/index.js
index d091e8345..0b9236c84 100644
--- a/front/core/components/table/index.js
+++ b/front/core/components/table/index.js
@@ -8,18 +8,6 @@ export default class Table {
this.field = null;
this.order = null;
this.autoLoad = true;
-
- $transclude($scope.$parent, clone => {
- angular.element($element[0].querySelector('.table')).append(clone);
- });
- }
-
- get isRefreshing() {
- return (this.model && this.model.isRefreshing);
- }
-
- get isPaging() {
- return (this.model && this.model.isPaging);
}
setOrder(field, order) {
@@ -37,7 +25,9 @@ export default class Table {
}
$onChanges() {
- if (this.model && this.autoLoad)
+ // FIXME: The autoload property should be removed from vnTable
+ // because it's already implemented at vnModel
+ if (this.autoLoad && this.model && !this.model.data)
this.applyOrder();
}
diff --git a/front/core/components/table/style.scss b/front/core/components/table/style.scss
index 29b163950..9c14e3e03 100644
--- a/front/core/components/table/style.scss
+++ b/front/core/components/table/style.scss
@@ -51,14 +51,15 @@ vn-table {
}
& > * > vn-tr,
& > * > a.vn-tr {
- display: table-row
+ display: table-row;
+ height: 3em;
}
vn-thead, vn-tbody, vn-tfoot {
& > * {
display: table-row;
& > vn-th {
- font-weight: bold;
+ color: $color-font-light;
padding-top: 1em;
padding-bottom: .8em;
}
@@ -97,10 +98,10 @@ vn-table {
}
}
& > :last-child {
- padding-right: 1em;
+ padding-right: 1.4em;
}
& > :first-child {
- padding-left: 1em;
+ padding-left: 1.4em;
}
}
& > a.vn-tr {
diff --git a/front/core/components/radio/index.html b/front/core/components/toggle/index.html
similarity index 78%
rename from front/core/components/radio/index.html
rename to front/core/components/toggle/index.html
index 8a8e12b8f..3ec11242e 100644
--- a/front/core/components/radio/index.html
+++ b/front/core/components/toggle/index.html
@@ -1,4 +1,4 @@
-
+
diff --git a/front/core/components/toggle/index.js b/front/core/components/toggle/index.js
new file mode 100644
index 000000000..7642c8973
--- /dev/null
+++ b/front/core/components/toggle/index.js
@@ -0,0 +1,62 @@
+import ngModule from '../../module';
+import Component from '../../lib/component';
+import './style.scss';
+
+/**
+ * Base component with common logic and styles for checkbox and radio button.
+ *
+ * @property {String} label Label to display along the component
+ * @property {any} field The value with which the element is linked
+ * @property {Boolean} checked Whether the checkbox is checked
+ * @property {Boolean} disabled Put component in disabled mode
+ */
+export default class Toggle extends Component {
+ constructor($element, $) {
+ super($element, $);
+
+ let element = this.element;
+ element.tabIndex = 0;
+ element.addEventListener('click', e => this.onClick(e));
+ element.addEventListener('keydown', e => this.onKeydown(e));
+ element.classList.add('vn-toggle');
+ }
+
+ set disabled(value) {
+ this.element.tabIndex = !value ? 0 : -1;
+ this.element.classList.toggle('disabled', Boolean(value));
+ this._disabled = value;
+ }
+
+ get disabled() {
+ return this._disabled;
+ }
+
+ onKeydown(event) {
+ if (event.code == 'Space')
+ this.onClick(event);
+ }
+
+ onClick(event) {
+ if (this.disabled || event.defaultPrevented)
+ return true;
+
+ event.preventDefault();
+ }
+
+ changed() {
+ this.$.$applyAsync();
+ this.element.dispatchEvent(new Event('change'));
+ this.emit('change', {value: this.field});
+ }
+}
+Toggle.$inject = ['$element', '$scope'];
+
+ngModule.component('vnToggle', {
+ controller: Toggle,
+ bindings: {
+ label: '@?',
+ field: '=?',
+ disabled: '',
+ checked: ''
+ }
+});
diff --git a/front/core/components/toggle/style.scss b/front/core/components/toggle/style.scss
new file mode 100644
index 000000000..8671eddec
--- /dev/null
+++ b/front/core/components/toggle/style.scss
@@ -0,0 +1,50 @@
+@import "variables";
+
+.vn-toggle {
+ position: relative;
+ cursor: pointer;
+ display: inline-block;
+ outline: none;
+
+ &.disabled {
+ cursor: inherit;
+ }
+ & > span {
+ font-size: $input-font-size;
+ }
+ & > .btn {
+ position: relative;
+ box-sizing: border-box;
+ display: inline-block;
+ vertical-align: middle;
+ width: 20px;
+ height: 20px;
+ margin: 6px 0;
+ margin-right: .4em;
+ border: 2px solid #666;
+ }
+ &.checked > .btn {
+ border-color: $color-main;
+
+ & > .focus-mark {
+ background-color: rgba($color-main, .15);
+ }
+ }
+ & > .btn > .focus-mark {
+ position: absolute;
+ top: 50%;
+ left: 50%;
+ height: 38px;
+ width: 38px;
+ margin-top: -19px;
+ margin-left: -19px;
+ border-radius: 50%;
+ transform: scale3d(0, 0, 0);
+ transition: background 250ms;
+ transition: transform 250ms;
+ background-color: rgba(0, 0, 0, .1);
+ }
+ &:focus:not(.disabled) > .btn > .focus-mark {
+ transform: scale3d(1, 1, 1);
+ }
+}
diff --git a/front/core/components/treeview/style.scss b/front/core/components/treeview/style.scss
index 0beee8e7c..c3a7e3cab 100644
--- a/front/core/components/treeview/style.scss
+++ b/front/core/components/treeview/style.scss
@@ -1,11 +1,5 @@
@import "effects";
-vn-treeview {
- & > .add-item {
- @extend %clickable;
- }
-}
-
vn-treeview-childs {
display: block;
@@ -13,9 +7,26 @@ vn-treeview-childs {
padding: 0;
margin: 0;
- & > li {
+ li {
list-style: none;
+ & > .node {
+ @extend %clickable;
+ display: flex;
+ padding: 5px;
+ align-items: center;
+ }
+
+ & > div > .arrow {
+ min-width: 24px;
+ margin-right: 10px;
+ transition: transform 200ms;
+ }
+
+ & > div.expanded > .arrow {
+ transform: rotate(180deg);
+ }
+
ul {
padding-left: 2.2em;
}
@@ -35,33 +46,8 @@ vn-treeview-childs {
.node:hover > .buttons {
display: block
}
-
- & > ul > li > .node {
- @extend %clickable;
- display: flex;
- padding: 5px;
- align-items: center;
-
- & > .arrow {
- min-width: 24px;
- margin-right: 10px;
- transition: transform 200ms;
- }
- &.expanded > .arrow {
- transform: rotate(180deg);
- }
- & > vn-check:not(.indeterminate) {
- color: $color-main;
-
- & > .check {
- border-color: $color-main;
- }
- }
- & > vn-check.checked {
- color: $color-main;
- }
- }
}
+
vn-treeview-content {
- flex-grow: 1;
+ flex-grow: 1
}
\ No newline at end of file
diff --git a/front/core/lib/index.js b/front/core/lib/index.js
index d6e47b118..dac8e460d 100644
--- a/front/core/lib/index.js
+++ b/front/core/lib/index.js
@@ -2,7 +2,6 @@ import './module-loader';
import './crud';
import './acl-service';
import './template';
-import './interpolate';
import './copy';
import './equals';
import './modified';
diff --git a/front/core/lib/interpolate.js b/front/core/lib/interpolate.js
deleted file mode 100644
index 0db22b312..000000000
--- a/front/core/lib/interpolate.js
+++ /dev/null
@@ -1,189 +0,0 @@
-import ngModule from '../module';
-import {ng} from '../vendor';
-
-function stringify(value) {
- if (value === null) { // null || undefined
- return '';
- }
- switch (typeof value) {
- case 'string':
- break;
- case 'number':
- value = String(value);
- break;
- default:
- value = angular.toJson(value);
- }
-
- return value;
-}
-
-var $interpolateMinErr = ng.$interpolateMinErr = ng.$$minErr('$interpolate');
-
-$interpolateMinErr.throwNoconcat = function(text) {
- throw $interpolateMinErr('noconcat',
- 'Error while interpolating: {0}\nStrict Contextual Escaping disallows ' +
- 'interpolations that concatenate multiple expressions when a trusted value is ' +
- 'required. See http://docs.angularjs.org/api/ng.$sce', text);
-};
-
-$interpolateMinErr.interr = function(text, err) {
- return $interpolateMinErr('interr', 'Can\'t interpolate: {0}\n{1}', text, err.toString());
-};
-
-function $get($parse, $exceptionHandler, $sce) {
- let startSymbolLength = this._startSymbol.length;
- let endSymbolLength = this._endSymbol.length;
- let escapedStartRegexp = new RegExp(this._startSymbol.replace(/./g, escape), 'g');
- let escapedEndRegexp = new RegExp(this._endSymbol.replace(/./g, escape), 'g');
- let self = this;
-
- function escape(ch) {
- return '\\\\\\' + ch;
- }
-
- function unescapeText(text) {
- return text.replace(escapedStartRegexp, self._startSymbol)
- .replace(escapedEndRegexp, self._endSymbol);
- }
-
- // TODO: this is the same as the constantWatchDelegate in parse.js
- function constantWatchDelegate(scope, listener, objectEquality, constantInterp) {
- var unwatch = scope.$watch(function constantInterpolateWatch(scope) {
- unwatch();
- return constantInterp(scope);
- }, listener, objectEquality);
- return unwatch;
- }
-
- function $interpolate(text, mustHaveExpression, trustedContext, allOrNothing) {
- // Provide a quick exit and simplified result function for text with no interpolation
- if (!text.length || text.indexOf(self._startSymbol) === -1) {
- var constantInterp;
- if (!mustHaveExpression) {
- var unescapedText = unescapeText(text);
- constantInterp = valueFn(unescapedText);
- constantInterp.exp = text;
- constantInterp.expressions = [];
- constantInterp.$$watchDelegate = constantWatchDelegate;
- }
- return constantInterp;
- }
-
- allOrNothing = Boolean(allOrNothing);
- let startIndex;
- let endIndex;
- let index = 0;
- let expressions = [];
- let parseFns = [];
- let textLength = text.length;
- let exp;
- let concat = [];
- let expressionPositions = [];
-
- while (index < textLength) {
- if (((startIndex = text.indexOf(self._startSymbol, index)) !== -1) &&
- ((endIndex = text.indexOf(self._endSymbol, startIndex + startSymbolLength)) !== -1)) {
- if (index !== startIndex)
- concat.push(unescapeText(text.substring(index, startIndex)));
- exp = text.substring(startIndex + startSymbolLength, endIndex);
- expressions.push(exp);
- parseFns.push($parse(exp, parseStringifyInterceptor));
- index = endIndex + endSymbolLength;
- expressionPositions.push(concat.length);
- concat.push('');
- } else {
- // we did not find an interpolation, so we have to add the remainder to the separators array
- if (index !== textLength)
- concat.push(unescapeText(text.substring(index)));
- break;
- }
- }
-
- if (trustedContext && concat.length > 1) {
- $interpolateMinErr.throwNoconcat(text);
- }
-
- var getValue = function(value) {
- return trustedContext ?
- $sce.getTrusted(trustedContext, value) :
- $sce.valueOf(value);
- };
-
- if (!mustHaveExpression || expressions.length) {
- var compute = function(values) {
- for (var i = 0, ii = expressions.length; i < ii; i++) {
- if (allOrNothing && isUndefined(values[i])) return;
- concat[expressionPositions[i]] = values[i];
- }
- return concat.join('');
- };
-
- return angular.extend(function interpolationFn(context) {
- var i = 0;
- var ii = expressions.length;
- var values = new Array(ii);
-
- try {
- for (; i < ii; i++) {
- values[i] = parseFns[i](context);
- }
-
- return compute(values);
- } catch (err) {
- $exceptionHandler($interpolateMinErr.interr(text, err));
- }
- }, {
- // all of these properties are undocumented for now
- exp: text, // just for compatibility with regular watchers created via $watch
- expressions: expressions
- });
- }
-
- function parseStringifyInterceptor(value) {
- try {
- value = getValue(value);
- return allOrNothing && !isDefined(value) ? value : stringify(value);
- } catch (err) {
- $exceptionHandler($interpolateMinErr.interr(text, err));
- }
- }
- }
-
- $interpolate.startSymbol = function() {
- return startSymbol;
- };
-
- $interpolate.endSymbol = function() {
- return endSymbol;
- };
-
- return $interpolate;
-}
-
-$get.$inject = ['$parse', '$exceptionHandler', '$sce'];
-
-export class Interpolate {
- constructor() {
- this._startSymbol = '*[';
- this._endSymbol = ']*';
- }
- set startSymbol(value) {
- if (value) {
- this._startSymbol = value;
- return this;
- }
- return this._startSymbol;
- }
- set endSymbol(value) {
- if (value) {
- this._endSymbol = value;
- return this;
- }
- return this._endSymbol;
- }
-}
-
-Interpolate.prototype.$get = $get;
-var interpolate = new Interpolate();
-ngModule.provider('vnInterpolate', () => interpolate);
diff --git a/front/core/lib/section.js b/front/core/lib/section.js
new file mode 100644
index 000000000..7e59bb8b3
--- /dev/null
+++ b/front/core/lib/section.js
@@ -0,0 +1,34 @@
+import Component from './component';
+
+/**
+ * Class with commonly injected services assigned as properties. It also has
+ * abbreviations for commonly used methods like tranlation.
+ *
+ * @property {Object} $translate Angular tranlation service
+ * @property {Object} $http Angular HTTP service
+ * @property {Object} $state Router state service
+ * @property {Object} $stateParams Router state parameters
+ */
+export default class Section extends Component {
+ constructor($element, $scope, $translate, $http, $state) {
+ super($element, $scope);
+ Object.assign(this, {
+ $translate,
+ $http,
+ $state,
+ $stateParams: $state.params
+ });
+ }
+
+ /**
+ * Translates an string.
+ *
+ * @param {String} string String to translate
+ * @param {Array} params Translate parameters
+ * @return {String} The translated string
+ */
+ _(string, params) {
+ return this.$translate.instant(string, params, );
+ }
+}
+Section.$inject = ['$element', '$scope', '$translate', '$http', '$state'];
diff --git a/front/core/lib/template.js b/front/core/lib/template.js
index 6be5677dd..ae2f1b188 100644
--- a/front/core/lib/template.js
+++ b/front/core/lib/template.js
@@ -1,13 +1,6 @@
import ngModule from '../module';
export default class Template {
- constructor(vnInterpolate) {
- this.vnInterpolate = vnInterpolate;
- }
- get(template, $attrs, defaults) {
- let scope = Object.assign({}, defaults, $attrs);
- return template && this.vnInterpolate(template)(scope);
- }
getNormalized(template, $attrs, defaults) {
this.normalizeInputAttrs($attrs);
return this.get(template, $attrs, defaults);
@@ -43,6 +36,5 @@ export default class Template {
$attrs.focus = 'vn-focus';
}
}
-Template.$inject = ['vnInterpolate'];
ngModule.service('vnTemplate', Template);
diff --git a/front/core/locale/es.yml b/front/core/locale/es.yml
index 01a17aa48..1fcd12b98 100644
--- a/front/core/locale/es.yml
+++ b/front/core/locale/es.yml
@@ -24,6 +24,9 @@ Value should be %s characters long: El valor debe ser de %s carácteres de longi
Value should have a length between %s and %s: El valor debe tener una longitud de entre %s y %s
Value should have at least %s characters: El valor debe tener al menos %s carácteres
Value should have at most %s characters: El valor debe tener un máximo de %s carácteres
+Enter a new search: Introduce una nueva búsqueda
+No results: Sin resultados
+Ups! It seems there was an error: ¡Vaya! Parece que ha habido un error
General search: Busqueda general
January: Enero
February: Febrero
diff --git a/front/core/styles/index.js b/front/core/styles/index.js
index c3503f3d5..0912fcd20 100644
--- a/front/core/styles/index.js
+++ b/front/core/styles/index.js
@@ -1,4 +1,3 @@
-import './md-override.scss';
import './mdl-override.scss';
import './mdi-override.css';
import './zoom-image.scss';
diff --git a/front/core/styles/md-override.scss b/front/core/styles/md-override.scss
deleted file mode 100644
index ba71a9a77..000000000
--- a/front/core/styles/md-override.scss
+++ /dev/null
@@ -1,11 +0,0 @@
-
-html {
- background-color: initial;
-}
-
-// Disable ng-repeat effects
-
-.ng-enter,
-.ng-leave {
- transition: none !important;
-}
diff --git a/front/core/vendor.js b/front/core/vendor.js
index 44d041ebe..ac4364feb 100644
--- a/front/core/vendor.js
+++ b/front/core/vendor.js
@@ -7,10 +7,6 @@ import 'angular-translate-loader-partial';
import '@uirouter/angularjs';
import 'mg-crud';
import 'oclazyload';
-/*
-import 'angular-material';
-import 'angular-material/modules/scss/angular-material.scss';
-*/
import 'angular-moment';
export const ngDeps = [
@@ -18,7 +14,6 @@ export const ngDeps = [
'ui.router',
'mgCrud',
'oc.lazyLoad',
- // 'ngMaterial',
'angularMoment'
];
diff --git a/front/salix/components/left-menu/left-menu.js b/front/salix/components/left-menu/left-menu.js
index 1df67f6d3..576dcc2df 100644
--- a/front/salix/components/left-menu/left-menu.js
+++ b/front/salix/components/left-menu/left-menu.js
@@ -2,7 +2,9 @@ import ngModule from '../../module';
import './style.scss';
export default class LeftMenu {
- constructor($state, $transitions, aclService) {
+ constructor($state, $transitions, aclService, $timeout, $element) {
+ this.$element = $element;
+ this.$timeout = $timeout;
this.$state = $state;
this.deregisterCallback = $transitions.onSuccess({},
() => this.activateItem());
@@ -89,13 +91,19 @@ export default class LeftMenu {
setActive(item) {
if (item.state) return;
item.active = !item.active;
+
+ this.$timeout(() => {
+ let element = this.$element[0].querySelector('a[class="expanded"]');
+ if (element)
+ element.scrollIntoView();
+ });
}
$onDestroy() {
this.deregisterCallback();
}
}
-LeftMenu.$inject = ['$state', '$transitions', 'aclService'];
+LeftMenu.$inject = ['$state', '$transitions', 'aclService', '$timeout', '$element'];
ngModule.component('vnLeftMenu', {
template: require('./left-menu.html'),
diff --git a/front/salix/components/left-menu/left-menu.spec.js b/front/salix/components/left-menu/left-menu.spec.js
index 73ce5f7de..76a6d10f8 100644
--- a/front/salix/components/left-menu/left-menu.spec.js
+++ b/front/salix/components/left-menu/left-menu.spec.js
@@ -2,16 +2,18 @@ import './left-menu.js';
describe('Component vnLeftMenu', () => {
let controller;
+ let $element;
beforeEach(angular.mock.module('salix', $translateProvider => {
$translateProvider.translations('en', {});
}));
beforeEach(angular.mock.inject(($componentController, $state, $window) => {
+ $element = angular.element('
');
$state.current.name = 'client.card.summary';
$state.current.data = {moduleIndex: 0};
$window.routes = [{menu: []}];
- controller = $componentController('vnLeftMenu', {$state, $window});
+ controller = $componentController('vnLeftMenu', {$state, $window, $element});
controller.items = [
{description: 'Client', state: 'client', icon: null, childs: []},
{description: 'Client', state: 'client.card', icon: null, childs: []},
diff --git a/front/salix/locale/es.yml b/front/salix/locale/es.yml
index 2056210e4..898728363 100644
--- a/front/salix/locale/es.yml
+++ b/front/salix/locale/es.yml
@@ -14,8 +14,6 @@ Push on applications menu: Para abrir un módulo pulsa en el menú de aplicacion
Return to module index: Volver a la página principal del módulo
What is new: Novedades de la versión
Settings: Ajustes
-Enter a new search: Introduce una nueva búsqueda
-No results: Sin resultados
# Actions
diff --git a/front/salix/styles/index.js b/front/salix/styles/index.js
index 969793a32..d4c026f9f 100644
--- a/front/salix/styles/index.js
+++ b/front/salix/styles/index.js
@@ -15,3 +15,4 @@ import './descriptor.scss';
import './list.scss';
import './modal-form.scss';
import './photo-list.scss';
+import './width.scss';
diff --git a/front/salix/styles/list.scss b/front/salix/styles/list.scss
index c483feca1..3a6d0d6d9 100644
--- a/front/salix/styles/list.scss
+++ b/front/salix/styles/list.scss
@@ -1,7 +1,7 @@
@import "./effects";
.vn-list {
- max-width: 36em;
+ max-width: $width-sm;
margin: 0 auto;
a.vn-list-item {
diff --git a/front/salix/styles/misc.scss b/front/salix/styles/misc.scss
index 1eef5af2b..4ecd4fbd6 100644
--- a/front/salix/styles/misc.scss
+++ b/front/salix/styles/misc.scss
@@ -47,7 +47,6 @@ vn-bg-title {
justify-content: center;
align-items: center;
padding: 18px;
- margin-bottom: 10px;
max-width: 12em;
}
.form {
@@ -99,11 +98,6 @@ html [pointer], .pointer{
html [noDrop], .noDrop{
cursor: no-drop;
}
-html [compact], .compact{
- max-width: $width-compact;
- margin-left: auto;
- margin-right: auto;
-}
button {
@extend %clickable;
}
@@ -147,6 +141,12 @@ fieldset[disabled] .mdl-textfield .mdl-textfield__label,
font-size: 0.7em
}
}
+[compact], .compact {
+ margin-left: auto;
+ margin-right: auto;
+ max-width: $width-md;
+}
+
.vn-grid {
border-collapse: collapse;
width: 100%;
diff --git a/front/salix/styles/photo-list.scss b/front/salix/styles/photo-list.scss
index c573d06a2..b4e6ec698 100644
--- a/front/salix/styles/photo-list.scss
+++ b/front/salix/styles/photo-list.scss
@@ -17,6 +17,8 @@
box-shadow: 0 2px 2px 0 rgba(0,0,0,.14),
0 3px 1px -2px rgba(0,0,0,.2),
0 1px 5px 0 rgba(0,0,0,.12);
+ background: no-repeat center center fixed;
+ background-size: cover !important;
overflow: hidden;
cursor: zoom-in;
height: 100%;
diff --git a/front/salix/styles/responsive.scss b/front/salix/styles/responsive.scss
index fc47180ba..9cc58dd12 100644
--- a/front/salix/styles/responsive.scss
+++ b/front/salix/styles/responsive.scss
@@ -1,3 +1,4 @@
+@import "variables";
/* Desktop - Laptop 1360x768 */
@media (max-resolution: 119dpi) and (min-device-width: 1340px) and (max-device-width: 1899px)
@@ -46,3 +47,9 @@
{
body { font-size: 11pt; }
}
+
+.vn-hide-narrow {
+ @media (max-width: $mobile-width) {
+ display: none;
+ }
+}
diff --git a/front/salix/styles/variables.scss b/front/salix/styles/variables.scss
index 5eccf0418..5b96973f2 100644
--- a/front/salix/styles/variables.scss
+++ b/front/salix/styles/variables.scss
@@ -2,12 +2,15 @@
$menu-width: 16em;
$topbar-height: 4em;
$mobile-width: 800px;
+$input-font-size: 16px;
// Width
-$width-small: 36em;
-$width-compact: 60em;
-$width-large: 80em;
+$width-xs: 25em;
+$width-sm: 34em;
+$width-md: 50em;
+$width-lg: 80em;
+$width-xl: 100em;
// Padding
@@ -29,7 +32,8 @@ $margin-huge: 100px;
$color-header: #3d3d3d;
$color-bg: #e5e5e5;
$color-bg-dark: #3d3d3d;
-$color-font: #222222;
+$color-font: #222;
+$color-font-light: #555;
$color-font-secondary: #9b9b9b;
$color-font-dark: white;
$color-font-bg: rgba(0, 0, 0, .7);
@@ -46,8 +50,9 @@ $color-alert: #f42121;
$color-spacer: rgba(0, 0, 0, .3);
$color-spacer-light: rgba(0, 0, 0, .12);
$color-input-underline: rgba(0, 0, 0, .12);
+$color-input-underline-hover: rgba(0, 0, 0, .6);
$color-shadow: rgba(0, 0, 0, .2);
-$color-hightlight: rgba(0, 0, 0, .15);
+$color-hightlight: rgba(0, 0, 0, .05);
$color-hover-cd: rgba(0, 0, 0, .1);
$color-hover-dc: .7;
$color-disabled: .6;
@@ -70,6 +75,7 @@ $color-header: #3d3d3d;
$color-bg: #222;
$color-bg-dark: #222;
$color-font: white;
+$color-font-light: #aaa;
$color-font-secondary: #777;
$color-font-dark: white;
$color-font-bg: rgba(0, 0, 0, .8);
@@ -82,6 +88,7 @@ $color-secondary: #ccc;
$color-success: #a3d131;
$color-notice: #32b1ce;
$color-alert: #f42121;
+
$color-spacer: rgba(255, 255, 255, .3);
$color-spacer-light: rgba(255, 255, 255, .12);
$color-input-underline: rgba(255, 255, 255, .12);
@@ -104,5 +111,5 @@ $color-alert-light: darken($color-alert, 35%);
// Border
-$border-thin: .1em solid $color-spacer;
-$border-thin-light: .1em solid $color-spacer-light;
+$border-thin: .05em solid $color-spacer;
+$border-thin-light: .05em solid $color-spacer-light;
diff --git a/front/salix/styles/width.scss b/front/salix/styles/width.scss
new file mode 100644
index 000000000..e017de3ea
--- /dev/null
+++ b/front/salix/styles/width.scss
@@ -0,0 +1,26 @@
+@import "./variables";
+
+%margin-auto {
+ margin-left: auto;
+ margin-right: auto;
+}
+.vn-w-xs {
+ @extend %margin-auto;
+ max-width: $width-xs;
+}
+.vn-w-sm {
+ @extend %margin-auto;
+ max-width: $width-sm;
+}
+.vn-w-md {
+ @extend %margin-auto;
+ max-width: $width-md;
+}
+.vn-w-lg {
+ @extend %margin-auto;
+ max-width: $width-lg;
+}
+.vn-w-xl {
+ @extend %margin-auto;
+ max-width: $width-xl;
+}
diff --git a/modules/agency/front/basic-data/index.html b/modules/agency/front/basic-data/index.html
index 8749494e1..8e3067877 100644
--- a/modules/agency/front/basic-data/index.html
+++ b/modules/agency/front/basic-data/index.html
@@ -5,7 +5,10 @@
form="form"
save="patch">
-
diff --git a/modules/agency/front/calendar/index.html b/modules/agency/front/calendar/index.html
index 9172ec4a3..6cf521065 100644
--- a/modules/agency/front/calendar/index.html
+++ b/modules/agency/front/calendar/index.html
@@ -3,6 +3,7 @@
skip="2"
has-events="$ctrl.hasEvents($day)"
get-class="$ctrl.getClass($day)"
+ on-selection="$ctrl.onSelection($days, $type, $weekday)"
on-move-next="ndMonth.moveNext(2)"
on-move-previous="ndMonth.movePrevious(2)"
vn-acl="deliveryBoss"
@@ -13,6 +14,7 @@
skip="2"
has-events="$ctrl.hasEvents($day)"
get-class="$ctrl.getClass($day)"
+ on-selection="$ctrl.onSelection($days, $type, $weekday)"
default-date="$ctrl.ndMonthDate"
vn-acl="deliveryBoss"
display-controls="false"
diff --git a/modules/agency/front/calendar/index.js b/modules/agency/front/calendar/index.js
index 5b99264c7..74588d9ef 100644
--- a/modules/agency/front/calendar/index.js
+++ b/modules/agency/front/calendar/index.js
@@ -1,12 +1,10 @@
import ngModule from '../module';
+import Section from 'core/lib/section';
import './style.scss';
-class Controller {
- constructor($, $stateParams) {
- Object.assign(this, {
- $,
- $stateParams
- });
+class Controller extends Section {
+ constructor($el, $, $t, $http, $state) {
+ super($el, $, $t, $http, $state);
this.excls = {};
this.resetEvents();
@@ -14,6 +12,10 @@ class Controller {
this.ndMonthDate.setMonth(this.ndMonthDate.getMonth() + 1);
}
+ onSelection($days, $type, $weekday) {
+ this.emit('selection', {$days, $type, $weekday});
+ }
+
resetEvents() {
this.wdays = [];
this.days = {};
@@ -96,8 +98,6 @@ class Controller {
}
}
-Controller.$inject = ['$scope', '$stateParams'];
-
ngModule.component('vnZoneCalendar', {
template: require('./index.html'),
controller: Controller,
diff --git a/modules/agency/front/card/index.html b/modules/agency/front/card/index.html
index 1a1763916..1fd22809a 100644
--- a/modules/agency/front/card/index.html
+++ b/modules/agency/front/card/index.html
@@ -2,4 +2,4 @@
-
+
diff --git a/modules/agency/front/events/index.html b/modules/agency/front/events/index.html
index fa114b9bc..b54ee8f0b 100644
--- a/modules/agency/front/events/index.html
+++ b/modules/agency/front/events/index.html
@@ -1,6 +1,10 @@
-
-
-
-
-
- No records found
-
+
+ exclusions="exclusions"
+ on-selection="$ctrl.onCreate($days, $type, $weekday)">
-
-
-
+
+ label="Indefinitely"
+ val="indefinitely">
+ label="Range of dates"
+ val="range">
this.$.exclusions = res.data);
- this.path = `/api/Zones/${$stateParams.id}/events`;
+ this.path = `/api/Zones/${this.$stateParams.id}/events`;
this.refresh();
}
@@ -62,7 +59,7 @@ class Controller {
return abrWdays.length < 7
? abrWdays.join(', ')
- : this._.instant('Everyday');
+ : this._('Everyday');
}
onEdit(row, event) {
@@ -89,10 +86,19 @@ class Controller {
this.$.dialog.show();
}
- onCreate() {
+ onCreate($day, $type, $weekday) {
this.isNew = true;
- this.eventType = 'day';
- this.selected = {};
+ this.eventType = $type == 'day' ? 'day' : 'indefinitely';
+
+ if ($type == 'weekday') {
+ let wdays = [];
+ let index = $weekday - 1;
+ if (index < 0) index = 7 - index;
+ wdays[this.wdays[index].code] = true;
+ this.selected = {wdays};
+ } else
+ this.selected = {from: $day[0]};
+
this.$.dialog.show();
}
@@ -153,7 +159,6 @@ class Controller {
});
}
}
-Controller.$inject = ['$scope', '$translate', '$http', '$stateParams'];
ngModule.component('vnZoneEvents', {
template: require('./index.html'),
diff --git a/modules/agency/front/exclusions/index.html b/modules/agency/front/exclusions/index.html
index 47d2cba4c..57418e71e 100644
--- a/modules/agency/front/exclusions/index.html
+++ b/modules/agency/front/exclusions/index.html
@@ -1,50 +1,33 @@
-
-
-
+
+
+
+
+
{{::row.day | dateTime:'dd/MM/yyyy'}}
+ ng-click="$ctrl.onDelete(row.id)">
-
-
-
-
-
-
-
- No records found
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
this.$.events = res.data);
+
+ this.path = `/api/Zones/${this.$stateParams.id}/exclusions`;
this.refresh();
}
@@ -16,43 +17,26 @@ class Controller {
.then(res => this.$.data = res.data);
}
- onCreate() {
- this.isNew = true;
- this.selected = {};
- this.$.dialog.show();
+ onCreate($days) {
+ this.$http.post(this.path, {day: $days[0]})
+ .then(() => this.refresh());
}
- onSave(response) {
- if (response != 'ACCEPT') return;
-
- this.$http.post(this.path, this.selected)
- .then(() => {
- this.selected = null;
- this.isNew = null;
- this.$.dialog.hide();
- this.refresh();
- });
-
- return false;
- }
-
- onDelete(index) {
+ onDelete(id) {
this.$.confirm.show();
- this.deleteIndex = index;
+ this.deleteId = id;
}
delete(response) {
if (response != 'ACCEPT') return;
- let id = this.$.data[this.deleteIndex].id;
- if (!id) return;
- this.$http.delete(`${this.path}/${id}`)
+ if (!this.deleteId) return;
+ this.$http.delete(`${this.path}/${this.deleteId}`)
.then(() => {
- this.$.data.splice(this.deleteIndex, 1);
- this.deleteIndex = null;
+ this.refresh();
+ this.deleteId = null;
});
}
}
-Controller.$inject = ['$scope', '$http', '$stateParams'];
ngModule.component('vnZoneExclusions', {
template: require('./index.html'),
diff --git a/modules/agency/front/index/index.html b/modules/agency/front/index/index.html
index 079200b33..67a8fffcf 100644
--- a/modules/agency/front/index/index.html
+++ b/modules/agency/front/index/index.html
@@ -4,21 +4,24 @@
filter="::$ctrl.filter"
limit="20"
data="zones"
- auto-load="false">
+ auto-load="true">
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
@@ -59,8 +62,8 @@
-
-
+
+
-
+
{
const data = this.$.model.data;
@@ -49,8 +45,6 @@ class Controller {
}
}
-Controller.$inject = ['$scope', '$http', '$stateParams'];
-
ngModule.component('vnZoneLocation', {
template: require('./index.html'),
controller: Controller,
diff --git a/modules/agency/front/location/style.scss b/modules/agency/front/location/style.scss
new file mode 100644
index 000000000..a3b237b13
--- /dev/null
+++ b/modules/agency/front/location/style.scss
@@ -0,0 +1,14 @@
+@import "variables";
+
+vn-treeview-content {
+ & > vn-check:not(.indeterminate) {
+ color: $color-main;
+
+ & > .btn {
+ border-color: $color-main;
+ }
+ }
+ & > vn-check.checked {
+ color: $color-main;
+ }
+}
\ No newline at end of file
diff --git a/modules/agency/front/warehouses/index.html b/modules/agency/front/warehouses/index.html
index 71baa9b3c..d40e1139c 100644
--- a/modules/agency/front/warehouses/index.html
+++ b/modules/agency/front/warehouses/index.html
@@ -1,6 +1,8 @@
-
+
+
@@ -15,13 +17,8 @@
-
-
-
-
-
- No records found
-
+
+
-
+
+
+
+ Drag & Drop files here...
+
+
+
+ order="claimStateFk ASC, created DESC"
+ auto-load="true">
-
-
-
-
-
-
-
+
+
+
+
+
+
@@ -62,10 +65,12 @@
-
-
+
+
-
+
+
diff --git a/modules/client/back/models/client.js b/modules/client/back/models/client.js
index 2522e1413..58aac9ccd 100644
--- a/modules/client/back/models/client.js
+++ b/modules/client/back/models/client.js
@@ -168,7 +168,7 @@ module.exports = Self => {
}
function isAlpha(value) {
- const regexp = new RegExp(/^[ñça-zA-Z0-9\s]*$/);
+ const regexp = new RegExp(/^[ñça-zA-Z0-9\s]*$/i);
return regexp.test(value);
}
diff --git a/modules/client/front/address/index/index.html b/modules/client/front/address/index/index.html
index 2a601ade1..4c0527136 100644
--- a/modules/client/front/address/index/index.html
+++ b/modules/client/front/address/index/index.html
@@ -6,75 +6,70 @@
data="$ctrl.addresses"
auto-load="true">
-
+
+
+
+
diff --git a/modules/client/front/address/index/index.js b/modules/client/front/address/index/index.js
index 96859a0c0..8dc9b4394 100644
--- a/modules/client/front/address/index/index.js
+++ b/modules/client/front/address/index/index.js
@@ -56,8 +56,7 @@ class Controller {
}
isDefaultAddress(address) {
- if (this.client)
- return this.client.defaultAddressFk === address.id;
+ return this.client && this.client.defaultAddressFk === address.id;
}
/**
diff --git a/modules/client/front/balance/index/index.html b/modules/client/front/balance/index/index.html
index 045eb1f80..55ad2f615 100644
--- a/modules/client/front/balance/index/index.html
+++ b/modules/client/front/balance/index/index.html
@@ -3,7 +3,8 @@
url="/client/api/receipts/filter"
params="$ctrl.params"
limit="20"
- data="$ctrl.balances">
+ data="$ctrl.balances"
+ auto-load="true">
-
-
-
+
+
+
+ label="Company">
@@ -38,68 +40,68 @@
-
-
-
-
- Date
- Creation date
- Employee
- Reference
- Bank
- Debit
- Havings
- Balance
- Conciliated
-
-
-
-
-
- {{::balance.payed | dateTime:'dd/MM/yyyy'}}
- {{::balance.created | dateTime:'dd/MM/yyyy HH:mm'}}
-
-
- {{::balance.userNickname}}
-
-
-
- {{balance.isInvoice ? 'BILL' : balance.ref | translate: {ref: balance.ref} }}
-
-
- {{::balance.bankFk}}
- {{::balance.debit | currency: 'EUR':2}}
- {{::balance.credit | currency: 'EUR':2}}
- {{balance.balance | currency: 'EUR':2}}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+ Date
+ Creation date
+ Employee
+ Reference
+ Bank
+ Debit
+ Havings
+ Balance
+ Conciliated
+
+
+
+
+
+ {{::balance.payed | dateTime:'dd/MM/yyyy'}}
+ {{::balance.created | dateTime:'dd/MM/yyyy HH:mm'}}
+
+
+ {{::balance.userNickname}}
+
+
+
+ {{balance.isInvoice ? 'BILL' : balance.ref | translate: {ref: balance.ref} }}
+
+
+ {{::balance.bankFk}}
+ {{::balance.debit | currency: 'EUR':2}}
+ {{::balance.credit | currency: 'EUR':2}}
+ {{balance.balance | currency: 'EUR':2}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
-
-
diff --git a/modules/client/front/credit-insurance/index/index.html b/modules/client/front/credit-insurance/index/index.html
index 37840d0b9..dc7f546aa 100644
--- a/modules/client/front/credit-insurance/index/index.html
+++ b/modules/client/front/credit-insurance/index/index.html
@@ -1,67 +1,64 @@
-
-
-
-
-
-
-
-
-
-
- Since {{::classification.started | dateTime:'dd/MM/yyyy'}}
- To {{classification.finished | dateTime:'dd/MM/yyyy'}}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- No results
-
-
+
+
+
+
+
+
+
+
+
+
+ Since {{::classification.started | dateTime:'dd/MM/yyyy'}}
+ To {{classification.finished | dateTime:'dd/MM/yyyy'}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
+
+
+
+ data="credits"
+ order="created DESC"
+ auto-load="true">
-
-
-
-
-
-
- Credit
- Since
- Employee
-
-
-
-
- {{::credit.amount | number:2}} €
- {{::credit.created | dateTime:'dd/MM/yyyy HH:mm'}}
- {{::credit.worker.user.nickname}}
-
-
-
-
-
+
+
+
+
+
+ Since
+ Employee
+ Credit
+
+
+
+
+ {{::credit.created | dateTime:'dd/MM/yyyy HH:mm'}}
+ {{::credit.worker.user.nickname}}
+ {{::credit.amount | currency:'EUR':2}}
+
+
+
-
-
-
+
+ vn-bind="+"
+ fixed-bottom-right>
diff --git a/modules/client/front/credit/index/locale/es.yml b/modules/client/front/credit/index/locale/es.yml
index b4b5940cf..a15a1085f 100644
--- a/modules/client/front/credit/index/locale/es.yml
+++ b/modules/client/front/credit/index/locale/es.yml
@@ -1,3 +1,2 @@
Since : Desde
-Employee : Empleado
-No results: Sin resultados
\ No newline at end of file
+Employee : Empleado
\ No newline at end of file
diff --git a/modules/client/front/dms/index/index.html b/modules/client/front/dms/index/index.html
index c147a74e0..aaeac7b64 100644
--- a/modules/client/front/dms/index/index.html
+++ b/modules/client/front/dms/index/index.html
@@ -4,101 +4,102 @@
link="{clientFk: $ctrl.$stateParams.id}"
filter="::$ctrl.filter"
limit="20"
- data="$ctrl.clientDms">
+ data="$ctrl.clientDms"
+ order="dmsFk DESC"
+ auto-load="true">
-
-
-
-
-
-
- Id
- Type
- Order
- Reference
- Description
- Original
- File
- Employee
- Created
-
-
-
-
-
-
-
- {{::document.dmsFk}}
-
-
- {{::document.dms.dmsType.name}}
-
-
-
-
- {{::document.dms.hardCopyNumber}}
-
-
-
-
- {{::document.dms.reference}}
-
-
-
-
- {{::document.dms.description}}
-
-
-
-
-
-
-
- {{::document.dms.file}}
-
-
-
-
- {{::document.dms.worker.user.nickname | dashIfEmpty}}
-
-
- {{::document.dms.created | dateTime:'dd/MM/yyyy HH:mm'}}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+ Id
+ Type
+ Order
+ Reference
+ Description
+ Original
+ File
+ Employee
+ Created
+
+
+
+
+
+
+
+ {{::document.dmsFk}}
+
+
+ {{::document.dms.dmsType.name}}
+
+
+
+
+ {{::document.dms.hardCopyNumber}}
+
+
+
+
+ {{::document.dms.reference}}
+
+
+
+
+ {{::document.dms.description}}
+
+
+
+
+
+
+
+ {{::document.dms.file}}
+
+
+
+
+ {{::document.dms.worker.user.nickname | dashIfEmpty}}
+
+
+ {{::document.dms.created | dateTime:'dd/MM/yyyy HH:mm'}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
diff --git a/modules/client/front/greuge/index/index.html b/modules/client/front/greuge/index/index.html
index 537e67602..9ce76491c 100644
--- a/modules/client/front/greuge/index/index.html
+++ b/modules/client/front/greuge/index/index.html
@@ -4,49 +4,54 @@
filter="::$ctrl.filter"
link="{clientFk: $ctrl.$stateParams.id}"
limit="20"
- data="greuges" auto-load="true">
+ data="greuges"
+ auto-load="true">
-
-
-
-
-
-
-
-
+
+
+
+
+
+
Date
Comment
- Amount
Type
+ Amount
{{::greuge.shipped | dateTime:'dd/MM/yyyy HH:mm' }}
{{::greuge.description}}
- {{::greuge.amount | currency: 'EUR': 2}}
{{::greuge.greugeType.name}}
+ {{::greuge.amount | currency: 'EUR': 2}}
-
-
-
-
+
+ vn-bind="+"
+ fixed-bottom-right>
diff --git a/modules/client/front/index/index.html b/modules/client/front/index/index.html
index 8321f99d1..ec09a936d 100644
--- a/modules/client/front/index/index.html
+++ b/modules/client/front/index/index.html
@@ -3,73 +3,74 @@
url="/item/api/Clients"
order="id DESC"
limit="8"
- data="clients"
- auto-load="false">
+ data="clients">
-
-
-
+
-
+
+
\ No newline at end of file
diff --git a/modules/client/front/mandate/index.html b/modules/client/front/mandate/index.html
index ad6345dd9..c5bfb058a 100644
--- a/modules/client/front/mandate/index.html
+++ b/modules/client/front/mandate/index.html
@@ -4,32 +4,33 @@
filter="::$ctrl.filter"
link="{clientFk: $ctrl.$stateParams.id}"
limit="20"
- data="mandates" auto-load="false">
+ data="mandates"
+ order="created DESC"
+ auto-load="true">
-
-
-
-
-
-
- Id
- Company
- Type
- Register date
- End date
-
-
-
-
- {{::mandate.id}}
- {{::mandate.company.code}}
- {{::mandate.mandateType.name}}
- {{::mandate.created | dateTime:'dd/MM/yyyy HH:mm' }}
- {{::mandate.finished | dateTime:'dd/MM/yyyy HH:mm' || '-'}}
-
-
-
-
-
+
+
+
+
+
+ Id
+ Company
+ Type
+ Register date
+ End date
+
+
+
+
+ {{::mandate.id}}
+ {{::mandate.company.code}}
+ {{::mandate.mandateType.name}}
+ {{::mandate.created | dateTime:'dd/MM/yyyy HH:mm' }}
+ {{::mandate.finished | dateTime:'dd/MM/yyyy HH:mm' || '-'}}
+
+
+
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/modules/client/front/mandate/index.js b/modules/client/front/mandate/index.js
index a406fcab3..607bb335b 100644
--- a/modules/client/front/mandate/index.js
+++ b/modules/client/front/mandate/index.js
@@ -6,15 +6,14 @@ class Controller {
this.filter = {
include: [
{
- relation: "mandateType",
+ relation: 'mandateType',
scope: {
- fields: ["id", "name"]
+ fields: ['id', 'name']
}
- },
- {
- relation: "company",
+ }, {
+ relation: 'company',
scope: {
- fields: ["id", "code"]
+ fields: ['id', 'code']
}
}
]
diff --git a/modules/client/front/note/index/index.html b/modules/client/front/note/index/index.html
index 179a0d9a7..a653ef9da 100644
--- a/modules/client/front/note/index/index.html
+++ b/modules/client/front/note/index/index.html
@@ -6,9 +6,11 @@
data="notes"
auto-load="true">
-
-
-
+
+
{{::note.text}}
-
-
-
- No results
-
-
+
-
-
+
+ data="recoveries"
+ order="started DESC"
+ auto-load="true">
-
-
-
-
-
-
-
- Since
- To
- Amount
- Period
-
-
-
-
-
-
-
-
- {{::recovery.started | dateTime:'dd/MM/yyyy' }}
- {{recovery.finished | dateTime:'dd/MM/yyyy' }}
- {{::recovery.amount | currency: 'EUR': 0}}
- {{::recovery.period}}
-
-
-
-
-
+
+
+
+
+
+
+ Since
+ To
+ Amount
+ Period
+
+
+
+
+
+
+
+
+ {{::recovery.started | dateTime:'dd/MM/yyyy' }}
+ {{recovery.finished | dateTime:'dd/MM/yyyy' }}
+ {{::recovery.amount | currency: 'EUR': 0}}
+ {{::recovery.period}}
+
+
+
-
-
-
+
-
\ No newline at end of file
+
diff --git a/modules/client/front/recovery/index/locale/es.yml b/modules/client/front/recovery/index/locale/es.yml
index 5b21429f4..0cb5b3ed6 100644
--- a/modules/client/front/recovery/index/locale/es.yml
+++ b/modules/client/front/recovery/index/locale/es.yml
@@ -1,5 +1,4 @@
Since: Desde
Employee: Empleado
-No results: Sin resultados
To: Hasta
Finish that recovery period: Terminar el recobro
\ No newline at end of file
diff --git a/modules/client/front/sample/index/index.html b/modules/client/front/sample/index/index.html
index 48543d135..2d7f63ba7 100644
--- a/modules/client/front/sample/index/index.html
+++ b/modules/client/front/sample/index/index.html
@@ -4,49 +4,51 @@
filter="::$ctrl.filter"
link="{clientFk: $ctrl.$stateParams.id}"
limit="20"
- data="samples" auto-load="false">
+ data="samples"
+ order="created DESC"
+ auto-load="true">
-
-
-
-
-
-
-
-
- Sent
- Description
- Worker
- Company
-
-
-
-
- {{::sample.created | dateTime:'dd/MM/yyyy HH:mm' }}
-
- {{::sample.type.description}}
-
-
-
- {{::sample.worker.user.nickname}}
-
-
- {{::sample.company.code}}
-
-
-
-
-
+
+
+
+
+
+ Sent
+ Description
+ Worker
+ Company
+
+
+
+
+ {{::sample.created | dateTime:'dd/MM/yyyy HH:mm' }}
+
+ {{::sample.type.description}}
+
+
+
+ {{::sample.worker.user.nickname}}
+
+
+ {{::sample.company.code}}
+
+
+
-
+
-
+
\ No newline at end of file
diff --git a/modules/client/front/summary/locale/es.yml b/modules/client/front/summary/locale/es.yml
index a21be4523..24068e4ad 100644
--- a/modules/client/front/summary/locale/es.yml
+++ b/modules/client/front/summary/locale/es.yml
@@ -1,4 +1,4 @@
-Default address: Consignatario pred.
+Default address: Consignatario predeterminado
Total greuge: Greuge total
Financial information: Datos financieros
Mana: Maná
diff --git a/modules/client/front/web-payment/index.html b/modules/client/front/web-payment/index.html
index e9c45dc53..326945c21 100644
--- a/modules/client/front/web-payment/index.html
+++ b/modules/client/front/web-payment/index.html
@@ -3,52 +3,53 @@
url="/client/api/clients/getTransactions"
link="{clientFk: $ctrl.$stateParams.id}"
limit="20"
- data="transactions" auto-load="false">
+ data="transactions"
+ order="created DESC"
+ auto-load="true">
-
-
-
-
-
-
- State
- Id
- Amount
- Payed
- Confirm
-
-
-
-
-
-
-
-
-
-
- {{::transaction.id}}
- {{::transaction.amount | currency: 'EUR':2}}
- {{::transaction.created | dateTime:'dd/MM/yyyy HH:mm'}}
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+ State
+ Id
+ Date
+ Amount
+
+
+
+
+
+
+
+
+
+
+
+ {{::transaction.id}}
+ {{::transaction.created | dateTime:'dd/MM/yyyy HH:mm'}}
+ {{::transaction.amount | currency: 'EUR':2}}
+
+
+
+
+
+
+
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/modules/client/front/web-payment/locale/es.yml b/modules/client/front/web-payment/locale/es.yml
index 099ca359c..8e988857c 100644
--- a/modules/client/front/web-payment/locale/es.yml
+++ b/modules/client/front/web-payment/locale/es.yml
@@ -1,6 +1,5 @@
Web Payment: Pago Web
Confirmed: Confirmado
-Payed: Pagado
Confirm transaction: Confirmar transacción
Confirm: Confirmar
State: Estado
\ No newline at end of file
diff --git a/modules/invoiceOut/front/index/index.html b/modules/invoiceOut/front/index/index.html
index 744b52fad..ef7bd988f 100644
--- a/modules/invoiceOut/front/index/index.html
+++ b/modules/invoiceOut/front/index/index.html
@@ -7,7 +7,7 @@
-
+
-
-
+
+
+
Reference
@@ -67,15 +71,19 @@
-
-
+
+
-
+
+
-
+
+
\ No newline at end of file
diff --git a/modules/invoiceOut/front/summary/style.scss b/modules/invoiceOut/front/summary/style.scss
index f2cf53381..dcad44362 100644
--- a/modules/invoiceOut/front/summary/style.scss
+++ b/modules/invoiceOut/front/summary/style.scss
@@ -2,7 +2,7 @@
vn-invoice-out-summary .summary {
- max-width: $width-large;
+ max-width: $width-lg;
vn-icon[icon=insert_drive_file]{
color: $color-font-secondary;
diff --git a/modules/item/back/methods/item/filter.js b/modules/item/back/methods/item/filter.js
index 4e390227b..ad7edfa8c 100644
--- a/modules/item/back/methods/item/filter.js
+++ b/modules/item/back/methods/item/filter.js
@@ -62,13 +62,26 @@ module.exports = Self => {
Self.filter = async(ctx, filter) => {
let conn = Self.dataSource.connector;
+ let codeWhere;
+
+ if (ctx.args.search) {
+ let items = await Self.app.models.ItemBarcode.find({
+ where: {code: ctx.args.search},
+ fields: ['itemFk']
+ });
+ let itemIds = [];
+ for (const item of items)
+ itemIds.push(item.itemFk);
+
+ codeWhere = {'i.id': {inq: itemIds}};
+ }
let where = buildFilter(ctx.args, (param, value) => {
switch (param) {
case 'search':
return /^\d+$/.test(value)
- ? {or: [{'i.id': value}, {'ib.code': value}]}
- : {or: [{'i.name': {like: `%${value}%`}}, {'ib.code': value}]};
+ ? {or: [{'i.id': value}, codeWhere]}
+ : {or: [{'i.name': {like: `%${value}%`}}, codeWhere]};
case 'id':
return {'i.id': value};
case 'description':
@@ -83,8 +96,8 @@ module.exports = Self => {
return {'i.isActive': value};
}
});
-
filter = mergeFilters(filter, {where});
+
let stmts = [];
let stmt;
@@ -123,8 +136,7 @@ module.exports = Self => {
LEFT JOIN origin ori ON ori.id = i.originFk
LEFT JOIN cache.last_buy lb ON lb.item_id = i.id AND lb.warehouse_id = t.warehouseFk
LEFT JOIN vn.buy b ON b.id = lb.buy_id
- LEFT JOIN itemPlacement itn ON itn.itemFk = i.id AND itn.warehouseFk = t.warehouseFk
- LEFT JOIN itemBarcode ib ON ib.itemFk = i.id`
+ LEFT JOIN itemPlacement itn ON itn.itemFk = i.id AND itn.warehouseFk = t.warehouseFk`
);
if (ctx.args.tags) {
@@ -150,7 +162,6 @@ module.exports = Self => {
}
stmt.merge(conn.makeWhere(filter.where));
- stmt.merge(`GROUP BY i.id`);
stmt.merge(conn.makePagination(filter));
let itemsIndex = stmts.push(stmt) - 1;
diff --git a/modules/item/front/index/index.html b/modules/item/front/index/index.html
index 40d816bb5..d692d61f6 100644
--- a/modules/item/front/index/index.html
+++ b/modules/item/front/index/index.html
@@ -3,35 +3,39 @@
url="/item/api/Items/filter"
limit="12"
order="isActive DESC, name, id"
- data="items"
- auto-load="false">
+ data="items">
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
@@ -124,8 +128,8 @@
-
-
+
+
diff --git a/modules/item/front/locale/es.yml b/modules/item/front/locale/es.yml
index c922656c4..c071d2c69 100644
--- a/modules/item/front/locale/es.yml
+++ b/modules/item/front/locale/es.yml
@@ -33,8 +33,6 @@ Remove niche: Quitar nicho
Add barcode: Añadir código de barras
Remove barcode: Quitar código de barras
Buyer: Comprador
-No results: Sin resultados
-Enter a new search: Introduce una nueva búsqueda
Tag: Etiqueta
Worker: Trabajador
Available: Disponible
diff --git a/modules/order/front/catalog/index.js b/modules/order/front/catalog/index.js
index a5d7ee968..758c56f0e 100644
--- a/modules/order/front/catalog/index.js
+++ b/modules/order/front/catalog/index.js
@@ -131,7 +131,7 @@ class Controller {
}
get isRefreshing() {
- return this.$scope.model && this.$scope.model.isRefreshing;
+ return this.$scope.model && this.$scope.model.status == 'loading';
}
}
diff --git a/modules/order/front/index/index.html b/modules/order/front/index/index.html
index 62094941e..a22e7501a 100644
--- a/modules/order/front/index/index.html
+++ b/modules/order/front/index/index.html
@@ -3,24 +3,23 @@
url="/api/Orders/filter"
limit="20"
data="orders"
- order="landed DESC, clientFk"
- auto-load="false">
+ order="landed DESC, clientFk">
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
Id
@@ -71,8 +70,8 @@
-
-
+
+
diff --git a/modules/order/front/locale/es.yml b/modules/order/front/locale/es.yml
index 943606a47..0ada37bfd 100644
--- a/modules/order/front/locale/es.yml
+++ b/modules/order/front/locale/es.yml
@@ -3,8 +3,6 @@ Catalog: Catálogo
from: desde
results: resultados
More than: Más de
-No results: Sin resultados
-Enter a new search: Introduce una nueva búsqueda
Plant: Planta
Flower: Flor
Handmade: Confección
diff --git a/modules/order/front/summary/style.scss b/modules/order/front/summary/style.scss
index bc8017a0c..c225b4b49 100644
--- a/modules/order/front/summary/style.scss
+++ b/modules/order/front/summary/style.scss
@@ -1,7 +1,8 @@
@import "./variables";
vn-order-summary .summary{
- max-width: $width-large;
+ max-width: $width-lg;
+
& > div > vn-horizontal > vn-one {
min-width: 10em !important;
diff --git a/modules/route/front/index/index.html b/modules/route/front/index/index.html
index 969c5f380..3cb4e13eb 100644
--- a/modules/route/front/index/index.html
+++ b/modules/route/front/index/index.html
@@ -3,32 +3,36 @@
url="/api/Routes/filter"
limit="20"
data="routes"
- order="created DESC">
+ order="created DESC"
+ auto-load="true">
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
- id
+ Id
Worker
Agency
Vehicle
Date
m³
Description
-
+
@@ -58,21 +62,26 @@
-
-
+
+
-
+
+
-
+
\ No newline at end of file
diff --git a/modules/route/front/index/style.scss b/modules/route/front/index/style.scss
index bbf7d6fa8..d8c24a482 100644
--- a/modules/route/front/index/style.scss
+++ b/modules/route/front/index/style.scss
@@ -1,5 +1,5 @@
@import "./variables";
vn-route-index .index {
- max-width: $width-large;
+ max-width: $width-lg;
}
\ No newline at end of file
diff --git a/modules/route/front/summary/style.scss b/modules/route/front/summary/style.scss
index aef44fbf9..b41512f32 100644
--- a/modules/route/front/summary/style.scss
+++ b/modules/route/front/summary/style.scss
@@ -2,7 +2,7 @@
vn-route-summary .summary {
- max-width: $width-large;
+ max-width: $width-lg;
vn-icon[icon=insert_drive_file]{
color: $color-font-secondary;
diff --git a/modules/route/front/tickets/style.scss b/modules/route/front/tickets/style.scss
index 55a57fd24..2c287ed9d 100644
--- a/modules/route/front/tickets/style.scss
+++ b/modules/route/front/tickets/style.scss
@@ -2,5 +2,5 @@
vn-route-tickets form{
margin: 0 auto;
- max-width: $width-large;
+ max-width: $width-lg;
}
\ No newline at end of file
diff --git a/modules/ticket/back/methods/ticket/specs/transferSales.spec.js b/modules/ticket/back/methods/ticket/specs/transferSales.spec.js
index 8894c92d8..75823f00a 100644
--- a/modules/ticket/back/methods/ticket/specs/transferSales.spec.js
+++ b/modules/ticket/back/methods/ticket/specs/transferSales.spec.js
@@ -135,44 +135,45 @@ describe('sale transferSales()', () => {
expect(error).toBeDefined();
});
- xit('should partially transfer the sales from one ticket to a new one', async() => {
+ it('should transfer two sales to a new ticket but one shall be partial', async() => {
const ctx = {req: {accessToken: {userId: 101}}};
- let currentTicket = await app.models.Ticket.findById(11);
- let currentTicketSales = [];
- let saleToRestore = await app.models.Sale.findById(7);
- currentTicketSales.push(saleToRestore);
-
- expect(currentTicketSales[0].quantity).toEqual(15);
-
- const currentTicketId = currentTicket.id;
+ const originalTicketId = 11;
const receiverTicketId = undefined;
- const originalQuantity = currentTicketSales[0].quantity;
+ let currentTicketSales = await app.models.Ticket.getSales(originalTicketId);
+
+ const originalPartialSaleId = currentTicketSales[0].id;
+ const originalCompleteSaleId = currentTicketSales[1].id;
+ let originalQuantity = currentTicketSales[0].quantity;
currentTicketSales[0].quantity = 1;
- let salesToPartiallyTransfer = [currentTicketSales[0]];
- const saleIdToRestore = currentTicketSales[0].id;
let createdTicket = await app.models.Ticket.transferSales(
- ctx, currentTicketId, receiverTicketId, salesToPartiallyTransfer);
+ ctx, originalTicketId, receiverTicketId, currentTicketSales);
createdTicketId = createdTicket.id;
createdTicketsIds.push(createdTicket.id);
- currentTicketSales = await app.models.Ticket.getSales(currentTicket.id);
- receiverTicketSales = await app.models.Ticket.getSales(createdTicket.id);
+ currentTicketSales = await app.models.Ticket.getSales(originalTicketId);
+ receiverTicketSales = await app.models.Ticket.getSales(createdTicketId);
+
+ const [createdPartialSale] = receiverTicketSales.filter(sale => {
+ return sale.id != originalCompleteSaleId;
+ });
+
+ expect(currentTicketSales.length).toEqual(1);
+ expect(currentTicketSales[0].quantity).toEqual(originalQuantity -= 1);
+ expect(receiverTicketSales.length).toEqual(2);
+ expect(createdPartialSale.quantity).toEqual(1);
+
+ let saleToRestore = await app.models.Sale.findById(originalPartialSaleId);
+ await saleToRestore.updateAttribute('quantity', originalQuantity);
+
+ let saleToReturnToTicket = await app.models.Sale.findById(originalCompleteSaleId);
+ await saleToReturnToTicket.updateAttribute('ticketFk', originalTicketId);
+
+ currentTicketSales = await app.models.Ticket.getSales(originalTicketId);
expect(currentTicketSales.length).toEqual(2);
- expect(currentTicketSales[0].quantity).toEqual(14);
- expect(receiverTicketSales.length).toEqual(1);
- expect(receiverTicketSales[0].quantity).toEqual(1);
-
- saleToRestore.updateAttribute('quantity', originalQuantity);
-
- currentTicketSales = await app.models.Ticket.getSales(currentTicket.id);
-
-
- expect(currentTicketSales[0].quantity).toEqual(15);
- expect(currentTicketSales[0].id).toEqual(saleIdToRestore);
});
});
});
diff --git a/modules/ticket/front/basic-data/step-one/index.html b/modules/ticket/front/basic-data/step-one/index.html
index 3d79b9b68..4e3cf361a 100644
--- a/modules/ticket/front/basic-data/step-one/index.html
+++ b/modules/ticket/front/basic-data/step-one/index.html
@@ -14,6 +14,7 @@
label="Client"
show-field="name"
value-field="id"
+ search-function="{or: [{id: $search}, {name: {like: '%'+ $search +'%'}}]}"
field="$ctrl.clientId"
initial-data="$ctrl.clientId"
order="id">
@@ -23,7 +24,7 @@
label="Address"
show-field="nickname"
value-field="id"
- field="$ctrl.ticket.addressFk"
+ field="$ctrl.addressId"
order="isActive DESC">
{{::isActive ? '' : 'INACTIVE'}} {{::nickname}}
diff --git a/modules/ticket/front/basic-data/step-one/index.js b/modules/ticket/front/basic-data/step-one/index.js
index 862a7a315..09632ba5a 100644
--- a/modules/ticket/front/basic-data/step-one/index.js
+++ b/modules/ticket/front/basic-data/step-one/index.js
@@ -26,10 +26,7 @@ class Controller {
}
get clientId() {
- if (this.ticket)
- return this.ticket.clientFk;
-
- return null;
+ return this.ticket && this.ticket.clientFk;
}
set clientId(value) {
@@ -39,11 +36,24 @@ class Controller {
this.onChangeClient(value);
}
- get warehouseId() {
- if (this.ticket)
- return this.ticket.warehouseFk;
+ get addressId() {
+ return this.ticket && this.ticket.addressFk;
+ }
- return null;
+ set addressId(value) {
+ if (value != this.ticket.addressFk) {
+ this.ticket.addressFk = value;
+ this.getShipped({
+ landed: this.ticket.landed,
+ addressFk: value,
+ agencyModeFk: this.ticket.agencyModeFk,
+ warehouseFk: this.ticket.warehouseFk
+ });
+ }
+ }
+
+ get warehouseId() {
+ return this.ticket && this.ticket.warehouseFk;
}
set warehouseId(value) {
@@ -60,10 +70,7 @@ class Controller {
get shipped() {
- if (this.ticket)
- return this.ticket.shipped;
-
- return null;
+ return this.ticket && this.ticket.shipped;
}
set shipped(value) {
@@ -77,10 +84,7 @@ class Controller {
}
get landed() {
- if (this.ticket)
- return this.ticket.landed;
-
- return null;
+ return this.ticket && this.ticket.landed;
}
set landed(value) {
@@ -94,17 +98,14 @@ class Controller {
}
get agencyModeId() {
- if (this.ticket)
- return this.ticket.agencyModeFk;
-
- return null;
+ return this.ticket && this.ticket.agencyModeFk;
}
set agencyModeId(value) {
if (value != this.ticket.agencyModeFk) {
this.ticket.agencyModeFk = value;
- this.getShipped({
- landed: this.ticket.landed,
+ this.getLanded({
+ shipped: this.ticket.shipped,
addressFk: this.ticket.addressFk,
agencyModeFk: value,
warehouseFk: this.ticket.warehouseFk
@@ -113,10 +114,7 @@ class Controller {
}
get zoneId() {
- if (this.ticket)
- return this.ticket.zoneFk;
-
- return null;
+ return this.ticket && this.ticket.zoneFk;
}
set zoneId(value) {
@@ -206,9 +204,10 @@ class Controller {
this.$http.get(query, {params}).then(res => {
if (res.data) {
this.ticket.zoneFk = res.data.zoneFk;
- this.ticket.landed = res.data.landed;
this.ticket.agencyModeFk = res.data.agencyModeFk;
this.ticket.warehouseFk = res.data.warehouseFk;
+ this.ticket.landed = res.data.landed;
+ this.ticket.shipped = params.shipped;
} else {
return this.vnApp.showError(
this.$translate.instant(`No delivery zone available for this landing date`)
@@ -226,9 +225,10 @@ class Controller {
this.$http.get(query, {params}).then(res => {
if (res.data) {
this.ticket.zoneFk = res.data.zoneFk;
- this.ticket.shipped = res.data.shipped;
this.ticket.agencyModeFk = res.data.agencyModeFk;
this.ticket.warehouseFk = res.data.warehouseFk;
+ this.ticket.landed = params.landed;
+ this.ticket.shipped = res.data.shipped;
} else {
return this.vnApp.showError(
this.$translate.instant(`No delivery zone available for this landing date`)
diff --git a/modules/ticket/front/basic-data/step-one/index.spec.js b/modules/ticket/front/basic-data/step-one/index.spec.js
index c743ca911..89ca7f171 100644
--- a/modules/ticket/front/basic-data/step-one/index.spec.js
+++ b/modules/ticket/front/basic-data/step-one/index.spec.js
@@ -5,14 +5,16 @@ describe('Ticket', () => {
let $state;
let controller;
let $httpBackend;
+ let $httpParamSerializer;
beforeEach(angular.mock.module('ticket', $translateProvider => {
$translateProvider.translations('en', {});
}));
- beforeEach(angular.mock.inject(($componentController, _$state_, _$httpBackend_) => {
+ beforeEach(angular.mock.inject(($componentController, _$state_, _$httpBackend_, _$httpParamSerializer_) => {
$state = _$state_;
$httpBackend = _$httpBackend_;
+ $httpParamSerializer = _$httpParamSerializer_;
controller = $componentController('vnTicketBasicDataStepOne', {$state});
controller.ticket = {
addressFk: 121,
@@ -37,6 +39,14 @@ describe('Ticket', () => {
});
});
+ describe('clientId() getter', () => {
+ it('should return the clientFk property', () => {
+ controller.ticket = {id: 1, clientFk: 102};
+
+ expect(controller.clientId).toEqual(102);
+ });
+ });
+
describe('clientId() setter', () => {
it('should set clientId property and call onChangeClient() method ', () => {
spyOn(controller, 'onChangeClient');
@@ -47,6 +57,69 @@ describe('Ticket', () => {
});
});
+ describe('adressId() getter', () => {
+ it('should return the addressFk property', () => {
+ controller.ticket = {id: 1, addressFk: 99};
+
+ expect(controller.addressId).toEqual(99);
+ });
+ });
+
+ describe('addressId() setter', () => {
+ it('should set addressId property and call getShipped() method ', () => {
+ spyOn(controller, 'getShipped');
+ controller.ticket.addressFk = 99;
+ controller.addressId = 100;
+ const landed = new Date();
+ const spectedResult = {
+ landed: landed,
+ addressFk: 100,
+ agencyModeFk: 7,
+ warehouseFk: 1
+ };
+ controller.landed = landed;
+
+ expect(controller.getShipped).toHaveBeenCalledWith(spectedResult);
+ expect(controller.ticket.addressFk).toEqual(100);
+ });
+ });
+
+ describe('warehouseId() getter', () => {
+ it('should return the warehouseId property', () => {
+ controller.ticket.warehouseFk = 2;
+
+ expect(controller.warehouseId).toEqual(2);
+ });
+ });
+
+ describe('warehouseId() setter', () => {
+ it('should set warehouseId property and call getShipped() method ', () => {
+ spyOn(controller, 'getShipped');
+ controller.ticket.warehouseId = 1;
+ controller.warehouseId = 2;
+ const landed = new Date();
+ const spectedResult = {
+ landed: landed,
+ addressFk: 121,
+ agencyModeFk: 7,
+ warehouseFk: 2
+ };
+ controller.landed = landed;
+
+ expect(controller.getShipped).toHaveBeenCalledWith(spectedResult);
+ expect(controller.ticket.warehouseFk).toEqual(2);
+ });
+ });
+
+ describe('shipped() getter', () => {
+ it('should return the shipped property', () => {
+ const shipped = new Date();
+ controller.ticket.shipped = shipped;
+
+ expect(controller.shipped).toEqual(shipped);
+ });
+ });
+
describe('shipped() setter', () => {
it('should set shipped property and call getLanded() method ', () => {
spyOn(controller, 'getLanded');
@@ -59,11 +132,19 @@ describe('Ticket', () => {
};
controller.shipped = shipped;
-
expect(controller.getLanded).toHaveBeenCalledWith(spectedResult);
});
});
+ describe('landed() getter', () => {
+ it('should return the landed property', () => {
+ const landed = new Date();
+ controller.ticket.landed = landed;
+
+ expect(controller.landed).toEqual(landed);
+ });
+ });
+
describe('landed() setter', () => {
it('should set shipped property and call getShipped() method ', () => {
spyOn(controller, 'getShipped');
@@ -81,21 +162,29 @@ describe('Ticket', () => {
});
});
+ describe('agencyModeId() getter', () => {
+ it('should return the agencyModeFk property', () => {
+ controller.ticket.agencyModeFk = 66;
+
+ expect(controller.agencyModeId).toEqual(66);
+ });
+ });
+
describe('agencyModeId() setter', () => {
- it('should set agencyModeId property and call onChangeAgencyMode() method', () => {
- spyOn(controller, 'getShipped');
- const landed = new Date();
+ it('should set agencyModeId property and call getLanded() method', () => {
+ spyOn(controller, 'getLanded');
+ const shipped = new Date();
const agencyModeId = 8;
const spectedResult = {
- landed: landed,
+ shipped: shipped,
addressFk: 121,
agencyModeFk: agencyModeId,
warehouseFk: 1
};
- controller.ticket.landed = landed;
+ controller.ticket.shipped = shipped;
controller.agencyModeId = 8;
- expect(controller.getShipped).toHaveBeenCalledWith(spectedResult);
+ expect(controller.getLanded).toHaveBeenCalledWith(spectedResult);
});
it('should do nothing if attempting to set the same agencyMode id', () => {
@@ -115,6 +204,14 @@ describe('Ticket', () => {
});
});
+ describe('zoneId() getter', () => {
+ it('should return the zoneFk property', () => {
+ controller.ticket.zoneFk = 10;
+
+ expect(controller.zoneId).toEqual(10);
+ });
+ });
+
describe('zoneId() setter', () => {
it('should set zoneId property and call onChangeZone() method ', () => {
const zoneId = 5;
@@ -223,5 +320,49 @@ describe('Ticket', () => {
$httpBackend.flush();
});
});
+
+ describe('getLanded()', () => {
+ it('should return an available landed date', async() => {
+ const shipped = new Date();
+ const expectedResult = {landed: new Date()};
+ const params = {
+ shipped: shipped,
+ addressFk: 121,
+ agencyModeFk: 7,
+ warehouseFk: 1
+ };
+ const serializedParams = $httpParamSerializer(params);
+
+ $httpBackend.when('GET', `/api/Agencies/getLanded?${serializedParams}`).respond(200, expectedResult);
+ $httpBackend.expect('GET', `/api/Agencies/getLanded?${serializedParams}`);
+ controller.getLanded(params);
+ $httpBackend.flush();
+
+ expect(controller.shipped).toEqual(shipped);
+ expect(controller.landed).toEqual(expectedResult.landed);
+ });
+ });
+
+ describe('getShipped()', () => {
+ it('should return an available shipped date', async() => {
+ const landed = new Date();
+ const expectedResult = {shipped: new Date()};
+ const params = {
+ landed: landed,
+ addressFk: 121,
+ agencyModeFk: 7,
+ warehouseFk: 1
+ };
+ const serializedParams = $httpParamSerializer(params);
+
+ $httpBackend.when('GET', `/api/Agencies/getShipped?${serializedParams}`).respond(200, expectedResult);
+ $httpBackend.expect('GET', `/api/Agencies/getShipped?${serializedParams}`);
+ controller.getShipped(params);
+ $httpBackend.flush();
+
+ expect(controller.shipped).toEqual(expectedResult.shipped);
+ expect(controller.landed).toEqual(landed);
+ });
+ });
});
});
diff --git a/modules/ticket/front/descriptor/addStowaway.html b/modules/ticket/front/descriptor/addStowaway.html
index 74554d2be..3efaedc8d 100644
--- a/modules/ticket/front/descriptor/addStowaway.html
+++ b/modules/ticket/front/descriptor/addStowaway.html
@@ -12,7 +12,7 @@
Stowaways to add
-
+
Ticket id
diff --git a/modules/ticket/front/index/index.html b/modules/ticket/front/index/index.html
index 8b2060e42..0f70dea40 100644
--- a/modules/ticket/front/index/index.html
+++ b/modules/ticket/front/index/index.html
@@ -4,34 +4,35 @@
limit="20"
params="::$ctrl.params"
data="tickets"
- order="shipped DESC, zoneHour ASC, zoneMinute ASC, clientFk"
- auto-load="false">
+ order="shipped DESC, zoneHour ASC, zoneMinute ASC, clientFk">
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
@@ -42,7 +43,7 @@
Id
Salesperson
- Date
+ Date
Hour
Alias
Province
@@ -122,8 +123,8 @@
{{::ticket.warehouse}}
{{::ticket.refFk | dashIfEmpty}}
{{::ticket.zoneLanding | dateTime: 'HH:mm'}}
-
-
+
+
{{::ticket.total | currency: 'EUR': 2}}
@@ -142,8 +143,8 @@
-
-
+
+
diff --git a/modules/ticket/front/index/style.scss b/modules/ticket/front/index/style.scss
index 6a935c7f6..ccf913ff5 100644
--- a/modules/ticket/front/index/style.scss
+++ b/modules/ticket/front/index/style.scss
@@ -10,7 +10,6 @@ vn-ticket-index {
color: initial;
}
}
-
vn-searchbar {
width: 100%
}
diff --git a/modules/ticket/front/summary/index.html b/modules/ticket/front/summary/index.html
index 383d02ec9..d97c3125a 100644
--- a/modules/ticket/front/summary/index.html
+++ b/modules/ticket/front/summary/index.html
@@ -1,5 +1,9 @@
- Ticket #{{$ctrl.summary.id}} - {{$ctrl.summary.client.name}} ({{$ctrl.summary.client.id}}) - {{$ctrl.summary.nickname}}
+
+
+ Ticket #{{$ctrl.summary.id}} - {{$ctrl.summary.client.name}}
+ ({{$ctrl.summary.client.id}}) - {{$ctrl.summary.nickname}}
+
+ data="travels">
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
Id
@@ -50,6 +51,6 @@
-
+
\ No newline at end of file
diff --git a/modules/worker/front/index/index.html b/modules/worker/front/index/index.html
index 3c254e7f7..ce1a438b5 100644
--- a/modules/worker/front/index/index.html
+++ b/modules/worker/front/index/index.html
@@ -5,72 +5,70 @@
order="id"
data="workers">
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
+
\ No newline at end of file
diff --git a/modules/worker/front/log/index.html b/modules/worker/front/log/index.html
index 1a4ac0a5f..4f170ac35 100644
--- a/modules/worker/front/log/index.html
+++ b/modules/worker/front/log/index.html
@@ -7,98 +7,97 @@
limit="20"
auto-load="true">
-
-
-
- History
-
-
-
- Date
- Changed by
- Model
- Action
- Name
- Before
- After
-
-
-
-
-
- {{::log.creationDate | dateTime:'dd/MM/yyyy HH:mm'}}
-
-
- Changed by:
- {{::log.user.name | dashIfEmpty}}
-
-
-
- Model:
- {{::log.changedModel | dashIfEmpty}}
-
-
- Action:
- {{::$ctrl.actionsText[log.action] | dashIfEmpty}}
-
-
- Name:
- {{::log.changedModelValue | dashIfEmpty}}
-
+
+
+
+
+
+ Date
+ Changed by
+ Model
+ Action
+ Name
+ Before
+ After
+
+
+
+
+
+ {{::log.creationDate | dateTime:'dd/MM/yyyy HH:mm'}}
+
+
+ Changed by:
+ {{::log.user.name | dashIfEmpty}}
+
-
-
- {{::log.user.name | dashIfEmpty}}
-
-
-
- {{::log.changedModel}}
-
-
- {{::$ctrl.actionsText[log.action]}}
-
-
- {{::log.changedModelValue}}
-
-
-
-
- {{::old.key}}:
- {{::old.value}}
-
-
-
-
-
-
- {{::new.key}}:
- {{::new.value}}
-
-
-
-
- {{log.description}}
-
-
-
-
-
-
-
+
+ Model:
+ {{::log.changedModel | dashIfEmpty}}
+
+
+ Action:
+ {{::$ctrl.actionsText[log.action] | dashIfEmpty}}
+
+
+ Name:
+ {{::log.changedModelValue | dashIfEmpty}}
+
+
+
+
+ {{::log.user.name | dashIfEmpty}}
+
+
+
+ {{::log.changedModel}}
+
+
+ {{::$ctrl.actionsText[log.action]}}
+
+
+ {{::log.changedModelValue}}
+
+
+
+
+ {{::old.key}}:
+ {{::old.value}}
+
+
+
+
+
+
+ {{::new.key}}:
+ {{::new.value}}
+
+
+
+
+ {{log.description}}
+
+
+
+
+
+
-
+
diff --git a/modules/worker/front/time-control/index.html b/modules/worker/front/time-control/index.html
index 1aeb70304..f8915542b 100644
--- a/modules/worker/front/time-control/index.html
+++ b/modules/worker/front/time-control/index.html
@@ -63,7 +63,7 @@
diff --git a/modules/worker/front/time-control/index.js b/modules/worker/front/time-control/index.js
index a82fdc63d..a13a1d384 100644
--- a/modules/worker/front/time-control/index.js
+++ b/modules/worker/front/time-control/index.js
@@ -208,12 +208,9 @@ class Controller {
this.refresh();
}
- onSelection(value) {
- const selected = value[0].dated;
-
- this.defaultDate.setMonth(selected.getMonth());
- this.defaultDate.setDate(selected.getDate());
-
+ onSelection($days) {
+ this.defaultDate.setMonth($days[0].getMonth());
+ this.defaultDate.setDate($days[0].getDate());
this.refresh();
}
@@ -221,9 +218,9 @@ class Controller {
const timed = new Date(weekday.dated);
const now = new Date();
- now.setHours(now.getHours(), now.getMinutes(), 0, 0);
now.setMonth(timed.getMonth());
now.setDate(timed.getDate());
+ now.setHours(0, 0, 0, 0);
this.newTime = now;
this.selectedWeekday = weekday;
diff --git a/package-lock.json b/package-lock.json
index 535c5229d..7b4445337 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -2166,7 +2166,7 @@
},
"util": {
"version": "0.10.3",
- "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz",
+ "resolved": "http://registry.npmjs.org/util/-/util-0.10.3.tgz",
"integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=",
"dev": true,
"requires": {
@@ -2960,7 +2960,7 @@
"base": {
"version": "0.11.2",
"resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz",
- "integrity": "sha1-e95c7RRbbVUakNuH+DxVi060io8=",
+ "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==",
"dev": true,
"requires": {
"cache-base": "^1.0.1",
@@ -3293,7 +3293,7 @@
},
"browserify-rsa": {
"version": "4.0.1",
- "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz",
+ "resolved": "http://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz",
"integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=",
"dev": true,
"requires": {
@@ -3352,7 +3352,7 @@
},
"buffer": {
"version": "4.9.1",
- "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz",
+ "resolved": "http://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz",
"integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=",
"requires": {
"base64-js": "^1.0.2",
@@ -3490,7 +3490,7 @@
"cache-base": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
- "integrity": "sha1-Cn9GQWgxyLZi7jb+TnxZ129marI=",
+ "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==",
"dev": true,
"requires": {
"collection-visit": "^1.0.0",
@@ -3528,7 +3528,7 @@
},
"camelcase-keys": {
"version": "2.1.0",
- "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz",
+ "resolved": "http://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz",
"integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=",
"dev": true,
"requires": {
@@ -3667,7 +3667,7 @@
"class-utils": {
"version": "0.3.6",
"resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz",
- "integrity": "sha1-+TNprouafOAv1B+q0MqDAzGQxGM=",
+ "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==",
"dev": true,
"requires": {
"arr-union": "^3.1.0",
@@ -4769,7 +4769,7 @@
"dot-prop": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.0.tgz",
- "integrity": "sha1-HxngwuGqDjJ5fEl5nyg3rGr2nFc=",
+ "integrity": "sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==",
"requires": {
"is-obj": "^1.0.0"
}
@@ -4801,7 +4801,7 @@
},
"readable-stream": {
"version": "1.1.14",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
+ "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
"integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
"dev": true,
"requires": {
@@ -4924,7 +4924,7 @@
"dependencies": {
"fs-extra": {
"version": "0.30.0",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz",
+ "resolved": "http://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz",
"integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=",
"dev": true,
"requires": {
@@ -4937,7 +4937,7 @@
},
"jsonfile": {
"version": "2.4.0",
- "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz",
+ "resolved": "http://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz",
"integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=",
"dev": true,
"requires": {
@@ -5840,7 +5840,7 @@
},
"file-loader": {
"version": "1.1.11",
- "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-1.1.11.tgz",
+ "resolved": "http://registry.npmjs.org/file-loader/-/file-loader-1.1.11.tgz",
"integrity": "sha512-TGR4HU7HUsGg6GCOPJnFk06RhWgEWFLAGWiT6rcD+GRC2keU3s9RGJ+b3Z6/U73jwwNb2gKLJ7YCrp+jvU4ALg==",
"dev": true,
"requires": {
@@ -6204,7 +6204,8 @@
"ansi-regex": {
"version": "2.1.1",
"bundled": true,
- "dev": true
+ "dev": true,
+ "optional": true
},
"aproba": {
"version": "1.2.0",
@@ -6225,12 +6226,14 @@
"balanced-match": {
"version": "1.0.0",
"bundled": true,
- "dev": true
+ "dev": true,
+ "optional": true
},
"brace-expansion": {
"version": "1.1.11",
"bundled": true,
"dev": true,
+ "optional": true,
"requires": {
"balanced-match": "^1.0.0",
"concat-map": "0.0.1"
@@ -6245,17 +6248,20 @@
"code-point-at": {
"version": "1.1.0",
"bundled": true,
- "dev": true
+ "dev": true,
+ "optional": true
},
"concat-map": {
"version": "0.0.1",
"bundled": true,
- "dev": true
+ "dev": true,
+ "optional": true
},
"console-control-strings": {
"version": "1.1.0",
"bundled": true,
- "dev": true
+ "dev": true,
+ "optional": true
},
"core-util-is": {
"version": "1.0.2",
@@ -6372,7 +6378,8 @@
"inherits": {
"version": "2.0.3",
"bundled": true,
- "dev": true
+ "dev": true,
+ "optional": true
},
"ini": {
"version": "1.3.5",
@@ -6384,6 +6391,7 @@
"version": "1.0.0",
"bundled": true,
"dev": true,
+ "optional": true,
"requires": {
"number-is-nan": "^1.0.0"
}
@@ -6398,6 +6406,7 @@
"version": "3.0.4",
"bundled": true,
"dev": true,
+ "optional": true,
"requires": {
"brace-expansion": "^1.1.7"
}
@@ -6405,12 +6414,14 @@
"minimist": {
"version": "0.0.8",
"bundled": true,
- "dev": true
+ "dev": true,
+ "optional": true
},
"minipass": {
"version": "2.3.5",
"bundled": true,
"dev": true,
+ "optional": true,
"requires": {
"safe-buffer": "^5.1.2",
"yallist": "^3.0.0"
@@ -6429,6 +6440,7 @@
"version": "0.5.1",
"bundled": true,
"dev": true,
+ "optional": true,
"requires": {
"minimist": "0.0.8"
}
@@ -6509,7 +6521,8 @@
"number-is-nan": {
"version": "1.0.1",
"bundled": true,
- "dev": true
+ "dev": true,
+ "optional": true
},
"object-assign": {
"version": "4.1.1",
@@ -6521,6 +6534,7 @@
"version": "1.4.0",
"bundled": true,
"dev": true,
+ "optional": true,
"requires": {
"wrappy": "1"
}
@@ -6606,7 +6620,8 @@
"safe-buffer": {
"version": "5.1.2",
"bundled": true,
- "dev": true
+ "dev": true,
+ "optional": true
},
"safer-buffer": {
"version": "2.1.2",
@@ -6642,6 +6657,7 @@
"version": "1.0.2",
"bundled": true,
"dev": true,
+ "optional": true,
"requires": {
"code-point-at": "^1.0.0",
"is-fullwidth-code-point": "^1.0.0",
@@ -6661,6 +6677,7 @@
"version": "3.0.1",
"bundled": true,
"dev": true,
+ "optional": true,
"requires": {
"ansi-regex": "^2.0.0"
}
@@ -6704,12 +6721,14 @@
"wrappy": {
"version": "1.0.2",
"bundled": true,
- "dev": true
+ "dev": true,
+ "optional": true
},
"yallist": {
"version": "3.0.3",
"bundled": true,
- "dev": true
+ "dev": true,
+ "optional": true
}
}
},
@@ -6992,7 +7011,7 @@
"global-modules": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz",
- "integrity": "sha1-bXcPDrUjrHgWTXK15xqIdyZcw+o=",
+ "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==",
"dev": true,
"requires": {
"global-prefix": "^1.0.1",
@@ -7029,7 +7048,7 @@
},
"globby": {
"version": "5.0.0",
- "resolved": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz",
+ "resolved": "http://registry.npmjs.org/globby/-/globby-5.0.0.tgz",
"integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=",
"dev": true,
"requires": {
@@ -7133,7 +7152,7 @@
},
"got": {
"version": "6.7.1",
- "resolved": "https://registry.npmjs.org/got/-/got-6.7.1.tgz",
+ "resolved": "http://registry.npmjs.org/got/-/got-6.7.1.tgz",
"integrity": "sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA=",
"dev": true,
"requires": {
@@ -7466,7 +7485,7 @@
},
"kind-of": {
"version": "1.1.0",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-1.1.0.tgz",
+ "resolved": "http://registry.npmjs.org/kind-of/-/kind-of-1.1.0.tgz",
"integrity": "sha1-FAo9LUGjbS78+pN3tiwk+ElaXEQ=",
"dev": true
},
@@ -7686,7 +7705,7 @@
"dependencies": {
"es6-promise": {
"version": "3.3.1",
- "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.3.1.tgz",
+ "resolved": "http://registry.npmjs.org/es6-promise/-/es6-promise-3.3.1.tgz",
"integrity": "sha1-oIzd6EzNvzTQJ6FFG8kdS80ophM=",
"dev": true
},
@@ -8720,7 +8739,7 @@
},
"is-obj": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz",
+ "resolved": "http://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz",
"integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8="
},
"is-path-cwd": {
@@ -8750,7 +8769,7 @@
"is-plain-object": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
- "integrity": "sha1-LBY7P6+xtgbZ0Xko8FwqHDjgdnc=",
+ "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
"dev": true,
"requires": {
"isobject": "^3.0.1"
@@ -9101,7 +9120,7 @@
},
"jasmine-core": {
"version": "2.99.1",
- "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-2.99.1.tgz",
+ "resolved": "http://registry.npmjs.org/jasmine-core/-/jasmine-core-2.99.1.tgz",
"integrity": "sha1-5kAN8ea1bhMLYcS80JPap/boyhU=",
"dev": true
},
@@ -10224,7 +10243,7 @@
},
"load-json-file": {
"version": "1.1.0",
- "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz",
+ "resolved": "http://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz",
"integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=",
"dev": true,
"requires": {
@@ -11013,7 +11032,7 @@
},
"media-typer": {
"version": "0.3.0",
- "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
+ "resolved": "http://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
"integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g="
},
"mem": {
@@ -11038,7 +11057,7 @@
},
"meow": {
"version": "3.7.0",
- "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz",
+ "resolved": "http://registry.npmjs.org/meow/-/meow-3.7.0.tgz",
"integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=",
"dev": true,
"requires": {
@@ -11161,7 +11180,7 @@
},
"minimist": {
"version": "1.2.0",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+ "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
"integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ="
},
"minstache": {
@@ -11273,7 +11292,7 @@
},
"mkdirp": {
"version": "0.5.1",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
+ "resolved": "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
"integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
"requires": {
"minimist": "0.0.8"
@@ -11281,7 +11300,7 @@
"dependencies": {
"minimist": {
"version": "0.0.8",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
+ "resolved": "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
"integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0="
}
}
@@ -11482,7 +11501,7 @@
},
"multipipe": {
"version": "0.1.2",
- "resolved": "https://registry.npmjs.org/multipipe/-/multipipe-0.1.2.tgz",
+ "resolved": "http://registry.npmjs.org/multipipe/-/multipipe-0.1.2.tgz",
"integrity": "sha1-Ko8t33Du1WTf8tV/HhoTfZ8FB4s=",
"dev": true,
"requires": {
@@ -11688,7 +11707,7 @@
},
"jsesc": {
"version": "0.5.0",
- "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
+ "resolved": "http://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
"integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=",
"dev": true
},
@@ -12330,7 +12349,7 @@
"dependencies": {
"minimist": {
"version": "0.0.10",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz",
+ "resolved": "http://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz",
"integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=",
"dev": true
},
@@ -12392,7 +12411,7 @@
},
"os-homedir": {
"version": "1.0.2",
- "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
+ "resolved": "http://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
"integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=",
"dev": true
},
@@ -12408,7 +12427,7 @@
},
"os-tmpdir": {
"version": "1.0.2",
- "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
+ "resolved": "http://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
"integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
"dev": true
},
@@ -12931,7 +12950,7 @@
},
"pretty-bytes": {
"version": "1.0.4",
- "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-1.0.4.tgz",
+ "resolved": "http://registry.npmjs.org/pretty-bytes/-/pretty-bytes-1.0.4.tgz",
"integrity": "sha1-CiLoIQYJrTVUL4yNXSFZr/B1HIQ=",
"dev": true,
"requires": {
@@ -13022,7 +13041,7 @@
},
"readable-stream": {
"version": "1.1.14",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
+ "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
"integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
"dev": true,
"requires": {
@@ -13040,7 +13059,7 @@
},
"through2": {
"version": "0.2.3",
- "resolved": "https://registry.npmjs.org/through2/-/through2-0.2.3.tgz",
+ "resolved": "http://registry.npmjs.org/through2/-/through2-0.2.3.tgz",
"integrity": "sha1-6zKE2k6jEbbMis42U3SKUqvyWj8=",
"dev": true,
"requires": {
@@ -13859,7 +13878,7 @@
},
"safe-regex": {
"version": "1.1.0",
- "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
+ "resolved": "http://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
"integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
"dev": true,
"requires": {
@@ -13984,7 +14003,7 @@
"dependencies": {
"source-map": {
"version": "0.4.4",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz",
+ "resolved": "http://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz",
"integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=",
"dev": true,
"requires": {
@@ -14404,7 +14423,7 @@
"snapdragon-node": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz",
- "integrity": "sha1-bBdfhv8UvbByRWPo88GwIaKGhTs=",
+ "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==",
"dev": true,
"requires": {
"define-property": "^1.0.0",
@@ -14455,7 +14474,7 @@
"snapdragon-util": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz",
- "integrity": "sha1-+VZHlIbyrNeXAGk/b3uAXkWrVuI=",
+ "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==",
"dev": true,
"requires": {
"kind-of": "^3.2.0"
@@ -14736,7 +14755,7 @@
"split-string": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
- "integrity": "sha1-fLCd2jqGWFcFxks5pkZgOGguj+I=",
+ "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==",
"dev": true,
"requires": {
"extend-shallow": "^3.0.0"
@@ -14745,7 +14764,7 @@
"split2": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/split2/-/split2-2.2.0.tgz",
- "integrity": "sha1-GGsldbz4PoW30YRldWI47k7kJJM=",
+ "integrity": "sha512-RAb22TG39LhI31MbreBgIuKiIKhVsawfTgEGqKHTK87aG+ul/PB8Sqoi3I7kVdRWiCfrKxK3uo4/YUkpNvhPbw==",
"dev": true,
"requires": {
"through2": "^2.0.2"
@@ -15671,7 +15690,7 @@
},
"through": {
"version": "2.3.8",
- "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
+ "resolved": "http://registry.npmjs.org/through/-/through-2.3.8.tgz",
"integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU="
},
"through2": {
@@ -15866,7 +15885,7 @@
"touch": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/touch/-/touch-3.1.0.tgz",
- "integrity": "sha1-/jZfX3XsntTlaCXgu3bSSrdK+Ds=",
+ "integrity": "sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA==",
"dev": true,
"requires": {
"nopt": "~1.0.10"
@@ -15964,7 +15983,7 @@
},
"tty-browserify": {
"version": "0.0.0",
- "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz",
+ "resolved": "http://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz",
"integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=",
"dev": true
},