コード例 #1
0
 /**
  * Constructor.
  */
 public function __construct(HomeTab $homeTab, WidgetHomeTabConfig $whtc, WidgetDisplayConfig $wdc = null)
 {
     $widgetInstance = $whtc->getWidgetInstance();
     $widget = $widgetInstance->getWidget();
     $details = [];
     $details['tabId'] = $homeTab->getId();
     $details['tabName'] = $homeTab->getName();
     $details['tabType'] = $homeTab->getType();
     $details['tabIcon'] = $homeTab->getIcon();
     $details['widgetId'] = $widget->getId();
     $details['widgetName'] = $widget->getName();
     $details['widgetIsConfigurable'] = $widget->isConfigurable();
     $details['widgetIsExportable'] = $widget->isExportable();
     $details['widgetIsDisplayableInWorkspace'] = $widget->isDisplayableInWorkspace();
     $details['widgetIsDisplayableInDesktop'] = $widget->isDisplayableInDesktop();
     $details['id'] = $widgetInstance->getId();
     $details['name'] = $widgetInstance->getName();
     $details['icon'] = $widgetInstance->getIcon();
     $details['isAdmin'] = $widgetInstance->isAdmin();
     $details['isDesktop'] = $widgetInstance->isDesktop();
     $details['widgetHomeTabConfigId'] = $whtc->getId();
     $details['order'] = $whtc->getWidgetOrder();
     $details['type'] = $whtc->getType();
     $details['visible'] = $whtc->isVisible();
     $details['locked'] = $whtc->isLocked();
     if (!is_null($wdc)) {
         $details['widgetDisplayConfigId'] = $wdc->getId();
         $details['row'] = $wdc->getRow();
         $details['column'] = $wdc->getColumn();
         $details['width'] = $wdc->getWidth();
         $details['height'] = $wdc->getHeight();
         $details['color'] = $wdc->getColor();
     }
     parent::__construct(self::ACTION, $details);
 }
コード例 #2
0
 /**
  * @EXT\Route(
  *     "/api/workspace/home/tab/widget/{widgetHomeTabConfig}/delete",
  *     name="api_delete_workspace_widget_home_tab_config",
  *     options = {"expose"=true}
  * )
  *
  * Deletes a widget
  *
  * @return \Symfony\Component\HttpFoundation\JsonResponse
  */
 public function deleteAdminWidgetHomeTabConfigAction(WidgetHomeTabConfig $widgetHomeTabConfig)
 {
     $workspace = $widgetHomeTabConfig->getWorkspace();
     $this->checkToolEditionAccess($workspace);
     $widgetInstance = $widgetHomeTabConfig->getWidgetInstance();
     $datas = $this->serializer->serialize($widgetInstance, 'json', SerializationContext::create()->setGroups(['api_widget']));
     $this->homeTabManager->deleteWidgetHomeTabConfig($widgetHomeTabConfig);
     $this->widgetManager->removeInstance($widgetInstance);
     $event = new LogWidgetWorkspaceDeleteEvent($workspace, json_decode($datas, true));
     $this->eventDispatcher->dispatch('log', $event);
     return new JsonResponse($datas, 200);
 }