|
@@ -69,9 +69,6 @@
|
|
|
</label>
|
|
|
<select id="user_id" style="width:100%" class="custom-select" name="user_id" required
|
|
|
autocomplete="off" @error('user_id') is-invalid @enderror>
|
|
|
- @foreach ($users as $user)
|
|
|
- <option value="{{$user->id}}" >{{ $user->name }}</option>
|
|
|
- @endforeach
|
|
|
</select>
|
|
|
</div>
|
|
|
<div class="form-group ">
|
|
@@ -112,10 +109,73 @@
|
|
|
});
|
|
|
});
|
|
|
</script>
|
|
|
- <script>
|
|
|
- document.addEventListener('DOMContentLoaded', function () {
|
|
|
- $('[data-toggle="popover"]').popover();
|
|
|
- $('.custom-select').select2();
|
|
|
+ <script type="application/javascript">
|
|
|
+ function initUserIdSelect(data) {
|
|
|
+ function escapeHtml(str) {
|
|
|
+ var div = document.createElement('div');
|
|
|
+ div.appendChild(document.createTextNode(str));
|
|
|
+ return div.innerHTML;
|
|
|
+ }
|
|
|
+
|
|
|
+ $('#user_id').select2({
|
|
|
+ ajax: {
|
|
|
+ url: '/admin/users.json',
|
|
|
+ dataType: 'json',
|
|
|
+ delay: 250,
|
|
|
+
|
|
|
+ data: function (params) {
|
|
|
+ return {
|
|
|
+ filter: { email: params.term },
|
|
|
+ page: params.page,
|
|
|
+ };
|
|
|
+ },
|
|
|
+
|
|
|
+ processResults: function (data, params) {
|
|
|
+ return { results: data };
|
|
|
+ },
|
|
|
+
|
|
|
+ cache: true,
|
|
|
+ },
|
|
|
+
|
|
|
+ data: data,
|
|
|
+ escapeMarkup: function (markup) { return markup; },
|
|
|
+ minimumInputLength: 2,
|
|
|
+ templateResult: function (data) {
|
|
|
+ if (data.loading) return escapeHtml(data.text);
|
|
|
+
|
|
|
+ return '<div class="user-block"> \
|
|
|
+ <img class="img-circle img-bordered-xs" src="' + escapeHtml(data.avatarUrl) + '?s=120" alt="User Image"> \
|
|
|
+ <span class="username"> \
|
|
|
+ <a href="#">' + escapeHtml(data.name) +'</a> \
|
|
|
+ </span> \
|
|
|
+ <span class="description"><strong>' + escapeHtml(data.email) + '</strong>' + '</span> \
|
|
|
+ </div>';
|
|
|
+ },
|
|
|
+ templateSelection: function (data) {
|
|
|
+ return '<div> \
|
|
|
+ <span> \
|
|
|
+ <img class="img-rounded img-bordered-xs" src="' + escapeHtml(data.avatarUrl) + '?s=120" style="height:28px;margin-top:-4px;" alt="User Image"> \
|
|
|
+ </span> \
|
|
|
+ <span style="padding-left:5px;"> \
|
|
|
+ ' + escapeHtml(data.name) + ' (<strong>' + escapeHtml(data.email) + '</strong>) \
|
|
|
+ </span> \
|
|
|
+ </div>';
|
|
|
+ }
|
|
|
+
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+ $(document).ready(function() {
|
|
|
+ @if (old('user_id'))
|
|
|
+ $.ajax({
|
|
|
+ url: '/admin/users.json?user_id={{ old('user_id') }}',
|
|
|
+ dataType: 'json',
|
|
|
+ }).then(function (data) {
|
|
|
+ initUserIdSelect([ data ]);
|
|
|
+ });
|
|
|
+ @else
|
|
|
+ initUserIdSelect();
|
|
|
+ @endif
|
|
|
});
|
|
|
</script>
|
|
|
@endsection
|