Dc3e4 new matrix field (#484)
* fix password reset bug * wip: matrix input * wip: matrix input * wip: matrix input * Fixed matric input component logic * matrix input cleanup * fix lint errors * table border and radius * cleanup, linting * fix component methos * wip matrix input * matrix condition for contains and not contain * patch matrix input condition logic * linting * refactor and cleanup * fix syntax error * Polished the matrix input * Fix linting --------- Co-authored-by: Julien Nahum <julien@nahum.net>
This commit is contained in:
@@ -81,6 +81,17 @@ class FormSubmissionFormatter
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getMatrixString(array $val): string
|
||||
{
|
||||
$parts = [];
|
||||
foreach ($val as $key => $value) {
|
||||
if ($key !== null && $value !== null) {
|
||||
$parts[] = "$key: $value";
|
||||
}
|
||||
}
|
||||
return implode(' | ', $parts);
|
||||
}
|
||||
|
||||
/**
|
||||
* Return a nice "FieldName": "Field Response" array
|
||||
* - If createLink enabled, returns html link for emails and links
|
||||
@@ -145,7 +156,9 @@ class FormSubmissionFormatter
|
||||
} else {
|
||||
$returnArray[$field['name']] = $val;
|
||||
}
|
||||
} elseif (in_array($field['type'], ['files', 'signature'])) {
|
||||
} elseif ($field['type'] == 'matrix' && is_array($data[$field['id']])) {
|
||||
$returnArray[$field['name']] = $this->getMatrixString($data[$field['id']]);
|
||||
} elseif ($field['type'] == 'files') {
|
||||
if ($this->outputStringsOnly) {
|
||||
$formId = $this->form->id;
|
||||
$returnArray[$field['name']] = implode(
|
||||
@@ -219,7 +232,9 @@ class FormSubmissionFormatter
|
||||
} else {
|
||||
$field['value'] = $val;
|
||||
}
|
||||
} elseif (in_array($field['type'], ['files', 'signature'])) {
|
||||
} elseif ($field['type'] == 'matrix') {
|
||||
$field['value'] = str_replace(' | ', "\n", $this->getMatrixString($data[$field['id']]));
|
||||
} elseif ($field['type'] == 'files') {
|
||||
if ($this->outputStringsOnly) {
|
||||
$formId = $this->form->id;
|
||||
$field['value'] = implode(
|
||||
|
||||
Reference in New Issue
Block a user