SHARE
TWEET
Untitled
a guest
Jan 29th, 2018
54
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
- // ==UserScript==
- // @name SearchIcrisGrouping
- // @namespace http://tampermonkey.net/
- // @version 1.0
- // @description Grouper for http://recording.adcogov.org
- // @author IB
- // @match https://searchicris.co.weld.co.us/recorder/eagleweb/docSearch*
- // @grant none
- // @require https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js
- // @require https://cdnjs.cloudflare.com/ajax/libs/FileSaver.js/1.3.3/FileSaver.min.js
- // ==/UserScript==
- var App = (function () {
- var saveButton = document.createElement('button');
- var loadInput = document.createElement('input');
- var groupNameInput = document.createElement('input');
- var dropDown = document.createElement('select');
- var documents = $('select[name=__search_select]');
- var data = {};
- return {
- start : function(){
- var trigger = function(){
- var bindings = $(dropDown).val();
- var innerDocuments = $(documents).html().replace(new RegExp('selected="selected"', 'g'), '');
- $(documents).empty();
- $(documents).html(innerDocuments);
- var bindings = bindings.split(',');
- for(let i = 0; i < bindings.length; i++){
- $('option[value=' + bindings[i] + ']').attr('selected', 'selected');
- }
- };
- saveButton.innerText = 'Save groups';
- saveButton.type = 'button';
- loadInput.innerText = 'Load groups';
- loadInput.type = 'file';
- groupNameInput.type = 'text';
- $(dropDown).change(trigger);
- $(loadInput).on('change', function(evt){
- var f = evt.target.files[0];
- if (f) {
- var r = new FileReader();
- r.onload = function(e) {
- var contents = e.target.result;
- if(contents){
- data = JSON.parse(contents);
- var i = 0;
- $(dropDown).empty();
- for(prop in data){
- i++;
- var option = $('<option value="' + data[prop] + '">' + prop + '</option>');
- $(dropDown).append(option);
- };
- if(i === 1){
- trigger();
- }
- }
- };
- r.readAsText(f);
- } else {
- alert("Failed to load file");
- }
- });
- $(saveButton).on('click', function(){
- if($(groupNameInput).val())
- {
- data[$(groupNameInput).val()] = $(documents).val();
- var blob = new Blob([JSON.stringify(data)], {type: "text/plain;charset=utf-8"});
- if (window.navigator.msSaveOrOpenBlob) // IE10+
- window.navigator.msSaveOrOpenBlob(blob, 'groups.json');
- else {
- var a = document.createElement("a"),
- url = URL.createObjectURL(blob);
- a.href = url;
- a.download = 'groups.json';
- document.body.appendChild(a);
- a.click();
- setTimeout(function() {
- document.body.removeChild(a);
- window.URL.revokeObjectURL(url);
- }, 0);
- }
- }
- else{
- alert('Specify group name');
- }
- });
- $('#searchDocIds').prepend([saveButton, groupNameInput, loadInput, dropDown]);
- $('select[name=__search_select]');
- }
- };}());
- App.start();
RAW Paste Data

