Add tilde before subscribers count in selects

[MAILPOET-3646]
This commit is contained in:
Jan Lysý
2021-06-28 15:03:36 +02:00
committed by Veljko V
parent adaa004948
commit 96c84009b7
9 changed files with 13 additions and 13 deletions

View File

@ -108,7 +108,7 @@ const BasicSettingsPanel = ({ onToggle, isOpened }) => {
values: segments, values: segments,
multiple: true, multiple: true,
placeholder: MailPoet.I18n.t('settingsPleaseSelectList'), placeholder: MailPoet.I18n.t('settingsPleaseSelectList'),
getLabel: (seg) => (`${seg.name} (${parseInt(seg.subscribers, 10).toLocaleString()})`), getLabel: (seg) => (`${seg.name} (~${parseInt(seg.subscribers, 10).toLocaleString()})`),
filter: (seg) => (!!(!seg.deleted_at && seg.type === 'default')), filter: (seg) => (!!(!seg.deleted_at && seg.type === 'default')),
}} }}
/> />

View File

@ -60,7 +60,7 @@ let fields = [
return segment.name; return segment.name;
}, },
getCount: function getCount(segment) { getCount: function getCount(segment) {
return parseInt(segment.subscribers, 10).toLocaleString(); return `~${parseInt(segment.subscribers, 10).toLocaleString()}`;
}, },
transformChangedValue: function transformChangedValue(segmentIds) { transformChangedValue: function transformChangedValue(segmentIds) {
const allSegments = this.getItems(); const allSegments = this.getItems();

View File

@ -160,7 +160,7 @@ let fields = [
return segment.name; return segment.name;
}, },
getCount: function getCount(segment) { getCount: function getCount(segment) {
return parseInt(segment.subscribers, 10).toLocaleString(); return `~${parseInt(segment.subscribers, 10).toLocaleString()}`;
}, },
transformChangedValue: function transformChangedValue(segmentIds) { transformChangedValue: function transformChangedValue(segmentIds) {
const allSegments = this.getItems(); const allSegments = this.getItems();

View File

@ -27,7 +27,7 @@ const segmentField = {
placeholder: MailPoet.I18n.t('selectSegmentPlaceholder'), placeholder: MailPoet.I18n.t('selectSegmentPlaceholder'),
forceSelect2: true, forceSelect2: true,
values: availableSegments, values: availableSegments,
getCount: (segment) => parseInt(segment.subscribers, 10).toLocaleString(), getCount: (segment) => `~${parseInt(segment.subscribers, 10).toLocaleString()}`,
getLabel: (segment) => segment.name, getLabel: (segment) => segment.name,
getValue: (segment) => segment.id, getValue: (segment) => segment.id,
}; };

View File

@ -16,7 +16,7 @@ export default (props: Props) => {
const segments = useSelector(selector)().map((segment) => ({ const segments = useSelector(selector)().map((segment) => ({
value: segment.id, value: segment.id,
label: segment.name, label: segment.name,
count: segment.subscribers, count: `~${segment.subscribers}`,
})); }));
const defaultValue = segments.filter((segment) => props.value.includes(segment.value)); const defaultValue = segments.filter((segment) => props.value.includes(segment.value));

View File

@ -168,7 +168,7 @@ class Subscriber extends Model {
->whereNull('deleted_at') ->whereNull('deleted_at')
->count(); ->count();
$subscribersWithoutSegmentLabel = sprintf( $subscribersWithoutSegmentLabel = sprintf(
WPFunctions::get()->__('Subscribers without a list (%s)', 'mailpoet'), WPFunctions::get()->__('Subscribers without a list (~%s)', 'mailpoet'),
number_format($subscribersWithoutSegment) number_format($subscribersWithoutSegment)
); );
@ -186,7 +186,7 @@ class Subscriber extends Model {
} }
$label = sprintf( $label = sprintf(
'%s (%s)', '%s (~%s)',
$segment->name, $segment->name,
number_format($subscribersCount) number_format($subscribersCount)
); );

View File

@ -234,7 +234,7 @@ class SubscriberListingRepository extends ListingRepository {
$subscribersWithoutSegment = $subscribersWithoutSegmentQuery->getQuery()->getSingleScalarResult(); $subscribersWithoutSegment = $subscribersWithoutSegmentQuery->getQuery()->getSingleScalarResult();
$subscribersWithoutSegmentLabel = sprintf( $subscribersWithoutSegmentLabel = sprintf(
WPFunctions::get()->__('Subscribers without a list (%s)', 'mailpoet'), WPFunctions::get()->__('Subscribers without a list (~%s)', 'mailpoet'),
number_format((float)$subscribersWithoutSegment) number_format((float)$subscribersWithoutSegment)
); );
@ -261,7 +261,7 @@ class SubscriberListingRepository extends ListingRepository {
$segmentList = []; $segmentList = [];
foreach ($queryBuilder->getQuery()->getResult() as $item) { foreach ($queryBuilder->getQuery()->getResult() as $item) {
$segmentList[] = [ $segmentList[] = [
'label' => sprintf('%s (%s)', $item['name'], number_format((float)$item['subscribersCount'])), 'label' => sprintf('%s (~%s)', $item['name'], number_format((float)$item['subscribersCount'])),
'value' => $item['id'], 'value' => $item['id'],
]; ];
} }
@ -281,7 +281,7 @@ class SubscriberListingRepository extends ListingRepository {
continue; continue;
} }
$segmentList[] = [ $segmentList[] = [
'label' => sprintf('%s (%s)', $segment->getName(), number_format((float)$count)), 'label' => sprintf('%s (~%s)', $segment->getName(), number_format((float)$count)),
'value' => $segment->getId(), 'value' => $segment->getId(),
]; ];
} }

View File

@ -364,7 +364,7 @@ class SubscribersTest extends \MailPoetTest {
'segment' => $dynamicSegment->getId(), 'segment' => $dynamicSegment->getId(),
], ],
]); ]);
expect($response->meta['filters']['segment'])->contains(['value' => $dynamicSegment->getId(), 'label' => 'Dynamic (1)']); expect($response->meta['filters']['segment'])->contains(['value' => $dynamicSegment->getId(), 'label' => 'Dynamic (~1)']);
$this->tester->deleteWordPressUser($wpUserEmail); $this->tester->deleteWordPressUser($wpUserEmail);
} }

View File

@ -69,8 +69,8 @@ class SubscriberListingRepositoryTest extends \MailPoetTest {
$filters = $this->repository->getFilters($this->getListingDefinition()); $filters = $this->repository->getFilters($this->getListingDefinition());
expect($filters['segment'])->count(3); expect($filters['segment'])->count(3);
expect($filters['segment'][0]['label'])->equals('All Lists'); expect($filters['segment'][0]['label'])->equals('All Lists');
expect($filters['segment'][1]['label'])->equals('Subscribers without a list (3)'); expect($filters['segment'][1]['label'])->equals('Subscribers without a list (~3)');
expect($filters['segment'][2]['label'])->endsWith('(2)'); expect($filters['segment'][2]['label'])->endsWith('(~2)');
} }
public function testItBuildsGroups() { public function testItBuildsGroups() {