*/ #[DataCollectionOf(TableHeader::class)] public DataCollection $header; /** @var DataCollection|null */ #[DataCollectionOf(UserData::class)] public ?DataCollection $users = null; public function mount(): void { $this->header = TableHeader::collect([ new TableHeader('name', 'User'), new TableHeader('role.name', 'Role'), new TableHeader('role.service', 'Service Access'), new TableHeader('status', 'Status'), ], DataCollection::class); $this->users = UserData::collect([ new UserData( name: 'Priya Rao', email: 'priya@example.com', active: true, roles: RoleData::collect([ new RoleData( name: 'Super Admin', users: UserData::collect([], DataCollection::class), services: ServiceData::collect([ new ServiceData(name: 'AWS Core'), new ServiceData(name: 'GitHub Enterprise'), ], DataCollection::class), status: RolesStatus::Active, ), new RoleData( name: 'HR Manager', users: UserData::collect([], DataCollection::class), services: ServiceData::collect([ new ServiceData(name: 'Keka'), new ServiceData(name: 'Outlook'), ], DataCollection::class), status: RolesStatus::Active, ) ], DataCollection::class) ), new UserData( name: 'Kushal Saha', email: 'kushal@example.com', active: true, roles: RoleData::collect([ new RoleData( name: 'Backend Developer', users: UserData::collect([], DataCollection::class), services: ServiceData::collect([ new ServiceData(name: 'Forge'), ], DataCollection::class), status: RolesStatus::Active, ) ], DataCollection::class) ), new UserData( name: 'Alex Johnson', email: 'alex@example.com', active: false, roles: RoleData::collect([ new RoleData( name: 'Guest Viewer', users: UserData::collect([], DataCollection::class), services: ServiceData::collect([ new ServiceData(name: 'Analytics Dashboard'), ], DataCollection::class), status: RolesStatus::Active, ) ], DataCollection::class) ) ], DataCollection::class); } }; ?>
{{ __('Assign user') }} @scope('cell_name', $row) @endscope @scope('cell_role.name', $row)
@foreach ($row->roles as $role) {{$role->name}} @endforeach
@endscope @scope('cell_role.service', $row)
@foreach ($row->roles as $role) @foreach($role->services as $service) {{$service->name}}, @endforeach @endforeach
@endscope @scope('cell_status', $row) @if($row->active) Active @else Not Active @endif @endscope @scope('actions', $row) @endscope