addScript(); $this->addStyle(); $label = __('admin.save'); return << {$this->value}
HTML; } protected function getUrl() { return $this->resource().'/'.$this->getKey(); } protected function addStyle() { $color = Admin::color()->link(); $primary = Admin::color()->primary(); Admin::style( <<selector}{border-bottom:dashed 1px $color;color: $color;display: inline-block; -webkit-user-modify: read-write-plaintext-only;} .{$this->selector}+.save{margin-left: 0.4rem;color: $color} body.dark-mode .{$this->selector}{color: $primary;border-color: $primary;} body.dark-mode .{$this->selector}+.save{color: $primary} CSS ); } protected function addScript() { $script = <<selector}").on("click", function() { $(this).next().removeClass("hidden"); }).on('blur', function () { var icon = $(this).next(); setTimeout(function () { icon.addClass("hidden") }, 200) }); $('.{$this->selector}+.save').on("click",function() { var obj = $(this), url = obj.data('url'), name = obj.data('name'), refresh = obj.data('refresh'), old_value = obj.data('value'), value = obj.prev().html(), tmp = obj.next(); tmp.html(value); value = tmp.text().replace(new RegExp("
","g"), '').replace(new RegExp(" ","g"), '').trim(); var data = { _token: Dcat.token, _method: 'PUT' }; 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) { if (data.status) { obj.attr('data-value',value).addClass("hidden").prev().html(value); Dcat.success(data.message); refresh && Dcat.reload() } else { obj.prev().html(old_value); Dcat.error(data.message); } }, error:function(a,b,c) { obj.prev().html(old_value); Dcat.handleAjaxError(a, b, c); }, complete:function(a,b) { Dcat.NP.done(); } }); return false; }) JS; Admin::script($script); } }