$workspace_publisher =
$this->workspaceOperationFactory->
getPublisher($this->workspace
);
$args =
[ '%source_label' =>
$this->workspace->
label(),
'%target_label' =>
$workspace_publisher->
getTargetLabel(),
];
$form['#title'
] =
$this->
t('Publish %source_label workspace',
$args);
// List the changes that can be pushed.
if ($source_rev_diff =
$workspace_publisher->
getDifferringRevisionIdsOnSource()) { $total_count =
$workspace_publisher->
getNumberOfChangesOnSource();
$form['description'
] =
[ '#theme' => 'item_list',
'#title' =>
$this->
formatPlural($total_count, 'There is @count item that can be published from %source_label to %target_label', 'There are @count items that can be published from %source_label to %target_label',
$args),
'#items' =>
[],
'#total_count' =>
$total_count,
];
foreach ($source_rev_diff as $entity_type_id =>
$revision_difference) { $form['description'
]['#items'
][$entity_type_id] =
$this->entityTypeManager->
getDefinition($entity_type_id)->
getCountLabel(count($revision_difference));
} $form['actions'
]['submit'
]['#value'
] =
$this->
formatPlural($total_count, 'Publish @count item to @target', 'Publish @count items to @target',
['@target' =>
$workspace_publisher->
getTargetLabel()]);
}