{{-- @if ($records instanceof \Illuminate\Pagination\LengthAwarePaginator && $records->hasPages())
@endif --}} @php $filterField = collect($tableData['tableFields'])->first(function ($field) use ($recordType) { return isset($field['references']) && $field['references'] === $recordType->model_name; }); if($sublist) { if($pagetypemodel) { $filterField['filterid'] = strtolower($pagetypemodel); } } @endphp @if($hasSubtasks) @php $subtaskRecordType = GetRecordType('Subtask'); $assigneeRecordType = GetRecordType('Assignee'); @endphp @endif @if($hasTimeEntry) @prepend('slideouts') @endprepend @endif @if($hasComment) @endif @if(!$savedsearch) @if(!$sublist)
@if(count($tableData['filterbuilder']) > 0) @endif @php $exportRefId = 'exportForm_' . $recordType->id; @endphp
Add new
@endif
getOptions()["pageName"] }}', 1); @endif window.location.href = url.toString(); }, submitFilters() { const filterValues = {}; this.filters.forEach((filter, index) => { const selector = `[name='filters[${index}][${filter.recordfield}]']`; const filterElement = document.querySelector(selector); if (filterElement) { if (filterElement.multiple) { const selectedValues = Array.from(filterElement.selectedOptions).map(option => option.value); if (selectedValues.length > 0) { filterValues[filter.recordfield] = selectedValues; } } else if (filterElement.value) { filterValues[filter.recordfield] = filterElement.value; } } }); const url = new URL(window.location.href); const existingFilters = JSON.parse(url.searchParams.get('filters') || '{}'); if (Object.keys(filterValues).length > 0 || this.groupby || this.nest || this.inactive) { if (!existingFilters[this.tableId]) { existingFilters[this.tableId] = {}; } existingFilters[this.tableId].filters = filterValues; existingFilters[this.tableId].groupby = this.groupby; existingFilters[this.tableId].nest = this.nest; existingFilters[this.tableId].inactive = this.inactive; } else { delete existingFilters[this.tableId]; } url.searchParams.set('filters', JSON.stringify(existingFilters)); @if ($records instanceof \Illuminate\Pagination\LengthAwarePaginator) url.searchParams.set('{{ $records->getOptions()["pageName"] }}', 1); @endif window.location.href = url.toString(); }, clearFilters() { const url = new URL(window.location.href); const existingFilters = JSON.parse(url.searchParams.get('filters') || '{}'); if (existingFilters[this.tableId]) { delete existingFilters[this.tableId]; } url.searchParams.set('filters', JSON.stringify(existingFilters)); @if ($records instanceof \Illuminate\Pagination\LengthAwarePaginator) url.searchParams.set('{{ $records->getOptions()["pageName"] }}', 1); @endif url.searchParams.set('groupby', ''); url.searchParams.set('nest', ''); url.searchParams.set('inactive', ''); window.location.href = url.toString(); }, setFilteredRecords(event) { this.filteredRecords.push(event.detail); }, setNewRecord(event) { var newRecordModel = event.detail[1]; var newRecord = event.detail[0]; var eventTable = event.detail[2]; console.log(eventTable); console.log(newRecordModel); console.log(this.tableId); if(eventTable == this.tableId) { $wire.getRecords(); } } }" @selectedrecord.window="setFilteredRecords($event)" @recordcreated.window="setNewRecord($event)" @inlinerecordcreated.window="setNewRecord($event)" class="mx-auto w-full border-b border-gray-200 dark:bg-gray-700 dark:border-gray-800 z-50" x-cloak > @if($tableData['filterbuilder'])
@if($sublist)
@if ($nestable)
@endif @endif
@foreach($tableData['filterbuilder'] as $index => $filter) @if(isset($filter['scriptid']) && $filter['scriptid'] != $this->pagetype) @if(!empty($filter['value']))
@if($filter['type'] === 'list') @php $selectedValues = is_array($filter['value']) ? $filter['value'] : [$filter['value']]; $options = json_decode($filter['options'], true); $selectedLabels = collect($options) ->whereIn('refid', $selectedValues) ->pluck('value') ->toArray(); @endphp
{{ implode(', ', $selectedLabels) }}
@elseif($filter['type'] === 'free_form_text')
{{ $filter['value'] }}
@elseif($filter['type'] === 'date')
{{ \Carbon\Carbon::parse($filter['value'])->format('n/j/Y') }}
@elseif($filter['type'] === 'record') @if($filter['value'] === 'empty')
Empty
@else @endif @endif
@endif @endif @endforeach
@if($sublist) @if(count($tableData['filterbuilder']) > 0)
@php $exportRefId = 'exportForm_' . $recordType->id; @endphp
{{-- --}}
@endif @endif @if($sublist)
@endif
@endif
@if(!$sublist)
@endif @else

{{ $tableData['title'] }}

@endif
@prepend('slideouts') @endprepend @foreach ($tableData['tableFields'] as $field) @if($field['scriptid'] == 'title') {{-- --}} @else @endif @endforeach {{-- --}} {{-- {{ dd($records) }} --}} @foreach($records as $record) @php $fields = is_array($record->fields) ? $record->fields : json_decode($record->fields, true); $fields = is_array($fields) ? $fields : []; $record->setRawAttributes(array_merge($record->getAttributes(), $fields)); @endphp @include('tenant.record.partials.tablefields') {{-- --}} @if(!$record->is_parent) @isset($expandedAssignees[$record->refid]) @include('tenant.record.partials.nested-records', ['expandedRecords' => $expandedAssignees, 'tableData' => $assigneeTableData, 'recordType' => $assigneeRecordType, 'parent' => $record, 'level' => 1, 'expandfield' => 'projecttask', 'showType' => 'expandedAssignees']) @endisset @endif @isset($expandedSubtasks[$record->refid]) @include('tenant.record.partials.nested-subtasks', ['expandedSubtasks' => $expandedSubtasks, 'tableData' => $tableData, 'recordType' => $subtaskRecordType, 'parent' => $record, 'level' => 1]) @endisset @isset($expandedRecords[$record->refid]) @include('tenant.record.partials.nested-records', ['expandedRecords' => $expandedRecords, 'tableData' => $tableData, 'recordType' => $recordType, 'parent' => $record, 'level' => 1, 'expandfield' => 'parent', 'showType' => 'expandedSubtasks']) @endisset @endforeach @if ($records->hasPages()) @endif