public function build(ExtensionModel $model, SettingsFormContract $settingsForm, SettingsContract $settings)
    {
        return $this->formFactory->make(function(FormGrid $form) use($model, $settingsForm, $settings) {
                    $url = route(area() . '.modules.viewer.configuration.update', ['id' => $model->getId()]);

                    $form->simple($url, [], $model);
                    $form->name($model->getFullName() . ' Configuration');
                    $form->hidden('id');
                    $form->layout('antares/foundation::components.form');

                    $form->fieldset('Configuration', function(Fieldset $fieldset) use($settingsForm, $settings) {
                        $settingsForm->build($fieldset, $settings);

                        $fieldset->control('button', 'button')
                                ->attributes(['type' => 'submit', 'class' => 'btn btn-primary'])
                                ->value(trans('antares/foundation::label.save_changes'));
                    });

                    $form
                            ->rules($settings->getValidationRules())
                            ->phrases($settings->getValidationPhrases());
                });
    }