filters improvements

This commit is contained in:
2023-11-17 20:21:45 +02:00
parent cfde3bf501
commit 794916b178
17 changed files with 387 additions and 241 deletions
+4
View File
@@ -62,6 +62,10 @@ class BuildController extends Controller
break;
}
if(str_contains($data["logs"],"Exception")){
break;
}
// Break the loop if the client aborted the connection (closed the page)
if (connection_aborted()) {
break;
+2
View File
@@ -294,6 +294,8 @@ class RecordController extends Controller
} elseif ($request->input("ui") == "number") {
$arguments["data." . $request->input("field") . "_eqnum"] = floatval($request->input("value"));
} elseif ($request->input("ui") == "date") {
} elseif ($request->input("ui") == "search") {
$arguments["search_regex"] = $request->input("value");
}
}
+2 -2
View File
@@ -34,6 +34,7 @@ final class FilterParser
{
$operator = $this->detectOperator($filter);
$field = $this->detectField($filter, $operator);
$formattedValue = match ($operator) {
"eq" => $this->formatText($value),
@@ -61,7 +62,6 @@ final class FilterParser
default => $value,
};
$matchedOperator = Operator::list()[$operator];
return new Argument(
field: str_replace(".", "->", $field),
@@ -134,6 +134,7 @@ final class FilterParser
return $c;
}, []);
$sourceIds = collect($subqueries)->reduce(function ($c, $subquery, $k) {
$query = $this->app->make(Query::class);
@@ -197,7 +198,6 @@ final class FilterParser
*/
private function parseAnd(Builder $builder, array $arguments): Builder
{
foreach ($arguments as $argument) {
if ($argument->operator == "in") {
$builder->whereIn($argument->field, $argument->value);
+2 -2
View File
@@ -37,7 +37,7 @@ final class Operator
label: "Equals",
symbol: "is",
db: '=',
uis: ["id", "text", "textarea", "url", "color", "date", "datetime"],
uis: ["id", "text", "textarea", "url", "color", "date", "datetime", "reference"],
),
"ne" => new Operator(
name: "ne",
@@ -61,7 +61,7 @@ final class Operator
uis: ["number"],
),
"filter" => new Operator(
name: "object",
name: "filter",
label: "Equals Object",
symbol: "is",
db: 'filter',
+7 -1
View File
@@ -6,6 +6,7 @@ use Illuminate\Contracts\Filesystem\Filesystem;
use Illuminate\Contracts\View\View;
use Illuminate\Support\Facades\File;
use Illuminate\Support\Facades\Storage;
use Throwable;
class StaticGenerator
{
@@ -23,7 +24,12 @@ class StaticGenerator
echo "Start ".Carbon::now()->format("Y-m-d H:i:s").PHP_EOL;
$this->removeBuildDirectory();
echo "Removing previous data".PHP_EOL;
$callback($this->writer);
try {
$callback($this->writer);
}catch (Throwable $th){
echo "Finito with errors".Carbon::now()->format("Y-m-d H:i:s")." ".$th->getMessage().PHP_EOL;
}
$this->copyBuildDirectory();
echo "Finito ".Carbon::now()->format("Y-m-d H:i:s").PHP_EOL;
}