コード例 #1
0
 /**
  * Reduce the Yaml settings by the 'formEditor' keyword.
  *
  * @return array
  */
 protected function getFormEditorDefinitions() : array
 {
     $formEditorDefinitions = [];
     foreach ([$this->prototypeConfiguration, $this->prototypeConfiguration['formEditor']] as $configuration) {
         foreach ($configuration as $firstLevelItemKey => $firstLevelItemValue) {
             if (substr($firstLevelItemKey, -10) !== 'Definition') {
                 continue;
             }
             $reducedKey = substr($firstLevelItemKey, 0, -10);
             foreach ($configuration[$firstLevelItemKey] as $formEditorDefinitionKey => $formEditorDefinitionValue) {
                 if (isset($formEditorDefinitionValue['formEditor'])) {
                     $formEditorDefinitionValue = array_intersect_key($formEditorDefinitionValue, array_flip(['formEditor']));
                     $formEditorDefinitions[$reducedKey][$formEditorDefinitionKey] = $formEditorDefinitionValue['formEditor'];
                 } else {
                     $formEditorDefinitions[$reducedKey][$formEditorDefinitionKey] = $formEditorDefinitionValue;
                 }
             }
         }
     }
     $formEditorDefinitions = ArrayUtility::reIndexNumericArrayKeysRecursive($formEditorDefinitions);
     $formEditorDefinitions = TranslationService::getInstance()->translateValuesRecursive($formEditorDefinitions, $this->prototypeConfiguration['formEditor']['translationFile']);
     return $formEditorDefinitions;
 }
コード例 #2
0
 /**
  * Returns the json encoded data which is used by the form editor
  * JavaScript app.
  *
  * @return string
  */
 protected function getFormManagerAppInitialData() : string
 {
     $formManagerAppInitialData = ['selectablePrototypesConfiguration' => $this->formSettings['formManager']['selectablePrototypesConfiguration'], 'accessibleFormStorageFolders' => $this->getAccessibleFormStorageFolders(), 'endpoints' => ['create' => $this->controllerContext->getUriBuilder()->uriFor('create'), 'duplicate' => $this->controllerContext->getUriBuilder()->uriFor('duplicate'), 'delete' => $this->controllerContext->getUriBuilder()->uriFor('delete'), 'references' => $this->controllerContext->getUriBuilder()->uriFor('references')]];
     $formManagerAppInitialData = ArrayUtility::reIndexNumericArrayKeysRecursive($formManagerAppInitialData);
     $formManagerAppInitialData = TranslationService::getInstance()->translateValuesRecursive($formManagerAppInitialData, $this->formSettings['formManager']['translationFile']);
     return json_encode($formManagerAppInitialData);
 }