|
|
@@ -1,5 +1,4 @@
|
|
|
import BaseProvider from '~/services/data/BaseProvider'
|
|
|
-import Address from '~/components/Ui/Search/Address.vue'
|
|
|
|
|
|
class StructuresProvider extends BaseProvider {
|
|
|
protected normalize (s: any) : Structure {
|
|
|
@@ -9,15 +8,14 @@ class StructuresProvider extends BaseProvider {
|
|
|
s.n4Id = s.n4Id ? parseInt(s.n4Id) : null
|
|
|
s.n5Id = s.n5Id ? parseInt(s.n5Id) : null
|
|
|
s.practices = s.practices ? s.practices.split(',') : []
|
|
|
- s.addresses = (s.addresses && s.addresses !== '{}') ? JSON.parse('[' + s.addresses + ']') : []
|
|
|
+ s.addresses = ((s.addresses && s.addresses !== '{}') ? JSON.parse('[' + s.addresses + ']') : []) as Array<Address>
|
|
|
|
|
|
- // Define the map address according to priorities
|
|
|
+ // Define the on-map address according to the chosen priorities
|
|
|
s.mapAddress = s.addresses.find((a: Address) => { return a.type === 'ADDRESS_PRACTICE' }) ||
|
|
|
s.addresses.find((a: Address) => { return a.type === 'ADDRESS_HEAD_OFFICE' }) ||
|
|
|
s.addresses.find((a: Address) => { return a.type === 'ADDRESS_CONTACT' }) ||
|
|
|
null
|
|
|
-
|
|
|
- // Define the postal address according to priorities
|
|
|
+ // Define the postal address according to the chosen priorities
|
|
|
s.postalAddress = s.addresses.find((a: Address) => { return a.type === 'ADDRESS_CONTACT' }) ||
|
|
|
s.addresses.find((a: Address) => { return a.type === 'ADDRESS_HEAD_OFFICE' }) ||
|
|
|
null
|
|
|
@@ -26,6 +24,7 @@ class StructuresProvider extends BaseProvider {
|
|
|
s.longitude = s.longitude ? parseFloat(s.longitude) : null
|
|
|
s.parents = s.parents ? s.parents.split(',').map((i: string) => Number(i)) : []
|
|
|
s.articles = (s.articles && s.articles !== '{}') ? JSON.parse('[' + s.articles + ']').reverse() : []
|
|
|
+ s.articles.sort((a: Article, b: Article) => { return a.date > b.date ? -1 : 1 })
|
|
|
return s
|
|
|
}
|
|
|
|