// ==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.1.4 // @match */solr/* // @grant none // @downloadURL 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() { console.log('tick...'); function addCss(cssString) { var head = document.getElementsByTagName('head')[0]; //text-alignreturn unless head; var newCss = document.createElement('style'); newCss.type = "text/css"; newCss.innerHTML = cssString; head.appendChild(newCss); } $(document).on('click', function() { console.log("now there are " + $('#form button:last').length + " buttons on this page."); if ($('#solrRecordModifier').length > 0 || $('#form button:last').length == 0) { console.log('tick...'); return; } addCss ( '.ui-dialog-content fieldset { border: 0; text-align: left ! important; }' + '.ui-dialog-content label, .ui-dialog-content input { display: block; }' + '.ui-dialog-content input.text { margin-bottom: 12px; padding: 0.4em; width: 95%; }' ); 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: location.protocol + '//' + location.host + '/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: location.protocol + '//' + location.host + '/solr/feedback/update/?commit=true' , type : 'POST' , contentType : 'application/json' , dataType : 'json' , data: JSON.stringify([record]) }); } function setUpModifyButton() { var $modifyRecordDialog = $('
Are sure to delete the record
' + '' + '