This commit is contained in:
parent
8dbcf917a3
commit
e2b972431a
|
@ -61,17 +61,11 @@
|
|||
fields="['code', 'townFk']"
|
||||
field="$ctrl.address.postalCode"
|
||||
where="{townFk: town.selection.id}"
|
||||
selection="$ctrl.postcodeSelection"
|
||||
search-function="{code: $search}"
|
||||
fetch-function="{townFk: town.selection.id}"
|
||||
order="code, townFk"
|
||||
show-field="code"
|
||||
value-field="code"
|
||||
label="Postcode">
|
||||
<tpl-item>
|
||||
{{code}}, {{town.name}} - {{town.province.name}}
|
||||
({{town.province.country.country}})
|
||||
</tpl-item>
|
||||
</vn-autocomplete>
|
||||
<vn-icon-button vn-auto margin-medium-v
|
||||
icon="add_circle"
|
||||
|
|
|
@ -20,23 +20,6 @@ export default class Controller {
|
|||
this.$state.go('client.card.address.index');
|
||||
}
|
||||
|
||||
get postcodeSelection() {
|
||||
return this._postcodeSelection;
|
||||
}
|
||||
|
||||
set postcodeSelection(selection) {
|
||||
const hasValue = this._postcodeSelection;
|
||||
this._postcodeSelection = selection;
|
||||
|
||||
if (!selection || !hasValue) return;
|
||||
|
||||
const town = selection.town;
|
||||
const province = town.province;
|
||||
|
||||
this.address.city = town.name;
|
||||
this.address.provinceFk = province.id;
|
||||
}
|
||||
|
||||
onResponse(response) {
|
||||
this.address.postalCode = response.code;
|
||||
}
|
||||
|
|
|
@ -55,31 +55,5 @@ describe('Client', () => {
|
|||
expect(controller.$state.go).toHaveBeenCalledWith('client.card.address.index');
|
||||
});
|
||||
});
|
||||
|
||||
describe('postcodeSelection() setter', () => {
|
||||
it(`should set the town, province and contry properties`, () => {
|
||||
controller.address = {};
|
||||
controller._postcodeSelection = {townFk: 2};
|
||||
controller.postcodeSelection = {
|
||||
townFk: 1,
|
||||
code: 46001,
|
||||
town: {
|
||||
id: 1,
|
||||
name: 'New York',
|
||||
province: {
|
||||
id: 1,
|
||||
name: 'New york',
|
||||
country: {
|
||||
id: 2,
|
||||
name: 'USA'
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
expect(controller.address.city).toEqual('New York');
|
||||
expect(controller.address.provinceFk).toEqual(1);
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
|
|
|
@ -58,16 +58,12 @@
|
|||
url="/api/Postcodes/location"
|
||||
fields="['code', 'townFk']"
|
||||
field="$ctrl.client.postcode"
|
||||
selection="$ctrl.postcodeSelection"
|
||||
search-function="{code: $search}"
|
||||
where="{townFk: town.selection.id}"
|
||||
order="code, townFk"
|
||||
show-field="code"
|
||||
value-field="code"
|
||||
label="Postcode">
|
||||
<tpl-item>
|
||||
{{code}}, {{town.name}} - {{town.province.name}}
|
||||
({{town.province.country.country}})
|
||||
</tpl-item>
|
||||
label="Postcode">
|
||||
</vn-autocomplete>
|
||||
</vn-horizontal>
|
||||
<vn-horizontal pad-small-v>
|
||||
|
|
|
@ -56,24 +56,8 @@ export default class Controller {
|
|||
);
|
||||
}
|
||||
}
|
||||
|
||||
get postcodeSelection() {
|
||||
return this._postcodeSelection;
|
||||
}
|
||||
|
||||
set postcodeSelection(selection) {
|
||||
const hasValue = this._postcodeSelection;
|
||||
this._postcodeSelection = selection;
|
||||
|
||||
if (!selection || !hasValue) return;
|
||||
|
||||
const town = selection.town;
|
||||
const province = town.province;
|
||||
|
||||
this.client.city = town.name;
|
||||
this.client.provinceFk = province.id;
|
||||
}
|
||||
}
|
||||
|
||||
Controller.$inject = ['$scope', '$http', 'vnApp', '$translate'];
|
||||
|
||||
ngModule.component('vnClientFiscalData', {
|
||||
|
|
Loading…
Reference in New Issue