Skip to content

Commit

Permalink
Because there was an issue with default classes
Browse files Browse the repository at this point in the history
  • Loading branch information
mlantz committed Apr 13, 2020
1 parent 4e76433 commit bc106ba
Show file tree
Hide file tree
Showing 6 changed files with 20 additions and 18 deletions.
1 change: 1 addition & 0 deletions config/form-maker.php
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@

'buttons' => [
'submit' => 'btn btn-primary',
'delete' => 'btn btn-danger',
'cancel' => 'btn btn-secondary',
],

Expand Down
3 changes: 2 additions & 1 deletion src/Builders/FieldBuilder.php
Original file line number Diff line number Diff line change
Expand Up @@ -297,7 +297,8 @@ public function makeCheckInput($name, $value, $options)
$fieldWrapper = "<div class=\"{$formClass}\">";

$label = $options['label'];
if (empty($label)) {

if (!isset($options['label']) || $label === '') {
$label = Str::title($name);
}

Expand Down
10 changes: 6 additions & 4 deletions src/Forms/HtmlForm.php
Original file line number Diff line number Diff line change
Expand Up @@ -121,19 +121,21 @@ class HtmlForm extends Form
*/
public $buttonClasses = [
'submit' => null,
'delete' => null,
'cancel' => null,
];

public function __construct()
{
parent::__construct();

$defaultButtonClasses = [
'submit' => config('form-maker.buttons.submit', 'btn btn-primary'),
'cancel' => config('form-maker.buttons.cancel', 'btn btn-secondary'),
$buttonClasses = [
'submit' => $this->buttonClasses['submit'] ?? config('form-maker.buttons.submit', 'btn btn-primary'),
'delete' => $this->buttonClasses['delete'] ?? config('form-maker.buttons.delete', 'btn btn-danger'),
'cancel' => $this->buttonClasses['cancel'] ?? config('form-maker.buttons.cancel', 'btn btn-secondary'),
];

$this->buttonClasses = array_merge($defaultButtonClasses, $this->buttonClasses);
$this->buttonClasses = $buttonClasses;

$this->formClass = $this->formClass ?? config('form-maker.form.class', 'form');
$this->formDeleteClass = $this->formDeleteClass ?? config('form-maker.form.delete-class', 'form-inline');
Expand Down
11 changes: 0 additions & 11 deletions src/Forms/ModelForm.php
Original file line number Diff line number Diff line change
Expand Up @@ -60,17 +60,6 @@ class ModelForm extends HtmlForm
'delete' => 'delete',
];

/**
* Form button classes
*
* @var array
*/
public $buttonClasses = [
'submit' => 'btn btn-primary',
'cancel' => 'btn btn-secondary',
'delete' => 'btn btn-danger',
];

/**
* The field builder
*
Expand Down
5 changes: 3 additions & 2 deletions tests/FormExtensiveBaseTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -36,10 +36,11 @@ class UserSampleCreateForm extends BaseForm
];

public $buttonClasses = [
'submit' => 'superman'
'submit' => 'superman',
];

public $formClass = 'batman-horizontal';

public $orientation = 'horizontal';

public function fields()
Expand Down Expand Up @@ -94,4 +95,4 @@ public function testMakeWithClassChanges()
$this->assertStringContainsString('<legend class="col-md-2 col-form-label pt-0"></legend><div class="col-md-10"><div class="form-check">', $form);
$this->assertStringContainsString('<input class="form-check-input" id="Is Cool" type="checkbox" name="is_cool" ><label class="form-check-label">Is Cool</label>', $form);
}
}
}
8 changes: 8 additions & 0 deletions tests/FormModelTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,15 @@ class UserForm extends ModelForm
'submit' => 'Save'
];

public $buttonClasses = [
'delete' => 'deleter-button',
'submit' => 'submit-button',
];

public $formClass = 'formy-informer';
public $formDeleteClass = 'formy-deleter';


public function fields()
{
return [
Expand Down Expand Up @@ -77,6 +83,7 @@ public function testUpdate()

$this->assertStringContainsString('http://localhost/users/3', $form);
$this->assertStringContainsString('PUT', $form);
$this->assertStringContainsString('class="submit-button', $form);
}

public function testDelete()
Expand All @@ -89,6 +96,7 @@ public function testDelete()

$this->assertStringContainsString('http://localhost/users/3', $form);
$this->assertStringContainsString('DELETE', $form);
$this->assertStringContainsString('class="deleter-button', $form);
}

public function testRenderedFieldsForEdit()
Expand Down

0 comments on commit bc106ba

Please sign in to comment.