42 $this->contextFactory = $context_factory;
43 $this->request = $request_stack->getCurrentRequest();
49 public function convert($value, $definition, $name, array $defaults) {
53 list($field_config_id, $widget_build_id, $entity_id) = $this->contextFactory->parseContextString($value);
58 $settings = $this->request->get(
'settings');
59 if (!is_array($settings)) {
63 $context = $this->contextFactory->create($field_config_id, $entity_id, $settings, $widget_build_id);
65 $request_whitelist = [
72 foreach ($request_whitelist as $name) {
73 $value = $this->request->get($name);
75 $context->addAdditionalContext($name, $value);
79 $editor_context = $context->getAdditionalContext(
'editorContext');
80 if ($editor_context) {
81 $context->getEditBuffer()->tagParentBuffer($editor_context);
84 $additional_context = $this->request->get(
'additional_context');
85 if ($additional_context) {
86 foreach (unserialize($additional_context) as $key => $value) {
87 $context->addAdditionalContext($key, $value);
94 if (is_array($definition)) {
95 foreach ($definition as $key => $value) {
96 $context->addAdditionalContext($key, $value);
106 public function applies($definition, $name, Route $route) {
107 return (!empty($definition[
'type']) && $definition[
'type'] ==
'paragraphs_editor_command_context');
convert($value, $definition, $name, array $defaults)
__construct(RequestStack $request_stack, CommandContextFactoryInterface $context_factory)
applies($definition, $name, Route $route)