Added lower, middle, upper column to allow only validation
Some checks failed
Gemini PR Review / Gemini PR Review (pull_request) Waiting to run
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (pull_request) Waiting to run
Laravel Larastan / larastan (pull_request) Waiting to run
Laravel Pint / pint (pull_request) Waiting to run
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Has been cancelled
Some checks failed
Gemini PR Review / Gemini PR Review (pull_request) Waiting to run
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (pull_request) Waiting to run
Laravel Larastan / larastan (pull_request) Waiting to run
Laravel Pint / pint (pull_request) Waiting to run
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Has been cancelled
This commit is contained in:
@@ -11,6 +11,7 @@ use App\Models\Machine;
|
||||
use App\Models\Plant;
|
||||
use App\Models\ProductCharacteristicsMaster;
|
||||
use App\Models\WorkGroupMaster;
|
||||
use Closure;
|
||||
use Filament\Facades\Filament;
|
||||
use Filament\Forms;
|
||||
use Filament\Forms\Components\DateTimePicker;
|
||||
@@ -45,7 +46,7 @@ class ProductCharacteristicsMasterResource extends Resource
|
||||
->options(function (callable $get) {
|
||||
$userHas = Filament::auth()->user()->plant_id;
|
||||
|
||||
return ($userHas && strlen($userHas) > 0) ? Plant::where('id', $userHas)->pluck('name', 'id')->toArray() : Plant::pluck('name', 'id')->toArray();
|
||||
return ($userHas && strlen($userHas) > 0) ? Plant::where('id', $userHas)->pluck('name', 'id')->toArray() : Plant::orderBy('code')->pluck('name', 'id')->toArray();
|
||||
})
|
||||
->reactive()
|
||||
->required(),
|
||||
@@ -189,33 +190,45 @@ class ProductCharacteristicsMasterResource extends Resource
|
||||
// session()->put('temp_result', $state);
|
||||
// })
|
||||
// ->hidden(fn (callable $get) => $get('inspection_type') != 'Visual'),
|
||||
Forms\Components\TextInput::make('upper')
|
||||
->label('Upper')
|
||||
->numeric()
|
||||
->default(0.0)
|
||||
->visible(fn (callable $get) => $get('inspection_type') == 'Value'),
|
||||
Forms\Components\TextInput::make('lower')
|
||||
->label('Lower')
|
||||
->numeric()
|
||||
->reactive()
|
||||
->default(0.0)
|
||||
->minValue(0.0)
|
||||
->maxValue(fn (Get $get) => $get('upper') ?? PHP_INT_MAX)
|
||||
->afterStateUpdated(fn ($state, callable $set, callable $get) => $set('middle', ($state + $get('upper')) / 2))
|
||||
->visible(fn (callable $get) => $get('inspection_type') == 'Value'),
|
||||
Forms\Components\TextInput::make('upper')
|
||||
->label('Upper')
|
||||
->numeric()
|
||||
->reactive()
|
||||
->default(0.0)
|
||||
->minValue(fn (Get $get) => $get('lower') ?? 0)
|
||||
->maxValue(PHP_INT_MAX)
|
||||
->afterStateUpdated(fn ($state, callable $set, callable $get) => $set('middle', ($get('lower') + $state) / 2))
|
||||
->visible(fn (callable $get) => $get('inspection_type') == 'Value'),
|
||||
Forms\Components\TextInput::make('middle')
|
||||
->label('Middle')
|
||||
->readOnly()
|
||||
->numeric()
|
||||
->visible(fn (callable $get) => $get('inspection_type') == 'Value')
|
||||
->rule(function (callable $get) {
|
||||
return function (string $attribute, $value, \Closure $fail) use ($get) {
|
||||
$lower = $get('lower');
|
||||
$upper = $get('upper');
|
||||
$middle = $value;
|
||||
->reactive()
|
||||
->default(0.0)
|
||||
// ->rule(function (callable $get) {
|
||||
// return function (string $attribute, $value, Closure $fail) use ($get) {
|
||||
// $lower = $get('lower');
|
||||
// $upper = $get('upper');
|
||||
// $middle = $value;
|
||||
|
||||
if (! is_null($lower) && ! is_null($upper) && ! is_null($middle)) {
|
||||
if (! ($lower <= $middle && $middle <= $upper)) {
|
||||
$fail('Middle must be between Lower and Upper (Lower ≤ Middle ≤ Upper).');
|
||||
}
|
||||
}
|
||||
};
|
||||
}),
|
||||
// if (! is_null($lower) && ! is_null($upper) && ! is_null($middle)) {
|
||||
// if ((($lower <= $middle || $middle >= $upper) && $lower != $upper) || (($lower < $middle || $middle > $upper) && $lower == $upper)) {
|
||||
// $fail('Middle must be between Lower and Upper (Lower ≤ Middle ≤ Upper).');
|
||||
// }
|
||||
// }
|
||||
// };
|
||||
// })
|
||||
->dehydrateStateUsing(fn ($state, Get $get) => ($get('lower') + $get('upper')) / 2)
|
||||
->visible(fn (callable $get) => $get('inspection_type') == 'Value'),
|
||||
Forms\Components\Hidden::make('created_by')
|
||||
->label('Created By')
|
||||
->default(Filament::auth()->user()?->name),
|
||||
@@ -330,7 +343,7 @@ class ProductCharacteristicsMasterResource extends Resource
|
||||
->options(function (callable $get) {
|
||||
$userHas = Filament::auth()->user()->plant_id;
|
||||
|
||||
return ($userHas && strlen($userHas) > 0) ? Plant::where('id', $userHas)->pluck('name', 'id')->toArray() : Plant::pluck('name', 'id')->toArray();
|
||||
return ($userHas && strlen($userHas) > 0) ? Plant::where('id', $userHas)->pluck('name', 'id')->toArray() : Plant::orderBy('code')->pluck('name', 'id')->toArray();
|
||||
})
|
||||
->reactive()
|
||||
->afterStateUpdated(function ($state, callable $set, callable $get) {
|
||||
|
||||
Reference in New Issue
Block a user