Деталь "Адрес доставки" в заказе
9 февраля 2018 13:28
Друзья, подскажите, как правильно "прикрутить" эту деталь к какому-нибудь новому пользовательскому разделу?
![]()
Нравится
2 комментария
15 февраля 2018 19:44
Добрый вечер.
Реализацию можно посмотреть в схеме OrderPageV2, деталь «DeliveryAddressDetail». Не забудьте определить соответствующие методы, в особенности subscribeSandboxEvents, getDeliveryAddressVisible, onUpdateAddress.
Приведу пример как это реализовал я, вы можете подстроить реализацию под свои нужды, и расширить функциональность если нужно.
methods: {
subscribeSandboxEvents: function() {
this.callParent(arguments);
this.sandbox.subscribe("GetIsDeliveryAddressDetailVisible", this.getDeliveryAddressVisible, this,
[this.getDetailId("DeliveryAddressDetail")]);
this.sandbox.subscribe("UpdateOrderAddress", this.onUpdateAddress, this,
[this.getDetailId("DeliveryAddressDetail")]);
},
getDeliveryAddressVisible: function() {
return true;
},
onUpdateAddress: function(config) {
var detailIds = [
this.getDetailId("DeliveryAddressDetail")
];
var position = detailIds.indexOf(config.senderId);
detailIds.splice(position, 1);
this.set("DeliveryAddress", config.deliveryAddress);
this.sandbox.publish("SetActiveAddress", config.deliveryAddress, detailIds);
}
}
details: {
DeliveryAddressDetail: {
schemaName: "AddressSelectionDetailV2",
defaultValues: {
"ContactId": {masterColumn: "Id"},
"AccountId": {masterColumn: "AccountId"},
"DeliveryAddress": {masterColumn: "UsrDeliveryAddress"}
}
}
}Не забудьте задать деталь в diff, и про сообщения.
Деталь создавал в ContactPageV2, также создал замещающий объект контакт – добавил новое поле UsrDeliveryAddress.
Показать все комментарии
Войдите или зарегистрируйтесь, что бы комментировать