File "FormFieldValuesSheet.php"

Full Path: /home/trinadezambia/public_html/admin_panel/app/Imports/FormFieldValuesSheet.php
File size: 1.51 KB
MIME-type: text/x-php
Charset: utf-8

<?php


namespace App\Imports;

use Maatwebsite\Excel\Concerns\FromCollection;
use Maatwebsite\Excel\Concerns\ShouldAutoSize;
use Maatwebsite\Excel\Concerns\WithTitle;
class FormFieldValuesSheet implements FromCollection, WithTitle, ShouldAutoSize {
    private mixed $formFields;

    public function title(): string {
        return 'Possible Options';
    }

    public function __construct($formFields) {
        $this->formFields = $formFields;
    }

    public function collection() {
        $data = [
            ['gender', 'male', 'female', '', 'eg :- male'],
            [[]],
            ['guardian_gender', 'male', 'female', '', 'eg :- male'],
            [[]]
        ];

        foreach ($this->formFields as $field) {
            if (in_array($field->type, ['dropdown', 'radio', 'checkbox'])) {
                $values = $field->default_values;
                $values[] = [];
                if ($field->type == 'checkbox') {
                    if(isset($field->default_values[0]) && isset($field->default_values[1])) {
                        $values[] = 'eg :- ' . $field->default_values[0] . ',' . $field->default_values[1];
                    } else {
                        $values[] = 'eg :- ' . $field->default_values[0];
                    }
                } else {
                    $values[] = 'eg :- ' . $field->default_values[0];
                }
                $data[] = array_merge([$field->name], $values);
                $data[] = [[]];
            }
        }
        return collect($data);
    }
}