Customize PayPal gateway options
This commit is contained in:
parent
eeaae71283
commit
fb38a8decf
|
|
@ -487,6 +487,7 @@ const String kGatewayStripe = 'd14dd26a37cecc30fdd65700bfb55b23';
|
|||
const String kGatewayStripeConnect = 'd14dd26a47cecc30fdd65700bfb67b34';
|
||||
const String kGatewayAuthorizeNet = '3b6621f970ab18887c4f6dca78d3f8bb';
|
||||
const String kGatewayCheckoutCom = '3758e7f7c6f4cecf0f4f348b9a00f456';
|
||||
const String kGatewayPayPalREST = '80af24a6a691230bbec33e930ab40665';
|
||||
const String kGatewayPayPalExpress = '38f2c48af60c7dd69e04248cbb24c36e';
|
||||
const String kGatewayPayPalPlatform = '80af24a6a691230bbec33e930ab40666';
|
||||
const String kGatewayWePay = '8fdeed552015b3c7b44ed6c8ebd9e992';
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
// Package imports:
|
||||
import 'package:built_collection/built_collection.dart';
|
||||
import 'package:invoiceninja_flutter/constants.dart';
|
||||
import 'package:memoize/memoize.dart';
|
||||
|
||||
// Project imports:
|
||||
|
|
@ -127,13 +128,36 @@ List<String?> sizeList(BuiltMap<String, SizeEntity> sizeMap) {
|
|||
return list;
|
||||
}
|
||||
|
||||
var memoizedGatewayList = memo1(
|
||||
(BuiltMap<String, GatewayEntity> gatewayMap) => gatewayList(gatewayMap));
|
||||
var memoizedGatewayList = memo2(
|
||||
(BuiltMap<String, GatewayEntity> gatewayMap, bool isHosted) =>
|
||||
gatewayList(gatewayMap, isHosted));
|
||||
|
||||
List<String?> gatewayList(BuiltMap<String, GatewayEntity> gatewayMap) {
|
||||
final list = gatewayMap.keys
|
||||
.where((gatewayId) => gatewayMap[gatewayId]!.isVisible)
|
||||
.toList();
|
||||
List<String?> gatewayList(
|
||||
BuiltMap<String, GatewayEntity> gatewayMap, bool isHosted) {
|
||||
final list = gatewayMap.keys.where((gatewayId) {
|
||||
final gateway = gatewayMap[gatewayId]!;
|
||||
|
||||
if (!gateway.isVisible) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (isHosted) {
|
||||
if ([
|
||||
kGatewayPayPalExpress,
|
||||
kGatewayPayPalREST,
|
||||
].contains(gateway.id)) {
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
if ([
|
||||
kGatewayPayPalPlatform,
|
||||
].contains(gateway.id)) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}).toList();
|
||||
|
||||
list.sort((idA, idB) =>
|
||||
gatewayMap[idA]!.sortOrder.compareTo(gatewayMap[idB]!.sortOrder));
|
||||
|
|
|
|||
|
|
@ -152,8 +152,8 @@ class _CompanyGatewayEditState extends State<CompanyGatewayEdit>
|
|||
EntityDropdown(
|
||||
autofocus: true,
|
||||
entityType: EntityType.gateway,
|
||||
entityList:
|
||||
memoizedGatewayList(state.staticState.gatewayMap),
|
||||
entityList: memoizedGatewayList(
|
||||
state.staticState.gatewayMap, state.isHosted),
|
||||
labelText: localization.provider,
|
||||
entityId: companyGateway.gatewayId,
|
||||
onSelected: (SelectableEntity? gateway) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue