@if(empty($data)) {{'No Data Found'}} @elseif($data->count()) @php $view_cols = array();@endphp @if(isset($inline_menu)) @foreach($inline_menu as $menu) @php if($menu->link_col){ $view_cols[$menu->link_col] = $menu->route_name; } @endphp @endforeach @else @php $inline_menu = array(); @endphp @endif @foreach($data as $key => $value) @php $route_context = $route_inline = null; $context_menu = isset($context_menu) ? $context_menu : []; $hyperlink_menu = isset($hyperlink_menu) ? $hyperlink_menu : []; if($config_type === 'model') { $col_array = $value->attributesToArray(); } else { $col_array= get_object_vars($value); } $col_array_actual = $col_array; if(count($context_menu)>0 ){ foreach($context_menu as $menu){ $extracted_url = explode("{",$menu->route_name); $extract_string = strchr($menu->route_name,"{"); $modified_text = strtr($extract_string, $col_array); $route_context = preg_replace('/[{}]/', '', $modified_text); $route_context = $extracted_url[0].$route_context; } } $checked_value = $colom_val_criteria = null; $first_col = array_keys($col_array_actual)[0]; @endphp @php // code to generate inline menu html if(is_array($inline_menu) && count($inline_menu)>0){ $action_html = ''; foreach($inline_menu as $inline){ $extracted_url = explode("{",$inline->route_name); $extract_string = strchr($inline->route_name,"{"); $col_array = array_reverse($col_array); $modified_text = strtr($extract_string, $col_array); $route_inline = preg_replace('/[{}]/', '', $modified_text); $route_inline = $extracted_url[0].$route_inline; //echo '
';print_r($inline);die;
                if(isset($inline->show_criteria)){
                    $criteria_decode = json_decode($inline->show_criteria,true)[0];
                    $colom_show_criteria =  array_key_first($criteria_decode);
                    $colom_operator = array_key_last($criteria_decode);
                    $colom_val_criteria = $criteria_decode[$colom_show_criteria];
                    if($colom_val_criteria === 'loggedin_user') {
                        $colom_val_criteria = Auth::user()->id;
                    }
                    $checked_value = $value->$colom_show_criteria;
                    if($colom_show_criteria !== $colom_operator) {
                        $colom_val_operator = $criteria_decode[$colom_operator];
                    } else {
                        $colom_val_operator = '!=';
                    }
                    eval("\$result = \"'$checked_value'\" $colom_val_operator \"'$colom_val_criteria'\";");
                }

                if(isset($checked_value) && isset($colom_val_criteria) && $result){
                        // do nothing
                } else {
                    if($inline->sub_menu_name) {
                        if($inline->route_name === 'javascript:void(0)') {
                            if(isset($permission_id) && $permission_id==3){
                                $action_html .= '
                                '.$inline->sub_menu_name.'
                            ';
                            }
                                 
                            else
                                $action_html .= '
                                '.$inline->sub_menu_name.'
                            ';
                        } else {
                            $action_html .= '
                                '.$inline->sub_menu_name.'
                            ';
                        }
                    }
                }
            }
        }
        $hyperlink_array = [];
        // code to generate hyperlink menu html
        if(count($hyperlink_menu)>0){
            $hyperlink_html = '';

            //explode by query string
            $queryArray = [];
            if(str_contains(url()->full(), '?')) {
                $query_str = explode('?',url()->full())[1];
                parse_str($query_str, $queryArray);
            }
            $link_array =  [];
            foreach($hyperlink_menu as $menukey => $hyperlink){
                $extracted_url = explode("{",$hyperlink->route_name);
                $extract_string = strchr($hyperlink->route_name,"{");
                if(count($queryArray) > 0) {
                    $extract_string = strtr($extract_string, $queryArray);
                }
                $modified_text = strtr($extract_string, $col_array);
                $route_hyperlink = preg_replace('/[{}]/', '', $modified_text);
                $route_hyperlink = $extracted_url[0].$route_hyperlink;
                $link_col = $hyperlink->link_col;
                $open_in_new_tab = $hyperlink->open_in_new_tab;
                $hyperlink_array[$menukey]['route_hyperlink'] = $route_hyperlink;
                $hyperlink_array[$menukey]['link_col'] = $link_col;
                array_push($link_array,$link_col);
                $hyperlink_array[$menukey]['open_in_new_tab'] = $open_in_new_tab;
            }
        }
        $first_col = array_keys($col_array_actual)[0];
        $second_col = array_keys($col_array_actual)[1];
    @endphp

    
        
@php $span = ""; @endphp @foreach($coloms as $k => $v) @php if (str_contains($v, ' as ')) { $col_name = explode(" as ",$v)[1]; $obj_name = trim($col_name[0]); } else if (str_contains($v, '.')) { $col_name = explode(".",$v); $obj_name = trim($col_name[0]) ?? null; $col_name = trim($col_name[1]) ?? null; } else { $col_name = $v; } $style = 'style="width: ' . (isset($get_colom_size[$col_name]) ? $get_colom_size[$col_name] . '%' : 'auto') . '"'; if(isset($get_highlight_fields[$v])){ $condition_array = $get_highlight_fields[$v]; foreach($condition_array as $k => $v){ $check_val = $data[$key]->$col_name; if(isset($v[$check_val])) $span = ''; } } if(!is_array($v) && isset($get_timezone_fields[$v])){ if(isset($value->$obj_name->$col_name)){ $value->$obj_name->$col_name = TableBuilderHelper::format_date($value->$obj_name->$col_name); } elseif(isset($value->$col_name)) { $value->$col_name = TableBuilderHelper::format_date($value->$col_name); } } if(!is_array($v) && isset($get_colom_size[$v])){ if(isset($value->$obj_name->$col_name)){ $width = $get_colom_size[$value->$obj_name->$col_name]; } elseif(isset($value->$col_name)) { $width = $get_colom_size[$value->$col_name]; } } @endphp @if(isset($value->$obj_name->$col_name)) @if(isset($view_cols[$k])) > @php echo $span; echo @$value->$obj_name->$col_name @endphp @elseif(count($hyperlink_array) > 0 && in_array($k,$link_array)) @foreach($hyperlink_array as $array) @if($k == $array['link_col']) @php echo $span; echo @$value->$obj_name->$col_name @endphp @endif @endforeach @else @php echo $span; echo @$value->$obj_name->$col_name @endphp @endif @else @if(isset($view_cols[$k])) @php echo $span; echo @$value->$col_name; @endphp @elseif(count($hyperlink_array) > 0 && in_array($k,$link_array)) @foreach($hyperlink_array as $array) @if($k == $array['link_col']) @php echo $span; echo @$value->$col_name; @endphp @endif @endforeach @else @if(isset($value->$col_name)) @php echo $span; echo @$value->$col_name; @endphp @else @php echo @$value->$col_name; @endphp @endif @endif @endif @endforeach @if(count($inline_menu)>0) @php echo $action_html; @endphp @endif @endforeach @else {{'No Data Found'}} @endif