Num
Num2
{!! trans('applicationResource.properties.types') !!}
δ(ppm)
@php
if( !function_exists('array_key_first') ) {
function array_key_first(array $array) {
if( $array === [] ) { return NULL; }
foreach($array as $key => $_) { return $key; }
}
}
$config = config('numeracionespecial.families');
$method = 'general';
if (isset($config[$molecule->family]) && !empty($config[$molecule->family])) {
if (isset($config[$molecule->family]['groups'][$molecule->subFamily]) && !empty($config[$molecule->family]['groups'][$molecule->subFamily])) {
if (isset($config[$molecule->family]['groups'][$molecule->subFamily]['types'][$molecule->subSubFamily]) && !empty($config[$molecule->family]['groups'][$molecule->subFamily]['types'][$molecule->subSubFamily])) {
$method = $config[$molecule->family]['groups'][$molecule->subFamily]['types'][$molecule->subSubFamily];
} else {
if (isset($config[$molecule->family]['groups'][$molecule->subFamily]['global']) && !empty($config[$molecule->family]['groups'][$molecule->subFamily]['global'])) {
$method = $config[$molecule->family]['groups'][$molecule->subFamily]['global'];
} else {
if (isset($config[$molecule->family]['global']) && !empty($config[$molecule->family]['global'])) {
$method = $config[$molecule->family]['global'];
}
}
}
} else {
if (isset($config[$molecule->family]['global']) && !empty($config[$molecule->family]['global'])) {
$method = $config[$molecule->family]['global'];
}
}
}
$carbonsArray = $carbons->toArray();
$carbonsOrdered = [];
if ($method != "general") {
// "1,3,4,4a,4b,5,6,7,8,8a,10,10a"
// Por cada carbono del metodo seleccionado
// Miro si ese indice existe en carbonos
// Si existe lo introduzco en posicion secuencial en nuevo array
// Sino existe uno cualquiera, no vale, nos volvemos al general
// Si al acabar quedan carbonos sueltos, los pegamos a continuacion
foreach (explode(",", $method) as $index) {
$filtered = array_filter($carbonsArray, function($elem) use($index) {
return $elem['numeration'] == $index;
});
if (count($filtered) == 1) {
$selectedKey = array_key_first($filtered);
$carbonsOrdered[$selectedKey] = $carbonsArray[$selectedKey];
unset($carbonsArray[$selectedKey]);
}
}
if (count($carbonsArray)) {
$carbonsOrdered = array_merge($carbonsOrdered, $carbonsArray);
}
} else {
$carbonsOrdered = $carbonsArray;
}
@endphp
@foreach($carbonsOrdered as $carbon)
{!! $carbon['numeration'] !!}
{!! $carbon['num2'] !!}
{!! $carbon['carbonType'] !!}
@if($carbon['shift'] == -9999)
-
@else
{!! number_format($carbon['shift'], 1) !!}
@endif
@endforeach