new: add visibility badge for articles in offer form select
This commit is contained in:
@@ -67,6 +67,11 @@ class Articles
|
|||||||
return $data;
|
return $data;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static function getVisibilityMap()
|
||||||
|
{
|
||||||
|
return Article::pluck('visible', 'id')->toArray();
|
||||||
|
}
|
||||||
|
|
||||||
public static function getAll()
|
public static function getAll()
|
||||||
{
|
{
|
||||||
return Article::orderBy('name', 'asc')->get();
|
return Article::orderBy('name', 'asc')->get();
|
||||||
|
|||||||
@@ -16,6 +16,7 @@ class Offers
|
|||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
'articles' => Articles::getOptionsWithNature(),
|
'articles' => Articles::getOptionsWithNature(),
|
||||||
|
'article_visibilities' => Articles::getVisibilityMap(),
|
||||||
'tariffs' => Tariffs::getOptions(),
|
'tariffs' => Tariffs::getOptions(),
|
||||||
'tariff_statuses' => Tariffs::getStatusMap(),
|
'tariff_statuses' => Tariffs::getStatusMap(),
|
||||||
'tariff_status_labels' => Tariffs::getStatuses(),
|
'tariff_status_labels' => Tariffs::getStatuses(),
|
||||||
|
|||||||
@@ -154,6 +154,26 @@
|
|||||||
initSelect2();
|
initSelect2();
|
||||||
$('#status_id').bootstrapToggle();
|
$('#status_id').bootstrapToggle();
|
||||||
|
|
||||||
|
// Article visibility badges in select2
|
||||||
|
var articleVisibilities = {!! json_encode($article_visibilities ?? (object)[]) !!};
|
||||||
|
|
||||||
|
function formatArticle(item) {
|
||||||
|
if (!item.id) return item.text;
|
||||||
|
var visible = articleVisibilities[item.id];
|
||||||
|
var badge = (visible == 1)
|
||||||
|
? '<span class="badge badge-success" style="font-size:0.75em;margin-left:4px;">Visible</span>'
|
||||||
|
: '<span class="badge badge-warning" style="font-size:0.75em;margin-left:4px;">Invisible</span>';
|
||||||
|
return $('<span style="display:flex;justify-content:space-between;align-items:center;width:100%;">' + item.text + badge + '</span>');
|
||||||
|
}
|
||||||
|
|
||||||
|
$('#article_id').select2('destroy').select2({
|
||||||
|
placeholder: "{{ __('select_a_value') }}",
|
||||||
|
allowClear: false,
|
||||||
|
width: { value: '100%' },
|
||||||
|
templateResult: formatArticle,
|
||||||
|
templateSelection: formatArticle
|
||||||
|
});
|
||||||
|
|
||||||
// Tariff status badges in select2
|
// Tariff status badges in select2
|
||||||
var tariffStatuses = {!! json_encode($tariff_statuses ?? (object)[]) !!};
|
var tariffStatuses = {!! json_encode($tariff_statuses ?? (object)[]) !!};
|
||||||
var tariffStatusLabels = {!! json_encode($tariff_status_labels ?? []) !!};
|
var tariffStatusLabels = {!! json_encode($tariff_status_labels ?? []) !!};
|
||||||
|
|||||||
Reference in New Issue
Block a user