This commit is contained in:
Bernat 2019-02-25 08:10:38 +01:00
commit 04280c5b5a
22 changed files with 410 additions and 420 deletions

View File

@ -1,4 +1,2 @@
<vn-horizontal class="text-container">
<span class="text" ng-transclude="text" vn-one></span>
</vn-horizontal>
<div class="field"></div> <div class="field"></div>
<span class="text" ng-transclude="text"></span>

View File

@ -1,38 +1,58 @@
import ngModule from '../../module'; import ngModule from '../../module';
import Component from '../../lib/component'; import Component from '../../lib/component';
import {focus} from '../../directives/focus';
import './style.scss'; import './style.scss';
export default class Controller extends Component { export default class Controller extends Component {
constructor($element, $scope, $transclude) { constructor($element, $scope, $transclude, $timeout) {
super($element, $scope); super($element, $scope);
this.$timeout = $timeout;
let element = $element[0]; let element = $element[0];
element.tabIndex = 0; element.tabIndex = 0;
element.addEventListener('focus', () => { element.addEventListener('focus', () => {
if (this.field) return;
$transclude((tClone, tScope) => { $transclude((tClone, tScope) => {
this.field = tClone; this.field = tClone;
this.tScope = tScope; this.tScope = tScope;
this.element.querySelector('.field').appendChild(this.field[0]); this.element.querySelector('.field').appendChild(this.field[0]);
element.tabIndex = -1;
this.timer = $timeout(() => {
this.timer = null;
focus(this.field[0]);
});
}, null, 'field'); }, null, 'field');
element.classList.add('selected'); element.classList.add('selected');
}); });
element.addEventListener('focusout', event => { element.addEventListener('focusout', event => {
this.destroyTimer();
this.lastEvent = event; this.lastEvent = event;
let target = event.relatedTarget; let target = event.relatedTarget;
while (target && target.parentNode != element) while (target && target != element)
target = target.parentNode; target = target.parentNode;
if (!target) { if (!target) {
this.tScope.$destroy(); this.tScope.$destroy();
this.field.remove(); this.field.remove();
this.field = null;
element.classList.remove('selected'); element.classList.remove('selected');
element.tabIndex = 0;
} }
}); });
} }
} destroyTimer() {
if (this.timer) {
this.$timeout.cancel(this.timer);
this.timer = null;
}
}
Controller.$inject = ['$element', '$scope', '$transclude']; $onDestroy() {
this.destroyTimer();
}
}
Controller.$inject = ['$element', '$scope', '$transclude', '$timeout'];
ngModule.component('vnTdEditable', { ngModule.component('vnTdEditable', {
template: require('./index.html'), template: require('./index.html'),

View File

@ -1,16 +1,40 @@
@import "variables";
vn-td-editable { vn-td-editable {
cursor: pointer; cursor: pointer;
& > div.text-container{ outline: none;
width: 100%; position: relative;
}
&.selected { &.selected > .text {
& > .text-container{ visibility: hidden;
}
& > .field {
display: none; display: none;
} position: absolute;
} top: 0;
left: 0;
width: 100%;
height: 100%;
box-sizing: border-box;
align-items: center;
padding: .6em;
overflow: visible;
vn-icon { & > field {
font-size: 1em; flex: 1;
background-color: $color-bg-panel;
padding: .5em;
box-shadow: 0 0 .4em rgba(0, 0, 0, .2);
border-radius: .1em;
min-width: 6em;
& > * {
width: 100%;
max-width: initial;
}
}
}
&.selected > .field {
display: flex;
} }
} }

View File

@ -1,16 +1,6 @@
import ngModule from '../module'; import ngModule from '../module';
/** export function focus(input) {
* Sets the focus and selects the text on the input.
*
* @return {Object} The directive
*/
export function directive() {
return {
restrict: 'A',
link: function($scope, $element, $attrs) {
$scope.$watch('', function() {
let input = $element[0];
let selector = 'input, textarea, button, submit'; let selector = 'input, textarea, button, submit';
if (!input.matches(selector)) if (!input.matches(selector))
@ -25,7 +15,18 @@ export function directive() {
if (input.select) if (input.select)
input.select(); input.select();
}); }
/**
* Sets the focus and selects the text on the input.
*
* @return {Object} The directive
*/
export function directive() {
return {
restrict: 'A',
link: function($scope, $element) {
$scope.$watch('', () => focus($element[0]));
} }
}; };
} }

View File

@ -1,43 +1,19 @@
@import "./variables"; @import "./variables";
html [border-none], .border-none {
border: 0;
}
/* Solid border */
html [border-solid], .border-solid { html [border-solid], .border-solid {
border: $border-thin solid $border-color; border: $border-thin-light;
} }
html [border-solid-top], .border-solid-top { html [border-solid-top], .border-solid-top {
border-top: $border-thin solid $border-color; border-top: $border-thin-light;
} }
html [border-solid-left], .border-solid-left { html [border-solid-left], .border-solid-left {
border-left: $border-thin solid $border-color; border-left: $border-thin-light;
} }
html [border-solid-right], .border-solid-right { html [border-solid-right], .border-solid-right {
border-right: $border-thin solid $border-color; border-right: $border-thin-light;
} }
html [border-solid-bottom], .border-solid-bottom { html [border-solid-bottom], .border-solid-bottom {
border-bottom: $border-thin solid $border-color; border-bottom: $border-thin-light;
}
/* Dashed border */
html [border-dashed], .border-dashed {
border: $border-thin dashed $border-color;
}
html [border-dashed-top], .border-dashed-top {
border-top: $border-thin dashed $border-color;
}
html [border-dashed-left], .border-dashed-left {
border-left: $border-thin dashed $border-color;
}
html [border-dashed-right], .border-dashed-right {
border-right: $border-thin dashed $border-color;
}
html [border-dashed-bottom], .border-dashed-bottom {
border-bottom: $border-thin dashed $border-color;
} }
/* Border Radius */ /* Border Radius */

View File

@ -12,4 +12,5 @@ import './effects.scss';
import './order-product.scss'; import './order-product.scss';
import './summary.scss'; import './summary.scss';
import './descriptor.scss'; import './descriptor.scss';
import './list.scss';
import './modal-form.scss'; import './modal-form.scss';

View File

@ -0,0 +1,46 @@
@import "./effects";
.vn-list {
max-width: 36em;
margin: 0 auto;
a.vn-list-item {
@extend %clickable;
}
.vn-list-item {
border-bottom: $border-thin-light;
display: block;
text-decoration: none;
color: inherit;
& > vn-horizontal {
padding: $pad-medium;
& > vn-one {
overflow: hidden;
}
& > .buttons {
align-items: center;
vn-icon-button {
opacity: .4;
color: $color-main;
margin-left: .5em;
transition: opacity 250ms ease-out;
padding: 0;
font-size: 2em;
&:hover {
opacity: 1;
}
}
}
}
}
vn-empty-rows {
display: block;
text-align: center;
padding: 1.5em;
box-sizing: border-box;
}
}

View File

@ -5,7 +5,6 @@ html, body {
margin: 0; margin: 0;
padding: 0; padding: 0;
} }
a:focus, a:focus,
input:focus, input:focus,
button:focus { button:focus {
@ -23,8 +22,7 @@ input[type=reset]::-moz-focus-inner {
-ms-user-select: none; -ms-user-select: none;
user-select: none; user-select: none;
} }
a, .link {
a, .link{
color: $color-font-link; color: $color-font-link;
text-decoration: none; text-decoration: none;
} }
@ -35,23 +33,20 @@ a, .link{
text-decoration: underline; text-decoration: underline;
} }
} }
.totalBox { .totalBox {
border: 1px solid #CCC; border: 1px solid #CCC;
text-align: right!important; text-align: right !important;
justify-content: center; justify-content: center;
align-items: center; align-items: center;
padding: 18px; padding: 18px;
margin-bottom: 10px; margin-bottom: 10px;
} }
.form { .form {
height: 100%; height: 100%;
box-sizing: border-box; box-sizing: border-box;
padding: $pad-large; padding: $pad-large;
max-width: 1000px; max-width: 1000px;
} }
html [fixed-bottom-right] { html [fixed-bottom-right] {
position: fixed; position: fixed;
bottom: 2em; bottom: 2em;
@ -60,87 +55,53 @@ html [fixed-bottom-right] {
html [text-center], .text-center { html [text-center], .text-center {
text-align: center; text-align: center;
} }
html [text-right], .text-right{ html [text-right], .text-right {
text-align: right; text-align: right;
} }
html [text-left], .text-left{ html [text-left], .text-left {
text-align: left; text-align: left;
} }
html [vn-right], .vn-right{ html [vn-right], .vn-right {
float: right; float: right;
} }
html [vn-left], .vn-left{ html [vn-left], .vn-left {
float: left; float: left;
} }
html [vn-center], .vn-center{ html [vn-center], .vn-center {
justify-content: center; justify-content: center;
} }
.list > vn-none {
.list > vn-none{
min-width: 60px; min-width: 60px;
} }
.list-element {
.list-element{
padding: 8px 0 0 0; padding: 8px 0 0 0;
border-bottom: 1px solid $color-spacer; border-bottom: 1px solid $color-spacer;
i { i {
color: $color-main; color: $color-main;
} }
} }
.tooltip {
.list-header{
border-bottom: 3px solid $color-spacer;
font-family: vn-font-bold;
text-align: center
}
.list-element{
white-space: nowrap;
}
}
.list-footer{
font-family: vn-font-bold;
border-top: 3px solid $color-spacer;
}
.list-element.warning{
background-color: $color-main-medium;
}
.list-element.success{
background-color: $color-success-medium;
}
.list-element.success:hover{
background-color: $color-success-light;
}
.list-element.warning:hover{
background-color: $color-main-light;
}
.flatpickr-month, .flatpickr-weekdays, span.flatpickr-weekday { .flatpickr-month, .flatpickr-weekdays, span.flatpickr-weekday {
background-color: $color-main; background-color: $color-main;
} }
html [pointer], .pointer{ html [pointer], .pointer{
cursor: pointer; cursor: pointer;
} }
html [noDrop], .noDrop{ html [noDrop], .noDrop{
cursor: no-drop; cursor: no-drop;
} }
html [compact], .compact{ html [compact], .compact{
max-width: 950px; max-width: $width-compact;
margin-left: auto; margin-left: auto;
margin-right: auto; margin-right: auto;
} }
button { button {
@extend %clickable; @extend %clickable;
} }
vn-button-bar { vn-button-bar {
display: block; display: block;
margin-top: $margin-small; margin-top: $margin-small;
} }
vn-tool-bar { vn-tool-bar {
display: flex; display: flex;
@ -149,51 +110,6 @@ vn-tool-bar {
} }
} }
.vn-list {
max-width: 36em;
margin: 0 auto;
a.vn-list-item {
@extend %clickable;
}
.vn-list-item {
border-bottom: $border-thin solid $color-spacer;
display: block;
text-decoration: none;
color: inherit;
& > vn-horizontal {
padding: $pad-medium;
& > vn-one {
overflow: hidden;
}
& > .buttons {
align-items: center;
vn-icon-button {
opacity: .4;
color: $color-main;
margin-left: .5em;
transition: opacity 250ms ease-out;
padding: 0;
font-size: 2em;
&:hover {
opacity: 1;
}
}
}
}
}
vn-empty-rows {
display: block;
text-align: center;
padding: 1.5em;
box-sizing: border-box;
}
}
/** START - FORM ELEMENTS DISABLED **/ /** START - FORM ELEMENTS DISABLED **/
fieldset[disabled] .mdl-textfield .mdl-textfield__input, fieldset[disabled] .mdl-textfield .mdl-textfield__input,
@ -215,7 +131,6 @@ fieldset[disabled] .mdl-textfield .mdl-textfield__label,
white-space: nowrap; white-space: nowrap;
overflow: hidden; overflow: hidden;
} }
.counter { .counter {
@extend %active; @extend %active;
@ -223,7 +138,6 @@ fieldset[disabled] .mdl-textfield .mdl-textfield__label,
font-size: 0.7em font-size: 0.7em
} }
} }
.vn-grid { .vn-grid {
border-collapse: collapse; border-collapse: collapse;
width: 100%; width: 100%;

View File

@ -1,99 +1,89 @@
@import "./variables"; @import "./variables";
@media screen and (max-width: 1920px){
.catalog-list .product {
width: 25%;
}
}
@media screen and (max-width: 1800px){
.catalog-list .product {
width: 33.33%
}
}
@media screen and (max-width: 1600px){
.catalog-list .product {
width: 50%
}
}
@media screen and (max-width: 1280px){
.catalog-list .product {
width: 100%
}
}
.catalog-list { .catalog-list {
justify-content: flex-start;
align-items: flex-start; align-items: flex-start;
flex-wrap: wrap; flex-wrap: wrap;
justify-content: center;
.product { & > .product {
box-sizing: border-box; box-sizing: border-box;
padding: 4px; padding: $pad-small;
width: 26em;
overflow: hidden;
& > vn-one { & > vn-card > div {
border: 1px solid rgba($color-spacer, 0.5); display: flex;
display: block height: 11em;
}
.image { .image {
min-width: 10em; width: 11em;
max-width: 10em; height: 11em;
min-height: 10em;
max-height: 10em;
img { img {
width: 100%; width: 100%;
height: 100% height: 100%
} }
} }
.description { .description {
flex: 1;
display: flex;
flex-direction: column;
box-sizing: border-box; box-sizing: border-box;
& > vn-vertical {
height: 100%; height: 100%;
width: 100%;
overflow: hidden;
padding: .8em;
& > h2 { & > h3 {
text-transform: uppercase;
font-family: vn-font; font-family: vn-font;
margin: 0 0 0.5em 0; margin: 0;
font-weight: 100; margin-bottom: .3em;
line-height: 1em; font-weight: normal;
font-size: 0.9em; line-height: initial;
font-size: 1.2em;
max-height:2.4em;
overflow: hidden;
} }
& > h4 {
& > span {
color: $color-font-secondary; color: $color-font-secondary;
text-transform: uppercase; text-transform: uppercase;
margin-bottom: 0.5em; margin-bottom: .3em;
font-weight: bold; line-height: initial;
font-size: 0.8em font-size: 1em;
flex: 1;
} }
& > .tags {
padding-bottom: .2em;
height: 3em;
& > vn-label-value { & > vn-label-value {
font-size: 0.8em font-size: .8em
} }
} }
} }
.footer {
.price { display: flex;
align-items: center; align-items: center;
margin-top: auto; justify-content: space-between;
font-size: 0.8em; font-size: .8em;
& > vn-one span:first-child { & > .price {
color: $color-font-secondary overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
& > span {
flex: 1;
&:first-child,
&:last-child {
font-size: 1.4em
} }
& > vn-one span:first-child, & > vn-one span:last-child {
font-size: 1.2em
} }
}
vn-icon[icon="add_circle"] { & > vn-icon-button {
color: $color-main padding: 0;
}
} }
} }
} }

View File

@ -3,6 +3,12 @@ $menu-width: 16em;
$topbar-height: 4em; $topbar-height: 4em;
$mobile-width: 800px; $mobile-width: 800px;
// Width
$width-small: 36em;
$width-compact: 60em;
$width-large: 80em;
// Padding // Padding
$pad-none: 0; $pad-none: 0;
@ -17,12 +23,6 @@ $margin-small: 8px;
$margin-medium: 16px; $margin-medium: 16px;
$margin-large: 32px; $margin-large: 32px;
// Border
$border-color: #AAA;
$border-thin: .1em;
$border-thick: .15em;
// Light theme // Light theme
$color-header: #3d3d3d; $color-header: #3d3d3d;
@ -97,3 +97,8 @@ $color-notice-light: darken($color-notice, 35%);
$color-alert-medium: darken($color-alert, 20%); $color-alert-medium: darken($color-alert, 20%);
$color-alert-light: darken($color-alert, 35%); $color-alert-light: darken($color-alert, 35%);
/**/ /**/
// Border
$border-thin: .1em solid $color-spacer;
$border-thin-light: .1em solid $color-spacer-light;

View File

@ -95,7 +95,7 @@
<span translate>Regularize stock</span> <span translate>Regularize stock</span>
</h5> </h5>
<vn-textfield <vn-textfield
label="Quantity" label="Type the visible quantity"
model="$ctrl.quantity" model="$ctrl.quantity"
name="user" name="user"
vn-id="userField" vn-id="userField"

View File

@ -1 +1,2 @@
Regularize stock: Regularizar stock Regularize stock: Regularizar stock
Type the visible quantity: Introduce la cantidad visible

View File

@ -4,16 +4,17 @@
filter="$ctrl.filter" filter="$ctrl.filter"
limit="50" limit="50"
data="items" data="items"
on-data-change="$ctrl.onDataChange()" > on-data-change="$ctrl.onDataChange()">
</vn-crud-model> </vn-crud-model>
<div class="main-with-right-menu"> <div class="main-with-right-menu">
<vn-card> <vn-card>
<vn-horizontal class="catalog-header" pad-medium-h> <vn-horizontal class="catalog-header" pad-medium-h>
<vn-one ng-if="model.moreRows">
<span translate>More than</span> {{model.limit}} <span translate>results</span>
</vn-one>
<vn-one> <vn-one>
<vn-horizontal> <div> <!-- ng-if="model.moreRows" -->
<span translate>More than</span> {{model.limit}} <span translate>results</span>
</div>
</vn-one>
<vn-auto>
<vn-autocomplete vn-id="field" vn-one <vn-autocomplete vn-id="field" vn-one
data="$ctrl.fieldList" data="$ctrl.fieldList"
initial-data="$ctrl.field" initial-data="$ctrl.field"
@ -33,69 +34,65 @@
value-field="way" value-field="way"
label="Order"> label="Order">
</vn-autocomplete> </vn-autocomplete>
</vn-auto>
</vn-horizontal> </vn-horizontal>
</vn-one> </vn-card>
</vn-horizontal> <vn-card
<vn-horizontal class="catalog-list" pad-small> ng-if="!model.data || model.data.length == 0"
style="text-align: center"
margin-medium-top
pad-medium>
<span translate>No results</span>
</vn-card>
<vn-horizontal class="catalog-list">
<section class="product" ng-repeat="item in items"> <section class="product" ng-repeat="item in items">
<vn-one> <vn-card>
<vn-horizontal> <div class="image">
<vn-one class="image">
<img <img
ng-src="//verdnatura.es/vn-image-data/catalog/200x200/{{::item.image}}" ng-src="//verdnatura.es/vn-image-data/catalog/200x200/{{::item.image}}"
zoom-image="//verdnatura.es/vn-image-data/catalog/1600x900/{{::item.image}}" zoom-image="//verdnatura.es/vn-image-data/catalog/1600x900/{{::item.image}}"
on-error-src/> on-error-src/>
</vn-one> </div>
<vn-one pad-small class="description ellipsize"> <div class="description">
<vn-vertical> <h3>
<h2 class="ellipsize" vn-tooltip="{{::item.name}}">
{{::item.name}} {{::item.name}}
</h2> </h3>
<span class="ellipsize" vn-tooltip="{{::item.subName}}"> <h4 class="ellipsize">
{{::item.subName}} <span translate-attr="::{title: item.subName}">{{::item.subName}}</span>
</span> </h4>
<div class="tags">
<vn-label-value <vn-label-value
ng-if="::item.value5"
label="{{::item.tag5}}" label="{{::item.tag5}}"
value="{{::item.value5}}"> value="{{::item.value5}}">
</vn-label-value> </vn-label-value>
<vn-label-value <vn-label-value
ng-if="::item.value6"
label="{{::item.tag6}}" label="{{::item.tag6}}"
value="{{::item.value6}}"> value="{{::item.value6}}">
</vn-label-value> </vn-label-value>
<vn-label-value <vn-label-value
ng-if="::item.value7"
label="{{::item.tag7}}" label="{{::item.tag7}}"
value="{{::item.value7}}"> value="{{::item.value7}}">
</vn-label-value> </vn-label-value>
<vn-label-value </div>
label="{{::item.tag8}}" <div class="footer">
value="{{::item.value8}}"> <div class="price">
</vn-label-value>
<vn-horizontal class="price">
<vn-one>
<span>{{::item.available}}</span> <span>{{::item.available}}</span>
<span translate>from</span> <span translate>from</span>
<span>{{::item.price | currency: 'EUR': 2}}</span> <span>{{::item.price | currency:'EUR':2}}</span>
</vn-one> </div>
<vn-auto> <vn-icon-button
<a href="" vn-tooltip="Add"> icon="add_circle"
<vn-icon-button icon="add_circle" ng-click="$ctrl.preview($event, item)"></vn-icon-button> ng-click="$ctrl.preview($event, item)"
</a> vn-tooltip="Add">
</vn-auto> </vn-icon-button>
</vn-horizontal> </div>
</vn-vertical> </div>
</vn-one> </vn-card>
</vn-horizontal>
</vn-one>
</section> </section>
</vn-horizontal> </vn-horizontal>
<vn-horizontal ng-if="!model.data || model.data.length == 0">
<vn-one pad-small translate style="text-align: center">
No results
</vn-one>
</vn-horizontal>
</vn-card>
<vn-pagination margin-small-v model="model"></vn-pagination> <vn-pagination margin-small-v model="model"></vn-pagination>
</div> </div>
<vn-side-menu side="right"> <vn-side-menu side="right">

View File

@ -1,16 +1,31 @@
@import "variables"; @import "variables";
vn-order-catalog .catalog-header { vn-order-catalog {
border-color: $color-spacer; .catalog-header {
border-bottom: 1px solid rgba($color-spacer, 0.5); border-bottom: $border-thin;
padding: $pad-medium;
align-items: center;
& > vn-one {
display: flex;
flex: 1;
vn-one:first-child {
padding-top: 2em;
}
vn-one:nth-child(2) {
padding-top: 0.5em;
}
span { span {
color: $color-font-secondary color: $color-font-secondary
} }
}
& > vn-auto {
width: 28em;
display: flex;
overflow: hidden;
& > * {
padding-left: $pad-medium;
}
}
}
.catalog-list {
padding-top: $pad-small;
}
} }

View File

@ -6,7 +6,7 @@ vn-catalog-filter > div {
padding-left: $pad-medium; padding-left: $pad-medium;
padding-right: $pad-medium; padding-right: $pad-medium;
border-color: $color-spacer; border-color: $color-spacer;
border-bottom: 1px solid rgba($color-spacer, 0.5); border-bottom: $border-thin;
} }
.item-category { .item-category {
padding: $pad-small; padding: $pad-small;

View File

@ -1,4 +1,6 @@
vn-order-line{ @import "./variables";
vn-order-line {
vn-table { vn-table {
img { img {
border-radius: 50%; border-radius: 50%;
@ -8,7 +10,7 @@ vn-order-line{
} }
.taxes { .taxes {
max-width: 10em; max-width: 10em;
border: .1em solid #CCC; border: $border-thin-light;
text-align: right; text-align: right;
padding: .5em !important; padding: .5em !important;

View File

@ -1,8 +1,10 @@
@import "./variables";
vn-order-summary .summary > div > vn-horizontal > vn-one { vn-order-summary .summary > div > vn-horizontal > vn-one {
min-width: 10em !important; min-width: 10em !important;
&.taxes { &.taxes {
border: .1em solid #CCC; border: $border-thin-light;
text-align: right; text-align: right;
padding: .5em !important; padding: .5em !important;

View File

@ -1,6 +1,8 @@
@import "./variables";
.totalBox { .totalBox {
border: 1px solid #CCC; border: $border-thin-light;
text-align: left; text-align: left;
align-self: flex-end; align-self: flex-end;
} }

View File

@ -8,28 +8,31 @@
auto-load="true"> auto-load="true">
</vn-crud-model> </vn-crud-model>
<vn-vertical> <vn-vertical>
<vn-card pad-large> <vn-card
<vn-vertical> ng-if="!model.data || model.data.length == 0"
<vn-horizontal class="catalog-list" pad-small> style="text-align: center"
pad-medium>
<span translate>No results</span>
</vn-card>
<vn-horizontal class="catalog-list">
<section class="product" ng-repeat="sale in sales"> <section class="product" ng-repeat="sale in sales">
<vn-one> <vn-card>
<vn-horizontal> <div class="image">
<vn-one class="image">
<img <img
ng-src="//verdnatura.es/vn-image-data/catalog/200x200/{{::sale.item.image}}" ng-src="//verdnatura.es/vn-image-data/catalog/200x200/{{::sale.item.image}}"
zoom-image="//verdnatura.es/vn-image-data/catalog/1600x900/{{::sale.item.image}}" zoom-image="//verdnatura.es/vn-image-data/catalog/1600x900/{{::sale.item.image}}"
on-error-src/> on-error-src/>
</vn-one> </div>
<vn-one pad-small class="description ellipsize"> <div class="description">
<vn-vertical> <h3>
<h2 class="ellipsize link" vn-tooltip="{{::sale.item.name}}" <span class="link" ng-click="$ctrl.showDescriptor($event, sale.item.id)">
ng-click="$ctrl.showDescriptor($event, sale.item.id)">
{{::sale.item.name}} {{::sale.item.name}}
</h2>
<span class="ellipsize" vn-tooltip="{{::sale.item.subName}}">
{{::sale.item.subName}}
</span> </span>
</h3>
<h4 class="ellipsize">
<span translate-attr="::{title: item.subName}">{{::sale.item.subName}}</span>
</h4>
<div class="tags">
<vn-label-value <vn-label-value
label="{{::sale.item.tag5}}" label="{{::sale.item.tag5}}"
value="{{::sale.item.value5}}"> value="{{::sale.item.value5}}">
@ -42,31 +45,18 @@
label="{{::sale.item.tag7}}" label="{{::sale.item.tag7}}"
value="{{::sale.item.value7}}"> value="{{::sale.item.value7}}">
</vn-label-value> </vn-label-value>
<vn-label-value </div>
label="{{::sale.item.tag8}}" <div class="footer">
value="{{::sale.item.value8}}"> <div class="price">
</vn-label-value>
<vn-horizontal class="price">
<vn-one>
<span>{{::sale.quantity}}</span> <span>{{::sale.quantity}}</span>
<span translate>by</span> <span translate>by</span>
<span>{{::sale.price | currency: 'EUR': 2}}</span> <span>{{::sale.price | currency: 'EUR': 2}}</span>
</vn-one> </div>
</vn-horizontal> </div>
</vn-vertical> </div>
</vn-one> </vn-card>
</vn-horizontal>
</vn-one>
</section> </section>
</vn-horizontal> </vn-horizontal>
<vn-horizontal ng-if="model.data.length == 0">
<vn-one pad-small-v translate>
No results
</vn-one>
</vn-horizontal>
</vn-vertical>
<vn-pagination model="model"></vn-pagination> <vn-pagination model="model"></vn-pagination>
</vn-card>
</vn-vertical> </vn-vertical>
<vn-item-descriptor-popover vn-id="descriptor"></vn-item-descriptor-popover> <vn-item-descriptor-popover vn-id="descriptor"></vn-item-descriptor-popover>

View File

@ -20,7 +20,7 @@
</vn-thead> </vn-thead>
<vn-tbody> <vn-tbody>
<vn-tr ng-repeat="sale in sales"> <vn-tr ng-repeat="sale in sales">
<vn-td center> <vn-td center shrink>
<vn-check <vn-check
vn-one field="sale.isChecked.isChecked" vn-one field="sale.isChecked.isChecked"
disabled="true"> disabled="true">

View File

@ -75,7 +75,7 @@ vn-ticket-sale {
vn-button[label=Cancel]{ vn-button[label=Cancel]{
display: none; display: none;
} }
vn-card.vn-ticket-create{ vn-card.vn-ticket-create {
padding: 0!important; padding: 0!important;
} }
} }
@ -89,7 +89,7 @@ vn-ticket-sale {
} }
.taxes { .taxes {
max-width: 10em; max-width: 10em;
border: .1em solid #CCC; border: $border-thin-light;
text-align: right; text-align: right;
padding: .5em !important; padding: .5em !important;

View File

@ -1,14 +1,20 @@
vn-ticket-summary .summary > div > vn-horizontal > vn-one { @import "./variables";
min-width: 10em !important;
vn-ticket-summary .summary {
max-width: $width-large;
& > div > vn-horizontal > vn-one {
min-width: 10em;
&.taxes { &.taxes {
border: .1em solid #CCC; border: $border-thin-light;
text-align: right; text-align: right;
padding: .5em !important; padding: .5em;
& > p { & > p {
font-size: 1.2em; font-size: 1.2em;
margin: .2em; margin: .2em;
} }
} }
}
} }