您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Options
当前为
// ==UserScript== // @name Solr Admin Helper // @author Hang Yuan // @namespace hyuan.solr // @description Options // @include //cdnjs.cloudflare.com/ajax/libs/require.js/2.1.14/require.min.js // @version 1 // @grant none // ==/UserScript== require.config({ packages: [ { name: 'jquery', location: '//code.jquery.com/jquery-2.1.1.min', main: 'jquery-2.1.1.min' } , { name: 'jqueryui', location: '//code.jquery.com/ui/1.11.0', main: 'jquery-ui' } , { name: 'css', location: '//cdnjs.cloudflare.com/ajax/libs/require-css/0.1.1', main: 'css' } , { name: 'domReady', location: '//cdnjs.cloudflare.com/ajax/libs/require-domReady/2.0.1', main: 'domReady.min' } ] , shim: { 'jquery': { exports: 'jquery' } , 'jqueryui': { exports: 'jqueryui', deps: ['jquery', 'css!jqueryui/themes/smoothness/jquery-ui'] } } , map: { '*': { 'css': 'css' // or whatever the path to require-css is } } }); require(['jquery', 'jqueryui', 'css!jqueryui/themes/smoothness/jquery-ui', 'domReady'], function($) { $(document).ready(function() { $(document).on('click', function() { if ($('#solrRecordModifier').length > 0) { return; } function getSelection() { if (window.getSelection) { return window.getSelection().toString(); } else if (document.selection && document.selection.type != "Control") { return document.selection.createRange().text; } } function deleteRecord(id) { var command = { "delete": { "id": id } }; return $.ajax({ url: "http://localhost:8983/solr/feedback/update/?commit=true" , type : 'POST' , contentType : 'application/json' , dataType : 'json' , data: JSON.stringify(command) }); } function modifyRecord(id, field, value) { var record = {}; record.id = id; record[field] = { "set": value }; return $.ajax({ url: "http://localhost:8983/solr/feedback/update/?commit=true" , type : 'POST' , contentType : 'application/json' , dataType : 'json' , data: JSON.stringify([record]) }); } function setUpModifyButton() { var $modifyRecordDialog = $('<div title="Modify Record">' + '<div class="form"><form><fieldset><div class="fieldset">' + '<label for="solrRecordModifier_id">ID</label>' + '<input type="text" name="solrRecordModifier_id" id="solrRecordModifier_id" value="" class="text ui-widget-content ui-corner-all" size="70">' + '<label for="solrRecordModifier_field">Field</label>' + '<input type="text" name="solrRecordModifier_field" id="solrRecordModifier_field" value="" class="text ui-widget-content ui-corner-all" size="70">' + '<label for="solrRecordModifier_value">New Value</label>' + '<input type="text" name="solrRecordModifier_value" id="solrRecordModifier_value" value="" class="text ui-widget-content ui-corner-all" size="70">' + '<input type="submit" tabindex="-1" style="position:absolute; top:-1000px">' + '</div></fieldset></from></div>' + '</div>'); var $idInput = $modifyRecordDialog.find('#solrRecordModifier_id'); var $fieldInput = $modifyRecordDialog.find('#solrRecordModifier_field'); var $valueInput = $modifyRecordDialog.find('#solrRecordModifier_value'); var modifyBtn = $('<button id="solrRecordModifier">Modify</button>'); modifyBtn.insertBefore($('div#wrapper')); modifyBtn.click(function() { $idInput.val(getSelection()); $modifyRecordDialog.dialog({ resizable: true, width:530, height:300, modal: true, buttons: { "Submit": function() { var dialog = this; modifyRecord($idInput.val(), $fieldInput.val(), $valueInput.val()) .done(function() { $( dialog ).dialog( "close" ); }); }, Cancel: function() { $( this ).dialog( "close" ); } } }); }); } function setUpDeleteButton() { var $deleteRecordDialog = $('<div title="Delete Record">' + '<p>Are sure to delete the record</p>' + '<div class="form"><form><fieldset><div class="fieldset">' + '<label for="solrRecordDeleter_id">ID</label>' + '<input type="text" name="solrRecordDeleter_id" id="solrRecordDeleter_id" value="" class="text ui-widget-content ui-corner-all" size="70">' + '</div></fieldset></from></div>' + '</div>'); var $idInput = $deleteRecordDialog.find('#solrRecordDeleter_id'); var deleteBtn = $('<button id="solrRecordDeleter">Delete</button>'); deleteBtn.insertBefore($('div#wrapper')); deleteBtn.click(function() { $idInput.val(getSelection()); $deleteRecordDialog.dialog({ resizable: true, width:530, height:300, modal: true, buttons: { "Delete": function() { var dialog = this; deleteRecord($idInput.val()) .done(function() { $( dialog ).dialog( "close" ); }); }, Cancel: function() { $( this ).dialog( "close" ); } } }); }); } setUpModifyButton(); setUpDeleteButton(); }); //document.body.innerHTML = document.body.innerHTML.replace('Request-Handler \(qt\)', 'Request-Handler (qt) - Anthony'); }); });