Deon George baf5acc01a
All checks were successful
Create Docker Image / Test Application (x86_64) (push) Successful in 27s
Create Docker Image / Build Docker Image (x86_64) (push) Successful in 1m22s
Create Docker Image / Build Docker Image (arm64) (push) Successful in 4m33s
Create Docker Image / Final Docker Image Manifest (push) Successful in 9s
When creating a new entry, and validation redirects back to the form, ensure our RDN readonly is preserved
2025-03-07 11:00:11 +11:00

69 lines
2.1 KiB
PHP

<!-- $o=RDN::class -->
<x-attribute.layout :edit="$edit ?? FALSE" :new="$new ?? FALSE" :o="$o">
@foreach($o->values as $value)
@if($edit)
<div class="input-group has-validation mb-3">
<select class="form-select @error('rdn')is-invalid @enderror" id="rdn" name="rdn">
<option value=""></option>
@foreach($o->attrs->map(fn($item)=>['id'=>$item,'value'=>$item]) as $option)
@continue(! Arr::get($option,'value'))
<option value="{{ Arr::get($option,'id') }}" @selected(Arr::get($option,'id') == old('rdn',$value ?? ''))>{{ Arr::get($option,'value') }}</option>
@endforeach
</select>
<span class="input-group-text">=</span>
<input type="text" @class(['form-control','is-invalid'=>$errors->get('rdn_value')]) id="rdn_value" name="rdn_value" value="{{ old('rdn_value') }}" placeholder="rdn">
<label class="input-group-text" for="inputGroupSelect02">,{{ $o->base }}</label>
<div class="invalid-feedback pb-2">
@error('rdn')
{{ $message }}
@enderror
@error('rdn_value')
{{ $message }}
@enderror
</div>
</div>
@else
{{ $value }}
@endif
@endforeach
</x-attribute.layout>
@section('page-scripts')
<script type="text/javascript">
$(document).ready(function() {
var rdn_value_set = $('input#rdn_value').val();
rdn_attr = $('select#rdn').val();
if (rdn_attr) {
$('#'+rdn_attr).find('input').attr('readonly',true);
set_rdn_value();
}
function set_rdn_value() {
if (rdn_attr && rdn_value_set)
$('#'+rdn_attr).find('input').val($('input#rdn_value').val());
}
$('select#rdn').on('change',function() {
// if rdn_attr is already set (and its now different), remove read only and clear value
if (rdn_attr)
$('#'+rdn_attr).find('input').attr('readonly',false).val('');
// set RDN attribute read-only
if (rdn_attr = $(this).val())
$('#'+rdn_attr).find('input').attr('readonly',true).val('');
set_rdn_value();
})
$('input#rdn_value').on('change',function() {
rdn_value_set = $(this).val();
set_rdn_value();
})
});
</script>
@endsection