@extends('dashboard.core')

@section('dashboard-body')
    @if($help_text != '')
        <div class="container-fluid">
            <div class="row">
                <div class="col-12">
                    <div class="help-text">
                        {!! $help_text !!}
                    </div>
                </div>
            </div>
        </div>
    @endif

    <form id="edit-item" class="edit-item" data-id="{{ $id }}" data-model="{{ $model }}">
        <input type="hidden" id="token" value="{{ csrf_token() }}" />

        <div class="container-fluid">
            @foreach($columns as $column)
                <div class="row">
                    @php
                        $value = $item !== null ? $item[$column['name']] : '';
                        $type = $id == 'new' && array_key_exists('type-new', $column) ? $column['type-new'] : $column['type'];
                        $ext = array_key_exists('ext', $column) ? $column['ext'] : $default_img_ext;
                    @endphp

                    @if($type == 'hidden')
                        <input class="text-input" type="hidden" name="{{ $column['name'] }}" id="{{ $column['name'] }}" value="{{ $value }}" />
                    @elseif($type == 'user')
                        <input class="text-input" type="hidden" name="{{ $column['name'] }}" id="{{ $column['name'] }}" value="{{ Auth::id() }}" />
                    @elseif($type != 'display' || $id != 'new')
                        <div class="col-12 col-md-4 col-lg-3">
                            <label for="{{ $column['name'] }}">
                                {{ array_key_exists('title', $column) ? $column['title'] : ucfirst($column['name']) }}

                                @if($column['type'] == 'image')
                                    @if($ext == 'svg')
                                        (SVG)
                                    @endif
                                @elseif($column['type'] == 'file')
                                    ({{ strtoupper($ext) }})
                                @endif
                            </label>
                        </div>

                        <div class="col-12 col-md-8 col-lg-9">
                            @if($type == 'string')
                                <input class="text-input" type="text" name="{{ $column['name'] }}" id="{{ $column['name'] }}" value="{{ $value }}" />
                            @elseif($type == 'text')
                                <textarea class="text-input" name="{{ $column['name'] }}" id="{{ $column['name'] }}">{{ $value }}</textarea>
                            @elseif($type == 'currency')
                                <input class="currency-input" type="text" name="{{ $column['name'] }}" id="{{ $column['name'] }}" value="{{ $value }}" autocomplete="off" />
                            @elseif($type == 'date' || $type == 'date-time')
                                <input class="date-picker" type="text" name="{{ $column['name'] }}" id="{{ $column['name'] }}" data-type="{{ $type }}" value="{{ $value == '' ? date('Y-m-d', time()) : preg_replace('/:[0-9][0-9]$/', '', $value) }}" />
                            @elseif($type == 'mkd')
                                <div class="mkd-editor-container">
                                    <textarea class="mkd-editor" name="{{ $column['name'] }}" id="{{ $column['name'] }}" value="{{ $value }}"></textarea>
                                </div>
                            @elseif($type == 'select')
                                <select class="text-input" name="{{ $column['name'] }}" id="{{ $column['name'] }}">
                                    @foreach($column['options'] as $option)
                                        @if(is_array($option))
                                            @php
                                                $select_value = $option['value'];
                                                $select_title = $option['title'];
                                            @endphp
                                        @else
                                            @php
                                                $select_value = $option;
                                                $select_title = $option;
                                            @endphp
                                        @endif

                                        @if(gettype($select_title) == 'boolean')
                                            @php
                                                $select_title = $select_title ? 'true' : 'false';
                                            @endphp
                                        @endif

                                        @if(gettype($select_value) == 'boolean')
                                            @php
                                                $select_value = $select_value ? 1 : 0;
                                            @endphp
                                        @endif

                                        @if($select_value === $value)
                                            <option value="{{ $select_value }}" selected="selected">{{ $select_title }}</option>
                                        @else
                                            <option value="{{ $select_value }}">{{ $select_title }}</option>
                                        @endif
                                    @endforeach
                                </select>
                            @elseif($type == 'list')
                                @php
                                    $list_model = App\Dashboard::getModel($value['model']);
                                    $list_columns = $list_model::$dashboard_columns;
                                @endphp

                                <div class="list" id="{{ $column['name'] }}">
                                    <div class="list-template">
                                        <div class="list-items-row" data-id="new">
                                            <div class="sort-icon" title="Click and drag to reorder">
                                                <div class="sort-icon-inner">
                                                    <div class="sort-icon-inner-bar"></div>
                                                    <div class="sort-icon-inner-bar"></div>
                                                    <div class="sort-icon-inner-bar"></div>
                                                </div>
                                            </div>

                                            @foreach($list_columns as $list_column)
                                                <div class="list-items-row-content {{ count($list_columns) == 1 ? 'wide' : '' }}">
                                                    <div class="list-items-row-content-inner" data-column="{{ $list_column['name'] }}" data-type="{{ $list_column['type'] }}">
                                                        @if($list_column['type'] == 'string')
                                                            <input class="list-input" placeholder="{{ $list_column['name'] }}" />
                                                        @elseif($list_column['type'] == 'image')
                                                            <a class="image-link" href="" target="_blank"><img class="image-preview" src="" /></a>
                                                            <input class="list-input image-upload" type="file" data-column="{{ $list_column['name'] }}" data-model="{{ $value['model'] }}" />
                                                        @endif
                                                    </div>
                                                </div>
                                            @endforeach

                                            <div class="list-items-row-buttons">
                                                <button class="list-items-row-buttons-delete" type="button">Delete</button>
                                            </div>
                                        </div>
                                    </div>

                                    <div class="list-data">
                                        @if($id != 'new')
                                            @foreach($value['list'] as $row)
                                                <div class="list-data-row" data-id="{{ $row['id'] }}">
                                                    @foreach($list_columns as $list_column)
                                                        @if($list_column['type'] == 'string')
                                                            @php
                                                                $list_column_value = $row[$list_column['name']]
                                                            @endphp
                                                        @elseif($list_column['type'] == 'image')
                                                            @php
                                                                $list_column_item = $list_model::find($row['id']);
                                                                $list_column_image_ext = array_key_exists('ext', $list_column) ? $list_column['ext'] : $default_img_ext;
                                                                $list_column_image_path = $list_model->getUploadsPath('image') . $row['id'] . '-' . $list_column['name'] . '.' . $list_column_image_ext;
                                                                $list_column_value = file_exists(public_path($list_column_image_path)) ? $list_column_image_path . '?version=' . $list_column_item->timestamp() : '';
                                                            @endphp

                                                            {{ $list_column_image_path }}
                                                        @endif

                                                        <div class="list-data-row-item" data-type="{{ $list_column['type'] }}" data-column="{{ $list_column['name'] }}" data-value="{{ $list_column_value }}"></div>
                                                    @endforeach
                                                </div>
                                            @endforeach
                                        @endif
                                    </div>

                                    <div class="list-items"></div>
                                    <button class="list-add-button" type="button">Add</button>
                                </div>
                            @elseif($type == 'image')
                                @php
                                    $current_image = "/uploads/$model/img/$id-" . $column['name'] . '.' . $ext;
                                @endphp

                                <input class="image-upload" type="file" data-column="{{ $column['name'] }}" data-model="{{ $model }}" data-id="{{ $id }}" />

                                @if(file_exists(base_path() . '/public' . $current_image))
                                    <div id="current-image-{{ $column['name'] }}">
                                        <img class="current-image" src="{{ $current_image }}?version={{ $item->timestamp() }}" />

                                        @if(array_key_exists('delete', $column) && $column['delete'])
                                            <span class="edit-button delete image" data-column="{{ $column['name'] }}" data-model="{{ $model }}" data-id="{{ $id }}">
                                                Delete Image
                                            </span>
                                        @endif
                                    </div>
                                @endif
                            @elseif($type == 'file')
                                @php
                                    $current_file = "/uploads/$model/files/$id-" . $column['name'] . '.' . $column['ext'];
                                @endphp

                                <input class="file-upload" type="file" data-column="{{ $column['name'] }}" data-model="{{ $model }}" data-id="{{ $id }}" />

                                @if(file_exists(base_path() . '/public' . $current_file))
                                    <div id="current-file-{{ $column['name'] }}">
                                        <a class="edit-button view" href="{{ $current_file }}?version={{ $item->timestamp() }}" target="_blank">View {{ strtoupper($column['ext']) }}</a>

                                        @if(array_key_exists('delete', $column) && $column['delete'])
                                            <span class="edit-button delete file" data-column="{{ $column['name'] }}" data-model="{{ $model }}" data-id="{{ $id }}">
                                                Delete {{ strtoupper($column['ext']) }}
                                            </span>
                                        @endif
                                    </div>
                                @endif
                            @elseif($type == 'display')
                                <div class="text-display">{{ $value }}</div>
                            @endif
                        </div>
                    @endif
                </div>
            @endforeach

            <div class="row">
                <div class="col-12">
                    <button id="back" type="button" class="back-button btn btn-secondary">Back</button>
                    <button id="submit" type="button" class="submit-button btn btn-primary no-input">{{ $id == 'new' ? 'Create' : 'Update' }} {{ $heading }} Item</button>
                </div>
            </div>
        </div>
    </form>

    <div id="loading-modal">
        <div class="spinner-container">
            <div class="sk-flow">
                <div class="sk-flow-dot"></div>
                <div class="sk-flow-dot"></div>
                <div class="sk-flow-dot"></div>
            </div>
        </div>
    </div>
@endsection