Inheritance: extends Section
 /**
  * update dynamic field
  *
  * @return \Xpressengine\Presenter\RendererInterface
  */
 public function update(Request $request, Translator $translator)
 {
     /**
      * @var \Xpressengine\DynamicField\DynamicFieldHandler $dynamicField
      */
     $dynamicField = app('xe.dynamicField');
     $inputs = $request->all();
     unset($inputs['databaseName']);
     /**
      * @var \Xpressengine\DynamicField\RegisterHandler $registerHandler
      */
     $registerHandler = $dynamicField->getRegisterHandler();
     $rules = DynamicFieldSection::getRules();
     $fieldType = $registerHandler->getSkin($dynamicField, $inputs['typeId']);
     $fieldSkin = $registerHandler->getSkin($dynamicField, $inputs['skinId']);
     $rules = array_merge($rules, $fieldType->getSettingsRules(), $fieldSkin->getSettingsRules());
     $this->validate($request->instance(), $rules);
     $configHandler = $dynamicField->getConfigHandler();
     $config = $configHandler->get($inputs['group'], $inputs['id']);
     foreach ($inputs as $name => $value) {
         $config->set($name, $value);
     }
     $dynamicField->setConnection(XeDB::connection($request->get('databaseName')));
     $dynamicField->put($config);
     $row = $config->getPureAll();
     $fieldType = $registerHandler->getType($dynamicField, $row['typeId']);
     $fieldSkin = $registerHandler->getSkin($dynamicField, $row['skinId']);
     $row['typeName'] = $fieldType->name();
     $row['skinName'] = $fieldSkin->name();
     $multiLang = $translator->getPreprocessorValues($inputs, session()->get('locale'));
     $row['label'] = $multiLang['label'];
     return XePresenter::makeApi($row);
 }