From 77aa6226107b170dd3158debe08fdd376b9fc121 Mon Sep 17 00:00:00 2001 From: James Collins Date: Sun, 23 Apr 2023 13:56:27 +1000 Subject: [PATCH] bug fixes --- app/Conductors/Conductor.php | 38 +- app/Conductors/EventConductor.php | 5 +- resources/js/components/SMInput.vue | 42 +- resources/js/helpers/api.types.ts | 2 + resources/js/views/Workshops.vue | 28 +- resources/js/views/dashboard/EventEdit.vue | 34 +- resources/js/views/dashboard/EventList.vue | 453 +++++++++++---------- resources/js/views/dashboard/MediaEdit.vue | 16 +- resources/js/views/dashboard/MediaList.vue | 120 +++--- 9 files changed, 418 insertions(+), 320 deletions(-) diff --git a/app/Conductors/Conductor.php b/app/Conductors/Conductor.php index d6798da..4159a82 100644 --- a/app/Conductors/Conductor.php +++ b/app/Conductors/Conductor.php @@ -6,6 +6,7 @@ use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Collection; use Illuminate\Database\Eloquent\Model; use Illuminate\Http\Request; +use Illuminate\Support\Facades\Log; use Illuminate\Support\Str; class Conductor @@ -552,19 +553,35 @@ class Conductor } else { $limitFields = array_map('strtolower', $limitFields); } - $tokens = preg_split('/([()]|,OR,|,AND,|,)/', $filterString, -1, (PREG_SPLIT_NO_EMPTY | PREG_SPLIT_DELIM_CAPTURE)); $glued = []; $glueToken = ''; foreach ($tokens as $item) { if ($glueToken === '') { - if (preg_match('/(? 0) { + $glueToken = $matches[0][0][0]; + if ($amount === 1) { + $item = substr($item, 0, $matches[0][1]) . substr($item, ($matches[0][1] + 1)); + $item = str_replace("\\$glueToken", $glueToken, $item); + $glued[] = $item; + } else { + $lastPos = 0; + $newStr = ''; + foreach ($matches[0] as $pos) { + $matchLen = strlen($glueToken); + $startPos = ($pos[1] - $lastPos); + $newStr .= substr($item, $lastPos, $startPos); + $lastPos = ($pos[1] + $matchLen); + } + $newStr .= substr($item, $lastPos); + $newStr = str_replace("\\$glueToken", $glueToken, $newStr); + $glued[] = $newStr; + $glueToken = ''; + } + } else { + $glued[] = $item; + }//end if } else { // search for ending glue token if (preg_match('/(?query->toSql()); } /** diff --git a/app/Conductors/EventConductor.php b/app/Conductors/EventConductor.php index 0b77877..c5a2666 100644 --- a/app/Conductors/EventConductor.php +++ b/app/Conductors/EventConductor.php @@ -24,7 +24,6 @@ class EventConductor extends Conductor /** * The included fields - * * @var string[] */ protected $includes = ['attachments']; @@ -101,7 +100,7 @@ class EventConductor extends Conductor /** * Include Attachments Field. - * + * * @param Model $model Them model. * @return mixed The model result. */ @@ -114,7 +113,7 @@ class EventConductor extends Conductor /** * Transform the Hero field. - * + * * @param mixed $value The current value. * @return array The new value. */ diff --git a/resources/js/components/SMInput.vue b/resources/js/components/SMInput.vue index f2ee6fa..ddd05c5 100644 --- a/resources/js/components/SMInput.vue +++ b/resources/js/components/SMInput.vue @@ -48,6 +48,19 @@ @input="handleInput" @keyup="handleKeyup"> +