call($this, $this->row);
}
$this->addScript($refresh);
$optionsHtml = '';
foreach ($options as $option => $text) {
$selected = (string) $option === (string) $this->value ? 'selected' : '';
$optionsHtml .= "";
}
return <<
EOT;
}
protected function url()
{
return $this->resource().'/'.$this->getKey();
}
protected function addScript($refresh)
{
$script = <<selector}').off('change').select2().on('change', function(){
var value = $(this).val(),
name = $(this).data('name'),
url = $(this).data('url'),
data = {
_method: 'PUT'
},
reload = '{$refresh}';
if (name.indexOf('.') === -1) {
data[name] = value;
} else {
name = name.split('.');
data[name[0]] = {};
data[name[0]][name[1]] = value;
}
Dcat.NP.start();
$.ajax({
url: url,
type: "POST",
data: data,
success: function (data) {
Dcat.NP.done();
Dcat.success(data.message);
reload && Dcat.reload();
}
});
});
JS;
Admin::script($script);
}
}