Section titile in topbar, responsive

This commit is contained in:
Juan Ferrer 2019-01-28 00:26:01 +01:00
parent 005193c23c
commit 317102b612
109 changed files with 527 additions and 641 deletions

View File

@ -102,10 +102,10 @@ export default {
agencyAutocomplete: `vn-autocomplete[field="$ctrl.address.agencyModeFk"]`,
phoneInput: `${components.vnTextfield}[name="phone"]`,
mobileInput: `${components.vnTextfield}[name="mobile"]`,
defaultAddress: 'vn-client-address-index vn-horizontal:nth-child(2) div[name="street"]',
secondMakeDefaultStar: 'vn-client-address-index vn-card vn-horizontal:nth-child(3) vn-icon-button[icon="star_border"]',
defaultAddress: 'vn-client-address-index vn-horizontal:nth-child(1) div[name="street"]',
secondMakeDefaultStar: 'vn-client-address-index vn-card vn-horizontal:nth-child(2) vn-icon-button[icon="star_border"]',
firstEditButton: `vn-client-address-index vn-icon-button[icon='edit']`,
secondEditButton: `vn-client-address-index vn-horizontal:nth-child(3) vn-icon-button[icon='edit']`,
secondEditButton: `vn-client-address-index vn-horizontal:nth-child(2) vn-icon-button[icon='edit']`,
activeCheckbox: `vn-check[label='Enabled'] > label > input`,
equalizationTaxCheckboxLabel: `vn-client-address-edit vn-check[label='Is equalizated'] > label > input`,
firstObservationTypeAutocomplete: `vn-client-address-edit [name=observations] :nth-child(1) [field="observation.observationTypeFk"]`,
@ -163,10 +163,10 @@ export default {
clientRisk: {
riskButton: `vn-left-menu a[ui-sref="client.card.risk.index"]`,
newPaymentButton: `${components.vnFloatButton}`,
newPaymentBankInut: `vn-client-risk-create > form > vn-card > div > vn-horizontal:nth-child(3) > vn-textfield:nth-child(1) > div > div > div.infix > input`,
newPaymentAmountInput: `vn-client-risk-create > form > vn-card > div > vn-horizontal:nth-child(3) > vn-textfield:nth-child(2) > div > div > div.infix > input`,
newPaymentBankInut: `vn-client-risk-create vn-textfield[field="$ctrl.receipt.bankFk"] input`,
newPaymentAmountInput: `vn-client-risk-create vn-textfield[field="$ctrl.receipt.amountPaid"] input`,
saveButton: `${components.vnSubmit}`,
firstRiskLineBalance: 'vn-client-risk-index > vn-vertical > vn-card > div > vn-vertical > vn-table > div > vn-tbody > vn-tr:nth-child(1) > vn-td:nth-child(8)'
firstRiskLineBalance: 'vn-client-risk-index vn-tbody > vn-tr:nth-child(1) > vn-td:nth-child(8)'
},
itemsIndex: {
@ -211,54 +211,54 @@ export default {
itemTags: {
goToItemIndexButton: 'vn-item-descriptor [ui-sref="item.index"]',
tagsButton: `vn-left-menu a[ui-sref="item.card.tags"]`,
fourthTagAutocomplete: `vn-item-tags vn-horizontal:nth-child(5) > vn-autocomplete[field="itemTag.tagFk"]`,
fourthValueInput: `vn-item-tags vn-horizontal:nth-child(5) > vn-textfield[label="Value"] input`,
fourthRelevancyInput: `vn-horizontal:nth-child(5) > vn-textfield[label="Relevancy"] input`,
fourthRemoveTagButton: `vn-item-tags vn-horizontal:nth-child(5) vn-icon-button[icon="delete"]`,
fifthTagAutocomplete: `vn-item-tags vn-horizontal:nth-child(6) > vn-autocomplete[field="itemTag.tagFk"]`,
fifthValueInput: `vn-item-tags vn-horizontal:nth-child(6) > vn-textfield[label="Value"] input`,
fifthRelevancyInput: `vn-horizontal:nth-child(6) > vn-textfield[label="Relevancy"] input`,
sixthTagAutocomplete: `vn-item-tags vn-horizontal:nth-child(7) > vn-autocomplete[field="itemTag.tagFk"]`,
sixthValueInput: `vn-item-tags vn-horizontal:nth-child(7) > vn-textfield[label="Value"] input`,
sixthRelevancyInput: `vn-horizontal:nth-child(7) > vn-textfield[label="Relevancy"] input`,
seventhTagAutocomplete: `vn-item-tags vn-horizontal:nth-child(8) > vn-autocomplete[field="itemTag.tagFk"]`,
seventhValueInput: `vn-item-tags vn-horizontal:nth-child(8) > vn-textfield[label="Value"] input`,
seventhRelevancyInput: `vn-horizontal:nth-child(8) > vn-textfield[label="Relevancy"] input`,
addItemTagButton: `vn-icon-button[icon="add_circle"]`,
submitItemTagsButton: `${components.vnSubmit}`
fourthTagAutocomplete: `vn-item-tags vn-horizontal:nth-child(4) > vn-autocomplete[field="itemTag.tagFk"]`,
fourthValueInput: `vn-item-tags vn-horizontal:nth-child(4) > vn-textfield[label="Value"] input`,
fourthRelevancyInput: `vn-item-tags vn-horizontal:nth-child(4) > vn-textfield[label="Relevancy"] input`,
fourthRemoveTagButton: `vn-item-tags vn-horizontal:nth-child(4) vn-icon-button[icon="delete"]`,
fifthTagAutocomplete: `vn-item-tags vn-horizontal:nth-child(5) > vn-autocomplete[field="itemTag.tagFk"]`,
fifthValueInput: `vn-item-tags vn-horizontal:nth-child(5) > vn-textfield[label="Value"] input`,
fifthRelevancyInput: `vn-item-tags vn-horizontal:nth-child(5) > vn-textfield[label="Relevancy"] input`,
sixthTagAutocomplete: `vn-item-tags vn-horizontal:nth-child(6) > vn-autocomplete[field="itemTag.tagFk"]`,
sixthValueInput: `vn-item-tags vn-horizontal:nth-child(6) > vn-textfield[label="Value"] input`,
sixthRelevancyInput: `vn-item-tags vn-horizontal:nth-child(6) > vn-textfield[label="Relevancy"] input`,
seventhTagAutocomplete: `vn-item-tags vn-horizontal:nth-child(7) > vn-autocomplete[field="itemTag.tagFk"]`,
seventhValueInput: `vn-item-tags vn-horizontal:nth-child(7) > vn-textfield[label="Value"] input`,
seventhRelevancyInput: `vn-item-tags vn-horizontal:nth-child(7) > vn-textfield[label="Relevancy"] input`,
addItemTagButton: `vn-item-tags vn-icon-button[icon="add_circle"]`,
submitItemTagsButton: `vn-item-tags ${components.vnSubmit}`
},
itemTax: {
taxButton: `vn-left-menu a[ui-sref="item.card.tax"]`,
firstClassAutocomplete: `vn-horizontal:nth-child(2) > vn-autocomplete[field="tax.taxClassFk"]`,
secondClassAutocomplete: `vn-horizontal:nth-child(3) > vn-autocomplete[field="tax.taxClassFk"]`,
thirdClassAutocomplete: `vn-horizontal:nth-child(4) > vn-autocomplete[field="tax.taxClassFk"]`,
submitTaxButton: `${components.vnSubmit}`
firstClassAutocomplete: `vn-item-tax vn-horizontal:nth-child(1) > vn-autocomplete[field="tax.taxClassFk"]`,
secondClassAutocomplete: `vn-item-tax vn-horizontal:nth-child(2) > vn-autocomplete[field="tax.taxClassFk"]`,
thirdClassAutocomplete: `vn-item-tax vn-horizontal:nth-child(3) > vn-autocomplete[field="tax.taxClassFk"]`,
submitTaxButton: `vn-item-tax ${components.vnSubmit}`
},
itemBarcodes: {
barcodeButton: `vn-left-menu a[ui-sref="item.card.itemBarcode"]`,
addBarcodeButton: `vn-icon[icon="add_circle"]`,
thirdCodeInput: `vn-item-barcode vn-horizontal:nth-child(4) > ${components.vnTextfield}`,
submitBarcodesButton: `${components.vnSubmit}`,
addBarcodeButton: `vn-item-barcode vn-icon[icon="add_circle"]`,
thirdCodeInput: `vn-item-barcode vn-horizontal:nth-child(3) > ${components.vnTextfield}`,
submitBarcodesButton: `vn-item-barcode ${components.vnSubmit}`,
firstCodeRemoveButton: `vn-item-barcode vn-horizontal vn-none vn-icon[icon="delete"]`
},
itemNiches: {
nicheButton: `vn-left-menu a[ui-sref="item.card.niche"]`,
addNicheButton: `vn-icon[icon="add_circle"]`,
firstWarehouseAutocomplete: `vn-autocomplete[field="niche.warehouseFk"]`,
firstCodeInput: `vn-horizontal:nth-child(2) > vn-textfield[label="Code"] input`,
secondWarehouseAutocomplete: `vn-horizontal:nth-child(3) > vn-autocomplete[field="niche.warehouseFk"]`,
secondCodeInput: `vn-horizontal:nth-child(3) > vn-textfield[label="Code"] input`,
secondNicheRemoveButton: `vn-horizontal:nth-child(3) > vn-none > vn-icon[icon="delete"]`,
thirdWarehouseAutocomplete: `vn-horizontal:nth-child(4) > vn-autocomplete[field="niche.warehouseFk"]`,
thirdCodeInput: `vn-horizontal:nth-child(4) > vn-textfield[label="Code"] input`,
submitNichesButton: `${components.vnSubmit}`
addNicheButton: `vn-item-niche vn-icon[icon="add_circle"]`,
firstWarehouseAutocomplete: `vn-item-niche vn-autocomplete[field="niche.warehouseFk"]`,
firstCodeInput: `vn-item-niche vn-horizontal:nth-child(1) > vn-textfield[label="Code"] input`,
secondWarehouseAutocomplete: `vn-item-niche vn-horizontal:nth-child(2) > vn-autocomplete[field="niche.warehouseFk"]`,
secondCodeInput: `vn-item-niche vn-horizontal:nth-child(2) > vn-textfield[label="Code"] input`,
secondNicheRemoveButton: `vn-item-niche vn-horizontal:nth-child(2) > vn-none > vn-icon[icon="delete"]`,
thirdWarehouseAutocomplete: `vn-item-niche vn-horizontal:nth-child(3) > vn-autocomplete[field="niche.warehouseFk"]`,
thirdCodeInput: `vn-item-niche vn-horizontal:nth-child(3) > vn-textfield[label="Code"] input`,
submitNichesButton: `vn-item-niche ${components.vnSubmit}`
},
itemBotanical: {
botanicalButton: `vn-left-menu a[ui-sref="item.card.botanical"]`,
botanicalInput: `vn-horizontal:nth-child(2) > ${components.vnTextfield}`,
genusAutocomplete: `vn-autocomplete[field="$ctrl.botanical.genusFk"]`,
speciesAutocomplete: `vn-autocomplete[field="$ctrl.botanical.specieFk"]`,
submitBotanicalButton: `${components.vnSubmit}`
botanicalInput: `vn-item-botanical vn-horizontal:nth-child(1) > ${components.vnTextfield}`,
genusAutocomplete: `vn-item-botanical vn-autocomplete[field="$ctrl.botanical.genusFk"]`,
speciesAutocomplete: `vn-item-botanical vn-autocomplete[field="$ctrl.botanical.specieFk"]`,
submitBotanicalButton: `vn-item-botanical ${components.vnSubmit}`
},
itemSummary: {
basicData: `vn-item-summary [name="basicData"]`,
@ -269,9 +269,9 @@ export default {
barcode: `vn-item-summary [name="barcode"]`
},
itemDiary: {
thirdTicketId: 'vn-item-diary > vn-vertical > vn-card > div > vn-vertical > vn-table > div > vn-tbody > vn-tr:nth-child(3) > vn-td:nth-child(2) > span',
firstBalance: 'vn-item-diary > vn-vertical > vn-card > div > vn-vertical > vn-table > div > vn-tbody > vn-tr:nth-child(1) > vn-td.balance',
fifthBalance: 'vn-item-diary > vn-vertical > vn-card > div > vn-vertical > vn-table > div > vn-tbody > vn-tr.ng-scope.isToday.isIn > vn-td.balance > span',
thirdTicketId: 'vn-item-diary vn-tbody > vn-tr:nth-child(3) > vn-td:nth-child(2) > span',
firstBalance: 'vn-item-diary vn-tbody > vn-tr:nth-child(1) > vn-td.balance',
fifthBalance: 'vn-item-diary vn-tbody > vn-tr.ng-scope.isToday.isIn > vn-td.balance > span',
warehouseAutocomplete: 'vn-item-diary vn-autocomplete[field="$ctrl.warehouseFk"]',
},
ticketSummary: {
@ -409,12 +409,12 @@ export default {
requestButton: `vn-left-menu a[ui-sref="ticket.card.request.index"]`,
addRequestButton: `vn-ticket-request-index > a > vn-float-button > button`,
request: 'vn-ticket-request-index > form > vn-card > div > vn-horizontal > vn-table > div > vn-tbody > vn-tr',
descriptionInput: `vn-ticket-request-create > form > div > vn-card > div > vn-horizontal:nth-child(2) > vn-textfield > div > div > div.infix > input`,
atenderSelect: `vn-ticket-request-create > form > div > vn-card > div > vn-horizontal:nth-child(2) > vn-autocomplete > div > div > input`,
atenderSelectFirstOption: `vn-ticket-request-create > form > div > vn-card > div > vn-horizontal:nth-child(2) > vn-autocomplete > vn-drop-down > vn-popover > div > div.content > div > div.list > ul > li:nth-child(1)`,
atenderSelectSecondOption: `vn-ticket-request-create > form > div > vn-card > div > vn-horizontal:nth-child(2) > vn-autocomplete > vn-drop-down > vn-popover > div > div.content > div > div.list > ul > li:nth-child(2)`,
quantityInput: `vn-ticket-request-create > form > div > vn-card > div > vn-horizontal:nth-child(3) > vn-textfield:nth-child(1) > div > div > div.infix > input`,
priceInput: `vn-ticket-request-create > form > div > vn-card > div > vn-horizontal:nth-child(3) > vn-textfield:nth-child(2) > div > div > div.infix > input`,
descriptionInput: `vn-ticket-request-create > form > div > vn-card > div > vn-horizontal:nth-child(1) > vn-textfield > div > div > div.infix > input`,
atenderSelect: `vn-ticket-request-create > form > div > vn-card > div > vn-horizontal:nth-child(1) > vn-autocomplete > div > div > input`,
atenderSelectFirstOption: `vn-ticket-request-create > form > div > vn-card > div > vn-horizontal:nth-child(1) > vn-autocomplete > vn-drop-down > vn-popover > div > div.content > div > div.list > ul > li:nth-child(1)`,
atenderSelectSecondOption: `vn-ticket-request-create > form > div > vn-card > div > vn-horizontal:nth-child(1) > vn-autocomplete > vn-drop-down > vn-popover > div > div.content > div > div.list > ul > li:nth-child(2)`,
quantityInput: `vn-ticket-request-create > form > div > vn-card > div > vn-horizontal:nth-child(2) > vn-textfield:nth-child(1) > div > div > div.infix > input`,
priceInput: `vn-ticket-request-create > form > div > vn-card > div > vn-horizontal:nth-child(2) > vn-textfield:nth-child(2) > div > div > div.infix > input`,
firstRemoveRequestButton: `vn-ticket-request-index vn-icon[icon="delete"]:nth-child(1)`,
saveButton: `vn-ticket-request-create > form > div > vn-button-bar > vn-submit[label="Create"] input`,
firstDescription: 'vn-ticket-request-index > form > vn-card > div > vn-horizontal > vn-table > div > vn-tbody > vn-tr:nth-child(1) > vn-td:nth-child(2)',
@ -469,16 +469,16 @@ export default {
developmentButton: 'vn-left-menu a[ui-sref="claim.card.development"]',
addDevelopmentButton: 'vn-claim-development > vn-vertical > vn-card > div > vn-vertical > vn-one > vn-icon-button > button > vn-icon',
firstDeleteDevelopmentButton: 'vn-claim-development > vn-vertical > vn-card > div > vn-vertical > form > vn-horizontal:nth-child(2) > vn-icon-button > button > vn-icon',
firstClaimReasonAutocomplete: 'vn-claim-development vn-horizontal:nth-child(2) vn-autocomplete[field="claimDevelopment.claimReasonFk"]',
firstClaimResultAutocomplete: 'vn-claim-development vn-horizontal:nth-child(2) vn-autocomplete[field="claimDevelopment.claimResultFk"]',
firstClaimResponsibleAutocomplete: 'vn-claim-development vn-horizontal:nth-child(2) vn-autocomplete[field="claimDevelopment.claimResponsibleFk"]',
firstClaimWorkerAutocomplete: 'vn-claim-development vn-horizontal:nth-child(2) vn-autocomplete[field="claimDevelopment.workerFk"]',
firstClaimRedeliveryAutocomplete: 'vn-claim-development vn-horizontal:nth-child(2) vn-autocomplete[field="claimDevelopment.claimRedeliveryFk"]',
secondClaimReasonAutocomplete: 'vn-claim-development vn-horizontal:nth-child(3) vn-autocomplete[field="claimDevelopment.claimReasonFk"]',
secondClaimResultAutocomplete: 'vn-claim-development vn-horizontal:nth-child(3) vn-autocomplete[field="claimDevelopment.claimResultFk"]',
secondClaimResponsibleAutocomplete: 'vn-claim-development vn-horizontal:nth-child(3) vn-autocomplete[field="claimDevelopment.claimResponsibleFk"]',
secondClaimWorkerAutocomplete: 'vn-claim-development vn-horizontal:nth-child(3) vn-autocomplete[field="claimDevelopment.workerFk"]',
secondClaimRedeliveryAutocomplete: 'vn-claim-development vn-horizontal:nth-child(3) vn-autocomplete[field="claimDevelopment.claimRedeliveryFk"]',
firstClaimReasonAutocomplete: 'vn-claim-development vn-horizontal:nth-child(1) vn-autocomplete[field="claimDevelopment.claimReasonFk"]',
firstClaimResultAutocomplete: 'vn-claim-development vn-horizontal:nth-child(1) vn-autocomplete[field="claimDevelopment.claimResultFk"]',
firstClaimResponsibleAutocomplete: 'vn-claim-development vn-horizontal:nth-child(1) vn-autocomplete[field="claimDevelopment.claimResponsibleFk"]',
firstClaimWorkerAutocomplete: 'vn-claim-development vn-horizontal:nth-child(1) vn-autocomplete[field="claimDevelopment.workerFk"]',
firstClaimRedeliveryAutocomplete: 'vn-claim-development vn-horizontal:nth-child(1) vn-autocomplete[field="claimDevelopment.claimRedeliveryFk"]',
secondClaimReasonAutocomplete: 'vn-claim-development vn-horizontal:nth-child(2) vn-autocomplete[field="claimDevelopment.claimReasonFk"]',
secondClaimResultAutocomplete: 'vn-claim-development vn-horizontal:nth-child(2) vn-autocomplete[field="claimDevelopment.claimResultFk"]',
secondClaimResponsibleAutocomplete: 'vn-claim-development vn-horizontal:nth-child(2) vn-autocomplete[field="claimDevelopment.claimResponsibleFk"]',
secondClaimWorkerAutocomplete: 'vn-claim-development vn-horizontal:nth-child(2) vn-autocomplete[field="claimDevelopment.workerFk"]',
secondClaimRedeliveryAutocomplete: 'vn-claim-development vn-horizontal:nth-child(2) vn-autocomplete[field="claimDevelopment.claimRedeliveryFk"]',
saveDevelopmentButton: `${components.vnSubmit}`
},
ordersIndex: {

View File

@ -1,37 +1,41 @@
@import "effects";
vn-autocomplete > div > .mdl-textfield {
position: relative;
width: 100%;
vn-autocomplete {
overflow: hidden;
& > input {
cursor: pointer;
height: 30px;
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
}
& > .icons {
display: none;
position: absolute;
right: 0;
top: 1.3em;
height: 1em;
color: $secondary-font-color;
border-radius: .2em;
& > div > .mdl-textfield {
position: relative;
width: 100%;
& > vn-icon {
& > input {
cursor: pointer;
font-size: 18px;
height: 30px;
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
}
& > .icons {
display: none;
position: absolute;
right: 0;
top: 1.3em;
height: 1em;
color: $secondary-font-color;
border-radius: .2em;
&:hover {
color: $main-font-color;
& > vn-icon {
cursor: pointer;
font-size: 18px;
&:hover {
color: $main-font-color;
}
}
}
}
&:hover > .icons,
& > input:focus + .icons {
display: block;
&:hover > .icons,
& > input:focus + .icons {
display: block;
}
}
}

View File

@ -81,21 +81,14 @@ export default class Controller extends Component {
this.$.popover.hide();
filter = compact(filter);
this.filter = filter != null ? filter : {};
this.focus();
let element = this.element.querySelector('vn-textfield input');
element.select();
element.focus();
}
onSubmit() {
this.filter = this.getObjectFromString(this.searchString);
this.focus();
}
focus() {
// FIXME: Timeout used because textfield blurs focus when Enter key is pressed
setTimeout(() => {
let element = this.element.querySelector('vn-textfield input');
element.select();
element.focus();
}, 200);
}
doSearch() {

View File

@ -1,13 +1,14 @@
@import "effects";
vn-table {
border-collapse: collapse;
display: table;
display: block;
overflow: auto;
width: 100%;
& > div {
width: 100%;
width: inherit;
display: table;
border-collapse: collapse;
vn-thead {
display: table-header-group;
@ -16,11 +17,9 @@ vn-table {
position: relative;
cursor: pointer
}
vn-th[field] > * {
padding-right: 20px
}
vn-th[field] > :after {
font-family: 'Material Icons';
content: 'arrow_drop_down';
@ -29,44 +28,35 @@ vn-table {
color: $lines;
opacity: 0
}
vn-th[field] > :hover:after {
opacity: 1
}
vn-th[field].active > :after {
color: $main-font-color;
opacity: 1
}
vn-th[field].desc > :after {
content: 'arrow_drop_down';
}
vn-th[field].asc > :after {
content: 'arrow_drop_up';
}
}
vn-tbody {
display: table-row-group
}
vn-tfoot {
display: table-footer-group
}
vn-tr, a.vn-tr {
display: table-row
}
vn-empty-rows {
display: table-caption;
caption-side: bottom;
text-align: center;
padding: 10px
}
vn-thead, vn-tbody, vn-tfoot {
vn-tr, a.vn-tr {
display: table-row;
@ -74,7 +64,6 @@ vn-table {
vn-th {
font-weight: bold
}
vn-td, vn-th {
vertical-align: middle;
display: table-cell;
@ -84,18 +73,15 @@ vn-table {
&[number] {
text-align: right;
}
&[center] {
text-align: center;
}
vn-icon.bright, i.bright {
color: #f7931e;
}
}
}
}
vn-thead, vn-tbody, vn-empty-rows {
border-bottom: 3px solid $lines;
}
@ -122,7 +108,6 @@ vn-table {
}
}
}
vn-autocomplete {
div.mdl-textfield {
padding: 0px !important;
@ -134,7 +119,6 @@ vn-table {
display: none !important;
}
}
vn-textfield {
max-width: 100px;
float: right;

View File

@ -3,10 +3,14 @@
<img src="./logo.svg" alt="Logo"></img>
</a>
<vn-icon
ng-if="$ctrl.showMenuButton"
class="show-menu"
icon="menu"
ng-click="$ctrl.showMenu()">
</vn-icon>
<div class="main-title" translate>
{{$ctrl.$state.current.description}}
</div>
<vn-spinner enable="$ctrl.vnApp.loading"></vn-spinner>
<vn-main-menu></vn-main-menu>
</vn-topbar>

View File

@ -10,7 +10,9 @@ export default class App {
$state
});
$transitions.onStart({}, () => {
$transitions.onStart({}, transition => {
let state = transition.targetState().name();
this.showMenuButton = state.split('.').length >= 3;
if (this.menuShown) this.hideMenu();
});
}

View File

@ -1,4 +1,5 @@
@import "background";
@import "margin";
$menu-width: 16em;
$topbar-height: 4em;
@ -19,22 +20,32 @@ vn-app {
z-index: 2;
box-shadow: 0 .1em .2em rgba(1, 1, 1, .2);
height: $topbar-height;
padding: .6em;
padding: .3em;
& > header {
& > * {
padding: .3em;
}
& > .logo > img {
height: 1.8em;
height: 1.6em;
display: block;
}
& > .show-menu {
display: none;
font-size: 2.3em;
font-size: 1.8em;
cursor: pointer;
&:hover {
color: $main-01;
}
}
& > .main-title {
font-size: 1.6em;
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
padding-left: .6em;
}
& > vn-spinner {
padding: 0 .4em;
}
@ -47,6 +58,9 @@ vn-app {
&.padding {
padding-top: $topbar-height;
}
.index-block {
@extend .margin-medium;
}
vn-main-block {
display: block;
margin: 0 auto;
@ -64,6 +78,15 @@ vn-app {
box-shadow: 0 .1em .2em rgba(1, 1, 1, .2);
overflow: auto;
}
.content-block {
@extend .margin-medium;
form vn-horizontal {
& > * {
padding: .2em;
}
}
}
.right-block {
width: $menu-width;
min-width: $menu-width;
@ -84,6 +107,7 @@ vn-app {
opacity: 0;
transition: opacity 200ms ease-out;
}
@media screen and (max-width: $mobile-width) {
& > vn-topbar > header {
& > .logo {
@ -93,16 +117,30 @@ vn-app {
display: block;
}
}
& > .main-view vn-main-block {
padding-left: 0;
& > .main-view {
.index-block {
margin-left: 0;
margin-right: 0;
}
vn-main-block {
padding-left: 0;
.left-block {
top: 0;
transform: translateZ(0) translateX(-$menu-width);
transition: transform 200ms ease-out;
.left-block {
top: 0;
transform: translateZ(0) translateX(-$menu-width);
transition: transform 200ms ease-out;
&.shown {
transform: translateZ(0) translateX(0);
&.shown {
transform: translateZ(0) translateX(0);
}
}
.content-block {
margin-left: 0;
margin-right: 0;
form vn-horizontal {
flex-direction: column;
}
}
}
}

View File

@ -6,27 +6,13 @@
{{currentUserName}}
</div>
<a href="version-notes.html"
target="version-notes">
target="version-notes"
translate-attr="{title: 'What is new'}">
<vn-icon
id="version-notes"
icon="info"
translate-attr="{title: 'What is new'}">
icon="info">
</vn-icon>
</a>
<vn-icon
id="apps"
icon="apps"
vn-popover="apps-menu"
translate-attr="{title: 'Applications'}">
</vn-icon>
<vn-menu vn-id="apps-menu">
<ul pad-small>
<li ng-repeat="mod in ::$ctrl.modules" ui-sref="{{::mod.route.state}}">
<vn-icon icon="{{::mod.icon || 'photo'}}"></vn-icon>
<span translate>{{::mod.name}}</span>
</li>
</ul>
</vn-menu>
</a>
<vn-icon
id="lang"
icon="language"
@ -43,6 +29,25 @@
</li>
</ul>
</vn-menu>
<vn-icon
id="apps"
icon="apps"
vn-popover="apps-menu"
translate-attr="{title: 'Applications'}">
</vn-icon>
<vn-menu vn-id="apps-menu">
<ul pad-small>
<li ng-repeat="mod in ::$ctrl.modules" ui-sref="{{::mod.route.state}}">
<vn-icon icon="{{::mod.icon || 'photo'}}"></vn-icon>
<span translate>{{::mod.name}}</span>
</li>
</ul>
</vn-menu>
<a id="home"
ui-sref="home"
translate-attr="{title: 'Return to home'}">
<vn-icon icon="home"></vn-icon>
</a>
<vn-icon
id="logout"
icon="exit_to_app"

View File

@ -26,7 +26,7 @@ vn-main-menu {
& > vn-icon,
& > a > vn-icon {
display: block;
font-size: 2.2em;
font-size: 2.1em;
}
}
vn-menu.vn-popover > div > div.content > ul {

View File

@ -2,9 +2,11 @@ Applications: Applications
Home: Home
Notifications: Notifications
Logout: Logout
Language: Language
Change language: Change language
Profile: Profile
Data saved!: Data saved!
Push on applications menu: To open a module push on applications menu
Clients: Clients
Modules access: Modules access
Modules access: Modules access
Return to home: Return to home

View File

@ -1,4 +1,5 @@
Applications: Aplicaciones
Language: Idioma
Change language: Cambiar idioma
Client Frozen: Cliente congelado
Client has debt: Cliente con riesgo
@ -14,6 +15,7 @@ Items: Artículos
Locator: Localizador
Logout: Cerrar sesión
Modules access : Acceso a módulos
Return to home: Volver a inicio
Notifications: Notificaciones
name: Nombre
phone: Teléfono

View File

@ -16,7 +16,7 @@ function config($stateProvider, $urlRouterProvider) {
$stateProvider.state('home', {
url: '/',
template: '<vn-home></vn-home>',
description: 'Salix'
description: 'Home'
});
$stateProvider.state('login', {
url: '/login?continue',

View File

@ -6,15 +6,13 @@
a:focus,
input:focus,
button:focus
{
button:focus {
outline: none;
}
button::-moz-focus-inner,
input[type=submit]::-moz-focus-inner,
input[type=button]::-moz-focus-inner,
input[type=reset]::-moz-focus-inner
{
input[type=reset]::-moz-focus-inner {
border: none;
}
.unselectable {
@ -23,7 +21,7 @@ input[type=reset]::-moz-focus-inner
-ms-user-select: none;
user-select: none;
}
.link{
.link {
text-decoration: underline;
cursor: pointer;
&:hover{
@ -46,15 +44,6 @@ input[type=reset]::-moz-focus-inner
padding: $pad-large;
max-width: 1000px;
}
form vn-horizontal > * {
padding: 0 .4em;
}
form vn-horizontal > *:first-child {
padding-left: 0;
}
form vn-horizontal > *:last-child {
padding-right: 0;
}
html [fixed-bottom-right] {
position: fixed;

View File

@ -7,7 +7,6 @@
</vn-watcher>
<form name="form" ng-submit="$ctrl.onSubmit()">
<vn-card pad-large>
<vn-title>Basic data</vn-title>
<vn-horizontal>
<vn-textfield vn-two vn-focus
label="Name"

View File

@ -1,11 +1,7 @@
<vn-main-block>
<vn-horizontal>
<vn-auto class="left-block">
<vn-zone-descriptor zone="$ctrl.zone"></vn-zone-descriptor>
<vn-left-menu></vn-left-menu>
</vn-auto>
<vn-one>
<vn-vertical margin-medium ui-view></vn-vertical>
</vn-one>
</vn-horizontal>
<div class="left-block">
<vn-zone-descriptor zone="$ctrl.zone"></vn-zone-descriptor>
<vn-left-menu></vn-left-menu>
</div>
<div class="content-block" ui-view></div>
</vn-main-block>

View File

@ -8,7 +8,6 @@
<form name="form" ng-submit="$ctrl.onSubmit()" margin-medium>
<div style="max-width: 50em; margin: 0 auto;">
<vn-card pad-large>
<vn-title>New zone</vn-title>
<vn-horizontal>
<vn-textfield vn-two vn-focus
label="Name"

View File

@ -7,7 +7,6 @@
</vn-watcher>
<form name="form" ng-submit="$ctrl.onSubmit()">
<vn-card pad-large>
<vn-title>Edit zone</vn-title>
<vn-horizontal>
<vn-textfield vn-two vn-focus
label="Name"

View File

@ -6,7 +6,7 @@
data="zones"
auto-load="false">
</vn-crud-model>
<div margin-medium>
<div class="index-block">
<div class="vn-list">
<vn-card pad-medium-h>
<vn-searchbar

View File

@ -4,11 +4,9 @@
filter="::$ctrl.filter"
params="{zoneFk: $ctrl.$stateParams.id, parentFk: 1}">
</vn-crud-model>
<vn-horizontal>
<vn-vertical vn-one>
<vn-card pad-large>
<vn-title>Locations</vn-title>
<vn-searchbar
model="model"
expr-builder="$ctrl.exprBuilder(param, value)"

View File

@ -15,7 +15,7 @@
"url": "/index?q",
"state": "zone.index",
"component": "vn-zone-index",
"description": "List",
"description": "Zones",
"acl": ["developer"]
},
{

View File

@ -8,7 +8,6 @@
<vn-card pad-large>
<vn-vertical>
<vn-horizontal>
<vn-title vn-two>Action</vn-title>
<div class="totalBox" ng-show="$ctrl.salesClaimed.length > 0">
<vn-label-value label="Total claimed"
value="{{$ctrl.claimedTotal | currency:'€':2}}">

View File

@ -7,7 +7,6 @@
</vn-watcher>
<form name="form" ng-submit="watcher.submit()" compact>
<vn-card pad-large>
<vn-title>Basic data</vn-title>
<vn-horizontal>
<vn-autocomplete
vn-one

View File

@ -1,11 +1,7 @@
<vn-main-block>
<vn-horizontal>
<vn-auto class="left-block">
<vn-claim-descriptor claim="$ctrl.claim"></vn-claim-descriptor>
<vn-left-menu></vn-left-menu>
</vn-auto>
<vn-one>
<vn-vertical margin-medium ui-view></vn-vertical>
</vn-one>
</vn-horizontal>
<div class="left-block">
<vn-claim-descriptor claim="$ctrl.claim"></vn-claim-descriptor>
<vn-left-menu></vn-left-menu>
</div>
<div class="content-block" ui-view></div>
</vn-main-block>

View File

@ -10,7 +10,6 @@
<vn-card pad-large>
<vn-vertical>
<vn-horizontal>
<vn-title vn-two>Detail</vn-title>
<div class="totalBox">
<vn-label-value label="Total"
value="{{$ctrl.paidTotal | currency:'€':2}}">

View File

@ -40,67 +40,66 @@
<vn-card pad-large>
<vn-vertical>
<form name="form" ng-submit="$ctrl.onSubmit()">
<vn-title vn-two>Development</vn-title>
<vn-horizontal ng-repeat="claimDevelopment in claimDevelopments">
<vn-autocomplete
vn-one
vn-focus
label="Reason"
field="claimDevelopment.claimReasonFk"
data="claimReasons"
fields="['id', 'description']"
show-field="description"
vn-acl="salesAssistant">
</vn-autocomplete>
<vn-autocomplete
vn-one
label="Result"
field="claimDevelopment.claimResultFk"
data="claimResults"
fields="['id', 'description']"
show-field="description"
vn-acl="salesAssistant">
</vn-autocomplete>
<vn-autocomplete
vn-one
label="Responsible"
field="claimDevelopment.claimResponsibleFk"
data="claimResponsibles"
fields="['id', 'description']"
show-field="description"
vn-acl="salesAssistant">
</vn-autocomplete>
<vn-autocomplete
vn-one
label="Worker"
field="claimDevelopment.workerFk"
url="/client/api/Clients/activeWorkersWithRole"
search-function="{firstName: $search}"
where="{role: 'employee'}"
show-field="firstName"
value-field="id"
vn-acl="salesAssistant">
<tpl-item>{{firstName}} {{name}}</tpl-item>
</vn-autocomplete>
<vn-autocomplete
vn-one
label="Redelivery"
field="claimDevelopment.claimRedeliveryFk"
data="claimRedeliveries"
fields="['id', 'description']"
show-field="description"
vn-acl="salesAssistant">
</vn-autocomplete>
<vn-icon-button
medium-grey
margin-medium-v
vn-tooltip="Remove sale"
icon="delete"
ng-click="model.remove($index)"
tabindex="-1"
vn-acl="salesAssistant">
</vn-icon-button>
</vn-horizontal>
<vn-horizontal ng-repeat="claimDevelopment in claimDevelopments">
<vn-autocomplete
vn-one
vn-focus
label="Reason"
field="claimDevelopment.claimReasonFk"
data="claimReasons"
fields="['id', 'description']"
show-field="description"
vn-acl="salesAssistant">
</vn-autocomplete>
<vn-autocomplete
vn-one
label="Result"
field="claimDevelopment.claimResultFk"
data="claimResults"
fields="['id', 'description']"
show-field="description"
vn-acl="salesAssistant">
</vn-autocomplete>
<vn-autocomplete
vn-one
label="Responsible"
field="claimDevelopment.claimResponsibleFk"
data="claimResponsibles"
fields="['id', 'description']"
show-field="description"
vn-acl="salesAssistant">
</vn-autocomplete>
<vn-autocomplete
vn-one
label="Worker"
field="claimDevelopment.workerFk"
url="/client/api/Clients/activeWorkersWithRole"
search-function="{firstName: $search}"
where="{role: 'employee'}"
show-field="firstName"
value-field="id"
vn-acl="salesAssistant">
<tpl-item>{{firstName}} {{name}}</tpl-item>
</vn-autocomplete>
<vn-autocomplete
vn-one
label="Redelivery"
field="claimDevelopment.claimRedeliveryFk"
data="claimRedeliveries"
fields="['id', 'description']"
show-field="description"
vn-acl="salesAssistant">
</vn-autocomplete>
<vn-icon-button
medium-grey
margin-medium-v
vn-tooltip="Remove sale"
icon="delete"
ng-click="model.remove($index)"
tabindex="-1"
vn-acl="salesAssistant">
</vn-icon-button>
</vn-horizontal>
</form>
<vn-one pad-medium-top>
<vn-icon-button

View File

@ -6,7 +6,7 @@
data="claims"
auto-load="false">
</vn-crud-model>
<div margin-medium>
<div class="index-block">
<div class="vn-list">
<vn-card pad-medium-h>
<vn-searchbar

View File

@ -4,15 +4,12 @@ vn-claim-index {
.Pendiente {
background-color: $main-01-05;
}
.Gestionado {
background-color: $main-03-05;
}
.Anulado, .Cuestionado {
background-color: white;
}
.Resuelto {
background-color: $main-02-05;
}

View File

@ -16,7 +16,7 @@
"url": "/index?q",
"state": "claim.index",
"component": "vn-claim-index",
"description": "List"
"description": "Claims"
},
{
"url": "/:id",

View File

@ -37,122 +37,116 @@
</vn-one>
<vn-auto>
<h4 translate>Detail</h4>
<div style="overflow: auto">
<vn-table model="model">
<vn-thead>
<vn-tr>
<vn-th number>Id</vn-th>
<vn-th>Landed</vn-th>
<vn-th number>Quantity</vn-th>
<vn-th number>Claimed</vn-th>
<vn-th>Description</vn-th>
<vn-th number>Price</vn-th>
<vn-th number>Disc.</vn-th>
<vn-th number>Total</vn-th>
</vn-tr>
</vn-thead>
<vn-tbody>
<vn-tr ng-repeat="saleClaimed in $ctrl.summary.salesClaimed">
<vn-td number>
<span
ng-click="$ctrl.showDescriptor($event, saleClaimed.sale.itemFk)"
pointer class="link">
{{("000000"+saleClaimed.sale.itemFk).slice(-6)}}
</span>
</vn-td>
<vn-td>{{saleClaimed.sale.ticket.landed | dateTime: 'dd/MM/yyyy'}}</vn-td>
<vn-td number>{{saleClaimed.sale.quantity}}</vn-td>
<vn-td number>{{saleClaimed.quantity}}</vn-td>
<vn-td>{{saleClaimed.sale.concept}}</vn-td>
<vn-td number>{{saleClaimed.sale.price | currency:'€':2}}</vn-td>
<vn-td number>{{saleClaimed.sale.discount}} %</vn-td>
<vn-td number>
{{(saleClaimed.sale.quantity * saleClaimed.sale.price) -
((saleClaimed.sale.discount *
(saleClaimed.sale.quantity * saleClaimed.sale.price))/100) | currency:'€':2
}}
</vn-td>
</vn-tr>
</vn-tbody>
<vn-empty-rows ng-if="model.data.length === 0" translate>
No results
</vn-empty-rows>
</vn-table>
</div>
<vn-table model="model">
<vn-thead>
<vn-tr>
<vn-th number>Id</vn-th>
<vn-th>Landed</vn-th>
<vn-th number>Quantity</vn-th>
<vn-th number>Claimed</vn-th>
<vn-th>Description</vn-th>
<vn-th number>Price</vn-th>
<vn-th number>Disc.</vn-th>
<vn-th number>Total</vn-th>
</vn-tr>
</vn-thead>
<vn-tbody>
<vn-tr ng-repeat="saleClaimed in $ctrl.summary.salesClaimed">
<vn-td number>
<span
ng-click="$ctrl.showDescriptor($event, saleClaimed.sale.itemFk)"
pointer class="link">
{{("000000"+saleClaimed.sale.itemFk).slice(-6)}}
</span>
</vn-td>
<vn-td>{{saleClaimed.sale.ticket.landed | dateTime: 'dd/MM/yyyy'}}</vn-td>
<vn-td number>{{saleClaimed.sale.quantity}}</vn-td>
<vn-td number>{{saleClaimed.quantity}}</vn-td>
<vn-td>{{saleClaimed.sale.concept}}</vn-td>
<vn-td number>{{saleClaimed.sale.price | currency:'€':2}}</vn-td>
<vn-td number>{{saleClaimed.sale.discount}} %</vn-td>
<vn-td number>
{{(saleClaimed.sale.quantity * saleClaimed.sale.price) -
((saleClaimed.sale.discount *
(saleClaimed.sale.quantity * saleClaimed.sale.price))/100) | currency:'€':2
}}
</vn-td>
</vn-tr>
</vn-tbody>
<vn-empty-rows ng-if="model.data.length === 0" translate>
No results
</vn-empty-rows>
</vn-table>
</vn-auto>
<vn-auto>
<h4 translate>Development</h4>
<div style="overflow: auto">
<vn-table model="model">
<vn-thead>
<vn-tr>
<vn-th>Reason</vn-th>
<vn-th>Result</vn-th>
<vn-th>Responsible</vn-th>
<vn-th>Worker</vn-th>
<vn-th>Redelivery</vn-th>
</vn-tr>
</vn-thead>
<vn-tbody>
<vn-tr ng-repeat="development in $ctrl.summary.developments">
<vn-td>{{development.claimReason.description}}</vn-td>
<vn-td>{{development.claimResult.description}}</vn-td>
<vn-td>{{development.claimResponsible.description}}</vn-td>
<vn-td>{{development.worker.firstName}}</vn-td>
<vn-td>{{development.claimRedelivery.description}}</vn-td>
</vn-tr>
</vn-tbody>
<vn-empty-rows ng-if="model.data.length === 0" translate>
No results
</vn-empty-rows>
</vn-table>
</div>
<vn-table model="model">
<vn-thead>
<vn-tr>
<vn-th>Reason</vn-th>
<vn-th>Result</vn-th>
<vn-th>Responsible</vn-th>
<vn-th>Worker</vn-th>
<vn-th>Redelivery</vn-th>
</vn-tr>
</vn-thead>
<vn-tbody>
<vn-tr ng-repeat="development in $ctrl.summary.developments">
<vn-td>{{development.claimReason.description}}</vn-td>
<vn-td>{{development.claimResult.description}}</vn-td>
<vn-td>{{development.claimResponsible.description}}</vn-td>
<vn-td>{{development.worker.firstName}}</vn-td>
<vn-td>{{development.claimRedelivery.description}}</vn-td>
</vn-tr>
</vn-tbody>
<vn-empty-rows ng-if="model.data.length === 0" translate>
No results
</vn-empty-rows>
</vn-table>
</vn-auto>
<vn-auto>
<h4 translate>Action</h4>
<div style="overflow: auto">
<vn-table model="model">
<vn-thead>
<vn-tr>
<vn-th number>Id</vn-th>
<vn-th number>Destination</vn-th>
<vn-th number>Landed</vn-th>
<vn-th number>Quantity</vn-th>
<vn-th number>Description</vn-th>
<vn-th number>Price</vn-th>
<vn-th number>Disc.</vn-th>
<vn-th number>Total</vn-th>
</vn-tr>
</vn-thead>
<vn-tbody>
<vn-tr ng-repeat="action in $ctrl.summary.actions">
<vn-td number>
<span
ng-click="$ctrl.showDescriptor($event, action.sale.itemFk)"
pointer class="link">
{{("000000"+action.sale.itemFk).slice(-6)}}
</span>
</vn-td>
<vn-td number>{{action.sale.id}}</vn-td>
<vn-td number>{{action.claimBeggining.description}}</vn-td>
<vn-td number>{{action.sale.ticket.landed | dateTime: 'dd/MM/yyyy'}}</vn-td>
<vn-td number>{{action.sale.quantity}}</vn-td>
<vn-td number>{{action.sale.concept}}</vn-td>
<vn-td number>{{action.sale.price}}</vn-td>
<vn-td number>{{action.sale.discount}} %</vn-td>
<vn-td number>
{{(action.sale.quantity * action.sale.price) -
((action.sale.discount *
(action.sale.quantity * action.sale.price))/100) | currency:'€':2
}}
</vn-td>
</vn-tr>
</vn-tbody>
<vn-empty-rows ng-if="model.data.length === 0" translate>
No results
</vn-empty-rows>
</vn-table>
</div>
<vn-table model="model">
<vn-thead>
<vn-tr>
<vn-th number>Id</vn-th>
<vn-th number>Destination</vn-th>
<vn-th number>Landed</vn-th>
<vn-th number>Quantity</vn-th>
<vn-th number>Description</vn-th>
<vn-th number>Price</vn-th>
<vn-th number>Disc.</vn-th>
<vn-th number>Total</vn-th>
</vn-tr>
</vn-thead>
<vn-tbody>
<vn-tr ng-repeat="action in $ctrl.summary.actions">
<vn-td number>
<span
ng-click="$ctrl.showDescriptor($event, action.sale.itemFk)"
pointer class="link">
{{("000000"+action.sale.itemFk).slice(-6)}}
</span>
</vn-td>
<vn-td number>{{action.sale.id}}</vn-td>
<vn-td number>{{action.claimBeggining.description}}</vn-td>
<vn-td number>{{action.sale.ticket.landed | dateTime: 'dd/MM/yyyy'}}</vn-td>
<vn-td number>{{action.sale.quantity}}</vn-td>
<vn-td number>{{action.sale.concept}}</vn-td>
<vn-td number>{{action.sale.price}}</vn-td>
<vn-td number>{{action.sale.discount}} %</vn-td>
<vn-td number>
{{(action.sale.quantity * action.sale.price) -
((action.sale.discount *
(action.sale.quantity * action.sale.price))/100) | currency:'€':2
}}
</vn-td>
</vn-tr>
</vn-tbody>
<vn-empty-rows ng-if="model.data.length === 0" translate>
No results
</vn-empty-rows>
</vn-table>
</vn-auto>
</vn-horizontal>
</vn-card>

View File

@ -8,7 +8,6 @@
</vn-watcher>
<form name="form" ng-submit="watcher.submitGo('client.card.address.index')" compact>
<vn-card pad-large>
<vn-title>New address</vn-title>
<vn-horizontal pad-small-v>
<vn-check vn-one label="Default" field="$ctrl.address.isDefaultAddress"></vn-check>
</vn-horizontal>

View File

@ -27,7 +27,6 @@
</vn-crud-model>
<form name="form" ng-submit="$ctrl.submit()" compact>
<vn-card pad-large>
<vn-title>Edit address</vn-title>
<vn-horizontal pad-small-v>
<vn-check vn-one label="Enabled" field="$ctrl.address.isActive"></vn-check>
<vn-check

View File

@ -8,7 +8,6 @@
</vn-crud-model>
<div compact>
<vn-card pad-large>
<vn-title vn-one>Addresses</vn-title>
<vn-horizontal ng-repeat="address in addresses" class="pad-medium-top" style="align-items: center;">
<vn-one border-radius class="pad-small border-solid"
ng-class="{'bg-main': address.isDefaultAddress,'bg-opacity-item': !address.isActive && !address.isDefaultAddress}">

View File

@ -7,7 +7,6 @@
</vn-watcher>
<form name="form" ng-submit="watcher.submit()" compact>
<vn-card pad-large>
<vn-title>Basic data</vn-title>
<vn-horizontal>
<vn-textfield vn-one
label="Comercial Name"

View File

@ -7,7 +7,6 @@
</vn-watcher>
<form name="form" ng-submit="$ctrl.onSubmit()" compact>
<vn-card pad-large>
<vn-title>Pay method</vn-title>
<vn-horizontal>
<vn-autocomplete
vn-one

View File

@ -1,11 +1,7 @@
<vn-main-block>
<vn-horizontal>
<vn-auto class="left-block">
<vn-client-descriptor client="$ctrl.client"></vn-client-descriptor>
<vn-left-menu></vn-left-menu>
</vn-auto>
<vn-one>
<vn-vertical margin-medium ui-view></vn-vertical>
</vn-one>
</vn-horizontal>
<div class="left-block">
<vn-client-descriptor client="$ctrl.client"></vn-client-descriptor>
<vn-left-menu></vn-left-menu>
</div>
<div class="content-block" ui-view></div>
</vn-main-block>

View File

@ -13,7 +13,6 @@
</vn-watcher>
<form name="form" ng-submit="$ctrl.onSubmit()" compact>
<vn-card pad-large>
<vn-title>Contacts</vn-title>
<vn-horizontal ng-repeat="contact in contacts">
<vn-textfield
vn-one

View File

@ -8,7 +8,6 @@
<form name="form" ng-submit="$ctrl.onSubmit()" margin-medium>
<div style="max-width: 50em; margin: 0 auto;">
<vn-card pad-large>
<vn-title>New client</vn-title>
<vn-horizontal>
<vn-textfield vn-two label="Comercial Name" field="$ctrl.client.name" vn-focus></vn-textfield>
<vn-autocomplete vn-one

View File

@ -1,6 +1,5 @@
<form name="form" ng-submit="$ctrl.onSubmit()" compact>
<vn-card pad-large>
<vn-title>New contract</vn-title>
<vn-horizontal>
<vn-textfield
vn-one

View File

@ -1,6 +1,5 @@
<div compact>
<vn-card pad-large>
<vn-title vn-one>Contract credit insurance</vn-title>
<vn-horizontal ng-repeat="classification in $ctrl.classifications track by classification.id" class="pad-medium-top" style="align-items: center;">
<vn-one border-radius class="pad-small border-solid" ng-class="{'bg-main': !classification.finished,'bg-opacity-item': classification.finished}">
<vn-horizontal style="align-items: center;">

View File

@ -7,7 +7,6 @@
</vn-watcher>
<form name="form" ng-submit="$ctrl.onSubmit()" compact>
<vn-card pad-large>
<vn-title>New credit</vn-title>
<vn-horizontal>
<vn-textfield
vn-one

View File

@ -5,11 +5,9 @@
limit="20"
data="insurances" auto-load="false">
</vn-crud-model>
<vn-vertical compact>
<vn-card pad-large>
<vn-vertical>
<vn-title>Requested credits</vn-title>
<vn-table model="model">
<vn-thead>
<vn-tr>

View File

@ -7,7 +7,6 @@
</vn-watcher>
<form name="form" ng-submit="$ctrl.onSubmit()" compact>
<vn-card pad-large>
<vn-title>New credit</vn-title>
<vn-horizontal>
<vn-textfield vn-one label="Credit" field="$ctrl.client.credit" type="number" vn-focus></vn-textfield>
</vn-horizontal>

View File

@ -6,11 +6,9 @@
limit="20"
data="credits" auto-load="false">
</vn-crud-model>
<vn-vertical compact>
<vn-card pad-large>
<vn-vertical>
<vn-title>Credits</vn-title>
<vn-table model="model">
<vn-thead>
<vn-tr>

View File

@ -7,7 +7,6 @@
</vn-watcher>
<form name="form" ng-submit="$ctrl.submit()" compact>
<vn-card pad-large>
<vn-title>Fiscal data</vn-title>
<vn-horizontal>
<vn-textfield
vn-two

View File

@ -7,7 +7,6 @@
</vn-watcher>
<form name="form" ng-submit="$ctrl.onSubmit()" compact>
<vn-card pad-large>
<vn-title>New greuge</vn-title>
<vn-horizontal>
<vn-textfield
vn-one

View File

@ -6,16 +6,13 @@
limit="20"
data="greuges" auto-load="false">
</vn-crud-model>
<mg-ajax
path="/client/api/greuges/{{$ctrl.$stateParams.id}}/sumAmount"
options="mgEdit">
</mg-ajax>
<vn-vertical compact>
<vn-card pad-large>
<vn-horizontal>
<vn-title vn-two>Greuge</vn-title>
<div class="totalBox" ng-if="model.data.length > 0">
<vn-label-value label="Total"
value="{{edit.model.sumAmount | currency: ' €': 2}}">

View File

@ -6,7 +6,7 @@
data="clients"
auto-load="false">
</vn-crud-model>
<div margin-medium>
<div class="index-block">
<div class="vn-list">
<vn-card pad-medium-h>
<vn-searchbar

View File

@ -6,5 +6,4 @@
limit="20"
data="$ctrl.logs" auto-load="false">
</vn-crud-model>
<vn-log model="model"></vn-log>

View File

@ -6,11 +6,9 @@
limit="20"
data="mandates" auto-load="false">
</vn-crud-model>
<vn-vertical compact>
<vn-card pad-large>
<vn-vertical>
<vn-title>Mandates</vn-title>
<vn-table model="model">
<vn-thead>
<vn-tr>

View File

@ -8,7 +8,6 @@
</vn-watcher>
<form name="form" ng-submit="watcher.submitGo('client.card.note.index')" compact>
<vn-card pad-large>
<vn-title>New note</vn-title>
<vn-horizontal>
<vn-textarea
vn-one

View File

@ -6,10 +6,8 @@
data="notes"
auto-load="true">
</vn-crud-model>
<vn-vertical compact>
<vn-card pad-large>
<vn-title>Notes</vn-title>
<vn-vertical
ng-repeat="note in notes"
pad-small

View File

@ -7,7 +7,6 @@
</vn-watcher>
<form name="form" ng-submit="$ctrl.onSubmit()" compact>
<vn-card pad-large>
<vn-title>New recovery</vn-title>
<vn-horizontal>
<vn-date-picker
vn-one

View File

@ -6,11 +6,9 @@
limit="20"
data="recoveries" auto-load="false">
</vn-crud-model>
<vn-vertical compact>
<vn-card pad-large>
<vn-vertical>
<vn-title>Recoveries</vn-title>
<vn-table model="model">
<vn-thead>
<vn-tr>

View File

@ -7,7 +7,6 @@
</vn-watcher>
<form name="form" ng-submit="$ctrl.onSubmit()" compact>
<vn-card pad-large>
<vn-title>New payment</vn-title>
<vn-horizontal>
<vn-date-picker vn-one
label="Date"
@ -33,7 +32,7 @@
vn-one
margin-medium-right
label="Amount"
field="$ctrl.receipt.amountPaid "
field="$ctrl.receipt.amountPaid"
vn-focus>
</vn-textfield>
</vn-horizontal>

View File

@ -17,7 +17,6 @@
<vn-card pad-large>
<vn-horizontal>
<vn-one>
<vn-title>Balance</vn-title>
</vn-one>
<vn-one>
<vn-autocomplete vn-one

View File

@ -16,7 +16,7 @@
"url": "/index?q",
"state": "client.index",
"component": "vn-client-index",
"description": "List"
"description": "Clients"
},
{
"url": "/create",

View File

@ -7,7 +7,6 @@
</vn-watcher>
<form name="form" ng-submit="$ctrl.onSubmit()" compact>
<vn-card pad-large>
<vn-title>Send sample</vn-title>
<vn-horizontal>
<vn-autocomplete
vn-one

View File

@ -6,11 +6,9 @@
limit="20"
data="samples" auto-load="false">
</vn-crud-model>
<vn-vertical compact>
<vn-card pad-large>
<vn-horizontal>
<vn-title vn-two>Samples</vn-title>
</vn-horizontal>
<vn-vertical>
<vn-table model="model">

View File

@ -7,7 +7,6 @@
</vn-watcher>
<form name="form" ng-submit="watcher.submit()" compact>
<vn-card pad-large>
<vn-title>Web access</vn-title>
<vn-horizontal pad-small-v>
<vn-check
vn-one

View File

@ -5,11 +5,9 @@
limit="20"
data="transactions" auto-load="false">
</vn-crud-model>
<vn-vertical compact>
<vn-card pad-large>
<vn-vertical>
<vn-title>Web Payment</vn-title>
<vn-table model="model">
<vn-thead>
<vn-tr>

View File

@ -13,7 +13,6 @@
</vn-watcher>
<form name="form" ng-submit="$ctrl.onSubmit()" compact>
<vn-card pad-large>
<vn-title>Barcodes</vn-title>
<vn-horizontal ng-repeat="barcode in barcodes track by $index">
<vn-textfield
vn-three

View File

@ -11,7 +11,6 @@
</vn-watcher>
<form name="form" ng-submit="watcher.submit()" ng-cloak compact>
<vn-card pad-large>
<vn-title>Botanical</vn-title>
<vn-horizontal>
<vn-textfield
vn-one

View File

@ -1,11 +1,7 @@
<vn-main-block>
<vn-horizontal>
<vn-auto class="left-block">
<vn-item-descriptor item="$ctrl.item"></vn-item-descriptor>
<vn-left-menu></vn-left-menu>
</vn-auto>
<vn-one>
<vn-vertical margin-medium ui-view></vn-vertical>
</vn-one>
</vn-horizontal>
<div class="left-block">
<vn-item-descriptor item="$ctrl.item"></vn-item-descriptor>
<vn-left-menu></vn-left-menu>
</div>
<div class="content-block" ui-view></div>
</vn-main-block>

View File

@ -8,7 +8,6 @@
<form name="form" ng-submit="$ctrl.onSubmit()" margin-medium>
<div compact>
<vn-card pad-large>
<vn-title>New item</vn-title>
<vn-horizontal>
<vn-textfield
vn-one

View File

@ -11,7 +11,6 @@
</vn-watcher>
<form name="form" ng-submit="watcher.submit()" ng-cloak compact>
<vn-card pad-large>
<vn-title>Basic data</vn-title>
<vn-horizontal>
<vn-textfield vn-one label="Name" field="$ctrl.item.name" vn-focus></vn-textfield>
<vn-textfield

View File

@ -7,7 +7,6 @@
<vn-vertical>
<vn-card pad-large compact>
<vn-vertical>
<vn-title>Item diary</vn-title>
<vn-horizontal>
<vn-autocomplete
vn-focus

View File

@ -6,11 +6,9 @@
limit="20"
data="logs" auto-load="false">
</vn-crud-model>
<vn-vertical>
<vn-card pad-large>
<vn-vertical>
<vn-title>History</vn-title>
<vn-table model="model">
<vn-thead>
<vn-tr>

View File

@ -6,7 +6,7 @@
data="items"
auto-load="false">
</vn-crud-model>
<div margin-medium>
<div class="index-block">
<div class="vn-list">
<vn-card pad-medium-h>
<vn-searchbar

View File

@ -7,7 +7,6 @@
<vn-vertical>
<vn-card pad-large>
<vn-vertical>
<vn-title>Last entries</vn-title>
<vn-horizontal>
<vn-date-picker
vn-one

View File

@ -13,10 +13,8 @@
</vn-watcher>
<form name="form" ng-submit="$ctrl.onSubmit()" compact>
<vn-card pad-large>
<vn-title>Niches</vn-title>
<vn-horizontal ng-repeat="niche in niches track by $index">
<vn-autocomplete
url="/item/api/Warehouses"
show-field="name"
value-field="id"

View File

@ -16,7 +16,7 @@
"url": "/index?q",
"state": "item.index",
"component": "vn-item-index",
"description": "List"
"description": "Items"
},
{
"url": "/create",

View File

@ -22,7 +22,6 @@
</vn-crud-model>
<form name="form" ng-submit="$ctrl.onSubmit()" compact>
<vn-card pad-large>
<vn-title>Tags</vn-title>
<vn-horizontal ng-repeat="itemTag in $ctrl.itemTags">
<vn-autocomplete
vn-one

View File

@ -6,7 +6,6 @@
</vn-crud-model>
<form name="form" ng-submit="$ctrl.submit()" compact>
<vn-card pad-large>
<vn-title>Tax</vn-title>
<vn-horizontal ng-repeat="tax in $ctrl.taxes track by $index">
<vn-textfield vn-one
label="Country"

View File

@ -7,7 +7,6 @@
</vn-watcher>
<form name="form" ng-submit="watcher.submit()" compact>
<vn-card pad-large>
<vn-title>Basic data</vn-title>
<vn-horizontal>
<vn-autocomplete
vn-one

View File

@ -1,11 +1,7 @@
<vn-main-block>
<vn-horizontal>
<vn-auto class="left-block">
<vn-order-descriptor order="$ctrl.order"></vn-order-descriptor>
<vn-left-menu></vn-left-menu>
</vn-auto>
<vn-one>
<vn-vertical margin-medium ui-view></vn-vertical>
</vn-one>
</vn-horizontal>
<div class="left-block">
<vn-order-descriptor order="$ctrl.order"></vn-order-descriptor>
<vn-left-menu></vn-left-menu>
</div>
<div class="content-block" ui-view></div>
</vn-main-block>

View File

@ -5,7 +5,6 @@
limit="50"
data="items" on-data-change="$ctrl.onDataChange()" >
</vn-crud-model>
<vn-horizontal>
<vn-vertical vn-one>
<vn-card>

View File

@ -1,4 +1,3 @@
<vn-title>New order</vn-title>
<vn-autocomplete
vn-focus
vn-id="client"

View File

@ -5,7 +5,7 @@
limit="20"
data="orders" auto-load="false">
</vn-crud-model>
<div margin-medium>
<div class="index-block">
<div class="vn-list">
<vn-card pad-medium-h>
<vn-searchbar auto-load="false"

View File

@ -2,13 +2,10 @@
vn-id="watcher"
data="$ctrl.rows">
</vn-watcher>
<vn-vertical>
<vn-card pad-large>
<vn-vertical>
<vn-horizontal>
<vn-title vn-two>Sale</vn-title>
<div class="totalBox">
<vn-label translate>Subtotal</vn-label>
<span>{{$ctrl.subtotal | currency:'€':2}}</span>

View File

@ -16,7 +16,7 @@
"url": "/index?q",
"state": "order.index",
"component": "vn-order-index",
"description": "List"
"description": "Orders"
},
{
"url": "/:id",

View File

@ -39,7 +39,6 @@
<p><vn-label><strong>Total</strong></vn-label> <strong>{{$ctrl.summary.total | currency:' €':2}}</strong></p>
</vn-one>
<vn-auto>
<div style="overflow: auto">
<table class="vn-grid">
<thead>
<tr>
@ -79,7 +78,6 @@
</tr>
</tbody>
</table>
</div>
</vn-auto>
</vn-horizontal>
</vn-card>

View File

@ -11,7 +11,6 @@
<vn-card pad-large>
<vn-vertical>
<vn-horizontal>
<vn-title vn-two>Volume</vn-title>
<div class="totalBox">
<vn-label-value label="Total"
value="{{::edit.model.totalVolume}} M³">

View File

@ -15,7 +15,7 @@
"url": "/index?q",
"state": "route.index",
"component": "vn-route-index",
"description": "List",
"description": "Routes",
"acl": ["developer"]
}
]

View File

@ -1,11 +1,7 @@
<vn-main-block>
<vn-horizontal>
<vn-auto class="left-block">
<vn-ticket-descriptor ticket="$ctrl.ticket"></vn-ticket-descriptor>
<vn-left-menu></vn-left-menu>
</vn-auto>
<vn-one>
<vn-vertical margin-medium ui-view></vn-vertical>
</vn-one>
</vn-horizontal>
<div class="left-block">
<vn-ticket-descriptor ticket="$ctrl.ticket"></vn-ticket-descriptor>
<vn-left-menu></vn-left-menu>
</div>
<div class="content-block" ui-view></div>
</vn-main-block>

View File

@ -9,7 +9,6 @@
<vn-vertical>
<vn-card pad-large>
<vn-vertical>
<vn-title>Components</vn-title>
<table class="vn-grid">
<thead>
<tr>

View File

@ -1,4 +1,3 @@
<vn-title>New ticket</vn-title>
<vn-autocomplete
vn-focus
vn-id="client"

View File

@ -1,6 +1,5 @@
<form name="form">
<vn-card pad-large>
<vn-title>Basic data</vn-title>
<vn-horizontal>
<vn-autocomplete vn-one
vn-id="client"

View File

@ -1,6 +1,5 @@
<form name="form">
<vn-card pad-large>
<vn-title>Charge</vn-title>
<vn-horizontal>
<vn-autocomplete vn-one
url="/ticket/api/TicketUpdateActions"

View File

@ -1,6 +1,5 @@
<form name="form">
<vn-card pad-large>
<vn-title>Price difference</vn-title>
<vn-horizontal>
<table class="vn-grid">
<thead>

View File

@ -5,11 +5,9 @@
limit="20"
data="expeditions">
</vn-crud-model>
<vn-vertical>
<vn-card pad-large>
<vn-vertical>
<vn-title>Expedition</vn-title>
<vn-table model="model">
<vn-thead>
<vn-tr>

View File

@ -6,7 +6,7 @@
order="shipped ASC"
auto-load="false">
</vn-crud-model>
<div margin-medium>
<div class="index-block">
<div class="vn-list">
<vn-card pad-medium-h>
<vn-horizontal>

View File

@ -6,5 +6,4 @@
limit="20"
data="$ctrl.logs">
</vn-crud-model>
<vn-log model="model"></vn-log>

View File

@ -19,7 +19,6 @@
<form name="form" ng-submit="$ctrl.onSubmit()" compact>
<vn-card pad-large>
<vn-one margin-medium-top>
<vn-title>Notes</vn-title>
<vn-horizontal ng-repeat="observation in observations track by $index">
<vn-autocomplete
ng-attr-disabled="observation.id ? true : false"

View File

@ -13,7 +13,6 @@
</vn-watcher>
<form name="form" ng-submit="$ctrl.onSubmit()" compact>
<vn-card pad-large>
<vn-title>Packages</vn-title>
<vn-one>
<vn-horizontal ng-repeat="package in packages track by $index">
<vn-autocomplete vn-one

View File

@ -7,11 +7,9 @@
data="sales"
auto-load="true">
</vn-crud-model>
<vn-vertical>
<vn-card pad-large>
<vn-vertical>
<vn-title>Pictures</vn-title>
<vn-horizontal class="catalog-list" pad-small>
<section class="product" ng-repeat="sale in sales">
<vn-one>

View File

@ -8,7 +8,6 @@
<form name="form" ng-submit="$ctrl.onSubmit()" margin-medium>
<div compact>
<vn-card pad-large>
<vn-title>New request</vn-title>
<vn-horizontal>
<vn-textfield vn-one label="Description" field="$ctrl.ticketRequest.description" vn-focus></vn-textfield>
<vn-autocomplete

View File

@ -14,7 +14,6 @@
</vn-watcher>
<form name="form" ng-submit="$ctrl.onSubmit()">
<vn-card pad-large>
<vn-title>Purchase request</vn-title>
<vn-horizontal>
<vn-table model="model">
<vn-thead>

View File

@ -16,7 +16,7 @@
"url": "/index?q",
"state": "ticket.index",
"component": "vn-ticket-index",
"description": "List"
"description": "Tickets"
},
{
"url": "/:id",

View File

@ -9,7 +9,6 @@
<vn-vertical>
<vn-card pad-large>
<vn-vertical>
<vn-title>Sale checked</vn-title>
<vn-table model="model">
<vn-thead>
<vn-tr>

View File

@ -8,7 +8,6 @@
<vn-vertical>
<vn-card pad-large>
<vn-vertical>
<vn-title>Sale tracking</vn-title>
<vn-table model="model">
<vn-thead>
<vn-tr>

Some files were not shown because too many files have changed in this diff Show More