phpldapadmin/resources/views/frames/schema/matchingrules.blade.php

101 lines
2.7 KiB
PHP

<div class="row">
<div class="col-12 col-xl-3">
<select id="matchingrule" class="form-control">
<option value="-all-">-all-</option>
@foreach ($matchingrules as $o)
<option value="{{ $o->name_lc }}">{{ $o->name }}</option>
@endforeach
</select>
</div>
<div class="col-12 col-xl-9">
@foreach ($matchingrules as $o)
<span id="me-{{ $o->name_lc }}">
<table class="schema table table-sm table-bordered table-striped">
<thead>
<tr>
<th class="table-dark" colspan="2">{{ $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">@lang('Description')</td><td><strong>{{ $o->description ?: __('(no description)') }}</strong></td>
</tr>
<tr>
<td class="w-25"><abbr title="@lang('Object Identifier')">OID</abbr></td><td><strong>{{ $o->oid }}</strong></td>
</tr>
<tr>
<td class="w-25">@lang('Syntax')</td><td><strong>{{ $o->syntax }}</strong></td>
</tr>
<tr>
<td>@lang('Used by Attributes')</td>
<td>
<strong>
@if ($o->used_by_attrs->count() === 0)
@lang('(none)')
@else
@foreach ($o->used_by_attrs as $attr)
@if($loop->index)</strong> <strong>@endif
<a class="attributetype" id="{{ strtolower($attr) }}" href="#at-{{ strtolower($attr) }}">{{ $attr }}</a>
@endforeach
@endif
</strong>
</td>
</tr>
</tbody>
</table>
</span>
@endforeach
</div>
</div>
<script type="text/javascript">
function hl_attribute(item,count) {
if ((count < 50) && (! loaded['attributetypes'])) {
setTimeout(hl_attribute,250,item,++count);
} else if (count >= 50) {
return false;
} else {
$('#attributetype').val(item.target.id).trigger('change');
return true;
}
}
$(document).ready(function() {
$('.attributetype')
.on('click',function(item) {
$('.nav-item a[href="#attributetypes"]').tab('show');
return hl_attribute(item,0);
});
<!-- Handle our parent to/inherits from fields -->
$('.matchingrule')
.on('click',function(item) {
$('#matchingrule').val(item.target.id).trigger('change');
return false;
});
<!-- Handle our select list -->
$('#matchingrule')
.select2({width: '100%'})
.on('change',function(item) {
if (item.target.value === '-all-') {
$('#matchingrules span').each(function() { $(this).show(); });
} else {
$('#matchingrules span').each(function() {
if ($(this)[0].id.match(/select2/) || (! $(this)[0].id))
return;
if ('me-'+item.target.value === $(this)[0].id)
$(this).show();
else
$(this).hide();
});
}
});
});
</script>