<div class="row">
	<div class="col-12 col-xl-3">
		<select id="objectclass" class="form-control">
			<option value="-all-">-all-</option>
			@foreach ($objectclasses as $o)
				<option value="{{ $o->name_lc }}">{{ $o->name }}</option>
			@endforeach
		</select>
	</div>

	<div class="col-12 col-xl-9">
		@foreach ($objectclasses as $o)
			<span id="oc-{{ $o->name_lc }}">
				<table class="schema table table-sm table-bordered table-striped">
					<thead>
					<tr>
						<th class="table-dark" colspan="4">{{ $o->name }}<span class="float-end"><abbr title="{{ $o->line }}"><i class="fas fa-fw fa-file-contract"></i></abbr></span></th>
					</tr>
					</thead>

					<tbody>
					<tr>
						<td class="w-25">{{ __('Description') }}</td><td colspan="3"><strong>{{ __($o->description ?: '(no description)') }}</strong></td>
					</tr>
					<tr>
						<td class="w-25"><abbr title="{{ __('Object Identifier') }}">OID</abbr></td><td colspan="3"><strong>{{ $o->oid }}</strong></td>
					</tr>
					<tr>
						<td>{{ __('Type') }}</td><td colspan="3"><strong>{{ __($o->type_name) }}</strong></td>
					</tr>
					<tr>
						<td>{{ __('Inherits from') }}</td>
						<td colspan="3">
							<strong>
								@if ($o->sup->count() === 0)
									{{ __('(none)') }}
								@else
									@foreach ($o->sup as $sup)
										@if($loop->index)</strong> <strong>@endif
										<a class="objectclass" id="{{ strtolower($sup) }}" href="#{{ strtolower($sup) }}">{{ $sup }}</a>
									@endforeach
								@endif
							</strong>
						</td>
					</tr>

					<tr>
						<td>{{ __('Parent to') }}</td>
						<td colspan="3">
							<strong>
								@if (strtolower($o->name) === 'top')
									<a class="objectclass" id="-all-">(all)</a>
								@elseif (! $o->getChildObjectClasses()->count())
									{{ __('(none)') }}
								@else
									@foreach ($o->getChildObjectClasses() as $childoc)
										@if($loop->index)</strong> <strong>@endif
										<a class="objectclass" id="{{ strtolower($childoc) }}" href="#{{ strtolower($childoc) }}">{{ $childoc }}</a>
									@endforeach
								@endif
							</strong>
						</td>
					</tr>

					<tr>
						<td class="align-top w-50" colspan="2">
							<table class="clearfix table table-sm table-borderless">
								<thead>
								<tr>
									<th class="table-primary">{{ __('Required Attributes') }}</th>
								</tr>
								</thead>

								<tbody>
								<tr>
									<td>
										<ul class="ps-3" style="list-style-type: square;">
											@foreach ($o->getMustAttrs(TRUE) as $oo)
												<li>{{ $oo->name }} @if($oo->source !== $o->name)[<strong><a class="objectclass" id="{{ strtolower($oo->source) }}" href="#{{ strtolower($oo->source) }}">{{ $oo->source }}</a></strong>]@endif</li>
											@endforeach
										</ul>
									</td>
								</tr>
								</tbody>
							</table>
						</td>

						<td class="align-top w-50" colspan="2">
							<table class="clearfix table table-sm table-borderless">
								<thead>
								<tr>
									<th class="table-primary">{{ __('Optional Attributes') }}</th>
								</tr>
								</thead>

								<tbody>
								<tr>
									<td>
										<ul class="ps-3" style="list-style-type: square;">
											@foreach ($o->getMayAttrs(TRUE) as $oo)
												<li>{{ $oo->name }} @if($oo->source !== $o->name)[<strong><a class="objectclass" id="{{ strtolower($oo->source) }}" href="#{{ strtolower($oo->source) }}">{{ $oo->source }}</a></strong>]@endif</li>
											@endforeach
										</ul>
									</td>
								</tr>
								</tbody>
							</table>
						</td>
					</tr>
					</tbody>
				</table>
			</span>
		@endforeach
	</div>
</div>

<script type="text/javascript">
	$(document).ready(function() {
		<!-- Handle our parent to/inherits from fields -->
		$('.objectclass')
			.on('click',function(item) {
				$('#objectclass').val(item.target.id).trigger('change');

				return false;
			});

		<!-- Handle our select list -->
		$('#objectclass')
			.select2({width: '100%'})
			.on('change',function(item) {
				if (item.target.value === '-all-') {
					$('#objectclasses span').each(function() { $(this).show(); });

				} else {
					$('#objectclasses span').each(function() {
						if ($(this)[0].id.match(/select2/) || (! $(this)[0].id))
							return;

						if ('oc-'+item.target.value === $(this)[0].id)
							$(this).show();
						else
							$(this).hide();
					});
				}
			});
	});
</script>