Skip to content

Commit 407962d

Browse files
authored
Merge pull request #16790 from Godmartinz/empty_field_columns_labels
Adds Label fields offset as an option
2 parents 1245289 + 5da492c commit 407962d

File tree

5 files changed

+66
-2
lines changed

5 files changed

+66
-2
lines changed

app/Http/Controllers/SettingsController.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
use App\Http\Requests\StoreSecuritySettings;
1515
use App\Models\CustomField;
1616
use App\Models\Group;
17+
use App\Models\Labels\Label as LabelModel;
1718
use App\Models\Setting;
1819
use App\Models\Asset;
1920
use App\Models\User;
@@ -771,6 +772,7 @@ public function postLabels(StoreLabelSettings $request) : RedirectResponse
771772
$setting->label2_2d_type = $request->input('label2_2d_type');
772773
$setting->label2_2d_target = $request->input('label2_2d_target');
773774
$setting->label2_fields = $request->input('label2_fields');
775+
$setting->label2_empty_row_count = $request->input('label2_empty_row_count');
774776
$setting->labels_per_page = $request->input('labels_per_page');
775777
$setting->labels_width = $request->input('labels_width');
776778
$setting->labels_height = $request->input('labels_height');

app/View/Label.php

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -190,9 +190,28 @@ public function render(callable $callback = null)
190190
return $toAdd ? $myFields->push($toAdd) : $myFields;
191191
}, new Collection());
192192

193-
$assetData->put('fields', $fields->take($template->getSupportFields()));
193+
$emptyRowsCount = $settings->label2_empty_row_count;
194+
if($emptyRowsCount) {
195+
// Create empty rows
196+
$emptyRows = collect(range(1, $emptyRowsCount))->map(function () {
197+
return [
198+
'label' => '',
199+
'value' => '',
200+
'dataSource' => null,
201+
];
202+
});
203+
204+
// Prepend empty rows to the existing fields
205+
$fieldsWithEmpty = $emptyRows->merge($fields);
206+
207+
$assetData->put('fields', $fieldsWithEmpty->take($template->getSupportFields()));
208+
return $assetData;
209+
}
210+
else{
211+
$assetData->put('fields', $fields->take($template->getSupportFields()));
212+
return $assetData;
213+
}
194214

195-
return $assetData;
196215
});
197216

198217
if ($template instanceof Sheet) {
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
<?php
2+
3+
use Illuminate\Database\Migrations\Migration;
4+
use Illuminate\Database\Schema\Blueprint;
5+
use Illuminate\Support\Facades\Schema;
6+
7+
return new class extends Migration {
8+
public function up(): void
9+
{
10+
Schema::table('settings', function (Blueprint $table) {
11+
$table->unsignedInteger('label2_empty_row_count')->default(0)->after('label2_fields');
12+
});
13+
}
14+
15+
public function down(): void
16+
{
17+
Schema::table('settings', function (Blueprint $table) {
18+
$table->dropColumn('label2_empty_row_count');
19+
});
20+
}
21+
};

resources/lang/en-US/admin/settings/general.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,8 @@
6464
'enabled' => 'Enabled',
6565
'eula_settings' => 'EULA Settings',
6666
'eula_markdown' => 'This EULA allows <a href="https://help.github.com/articles/github-flavored-markdown/">Github flavored markdown</a>.',
67+
'empty_row_count' => 'Field Start Offset (Empty Rows)',
68+
'empty_row_count_help' => 'Fields will begin populating after this many empty rows are skipped at the top of the label.',
6769
'favicon' => 'Favicon',
6870
'favicon_format' => 'Accepted filetypes are ico, png, and gif. Other image formats may not work in all browsers.',
6971
'favicon_size' => 'Favicons should be square images, 16x16 pixels.',

resources/views/settings/labels.blade.php

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -313,6 +313,26 @@ class="col-md-4"
313313
<p class="help-block">{{ trans('admin/settings/general.label2_2d_target_help') }}</p>
314314
</div>
315315
</div>
316+
<!-- Field offset -->
317+
<div class="form-group{{ $errors->has('label2_empty_row_count') ? ' has-error' : '' }}">
318+
<div class="col-md-3 text-right">
319+
<label for="label2_empty_row_count" class="control-label">{{ trans('admin/settings/general.empty_row_count') }}</label>
320+
</div>
321+
<div class="col-md-9">
322+
<input
323+
class="form-control col-md-2"
324+
aria-label="Empty Row Count"
325+
name="label2_empty_row_count"
326+
type="number"
327+
id="label2_empty_row_count"
328+
min="0"
329+
max="5"
330+
value="{{ old('label2_empty_row_count', $setting->label2_empty_row_count) }}"
331+
>
332+
{!! $errors->first('label2_empty_row_count', '<span class="alert-msg" aria-hidden="true"><i class="fas fa-times" aria-hidden="true"></i> :message</span>') !!}
333+
<p class="help-block">{!! trans('admin/settings/general.empty_row_count_help') !!}</p>
334+
</div>
335+
</div>
316336
<div class="col-md-9 col-md-offset-3" style="margin-bottom: 10px;">
317337
@include('partials.label2-preview')
318338
</div>

0 commit comments

Comments
 (0)