Files
galaxy/static/scripts/ui/peek-column-selector.js
T

3 lines
3.4 KiB
JavaScript

"use strict";!function(e){"function"==typeof define&&define.amd?define(["jquery"],e):e(jQuery)}(function(e){function t(e){if(e.disabled&&"array"!==jQuery.type(e.disabled))throw new Error('"disabled" must be defined as an array of indeces: '+JSON.stringify(e));if(e.multiselect&&e.selected&&"array"!==jQuery.type(e.selected))throw new Error('Mulitselect rows need an array for "selected": '+JSON.stringify(e));if(!e.label||!e.id)throw new Error("Peek controls need a label and id for each control row: "+JSON.stringify(e));if(e.disabled&&-1!==e.disabled.indexOf(e.selected))throw new Error("Selected column is in the list of disabled columns: "+JSON.stringify(e));return e}function n(t,n){return e("<div/>").addClass(y).text(t.label)}function r(t,r){var a=e("<td/>").html(n(t,r)).attr("data-"+x,r);return t.disabled&&-1!==t.disabled.indexOf(r)&&a.addClass(v),a}function a(e,t,n){var r=e.children("."+y);e.hasClass(C)?r.html(void 0!==t.selectedText?t.selectedText:t.label):r.html(void 0!==t.unselectedText?t.unselectedText:t.label)}function d(t,n){var d=r(t,n);return t.selected===n&&d.addClass(C),a(d,t,n),d.hasClass(v)||d.click(function(r){var d=e(this);if(!d.hasClass(C)){d.parent().children("."+C).removeClass(C).each(function(){a(e(this),t,n)}),d.addClass(C),a(d,t,n);var i={},l=d.parent().attr("id"),s=d.data(x);i[l]=s,d.parents(".peek").trigger(f,i)}}),d}function i(t,n){var d=r(t,n);return t.selected&&-1!==t.selected.indexOf(n)&&d.addClass(C),a(d,t,n),d.hasClass(v)||d.click(function(r){var d=e(this);d.toggleClass(C),a(d,t,n);var i=d.parent().find("."+C).map(function(t,n){return e(n).data(x)}),l={},s=d.parent().attr("id"),o=jQuery.makeArray(i);l[s]=o,d.parents(".peek").trigger(f,l)}),d}function l(e,t){for(var n=[],r=0;r<e;r+=1)n.push(t.multiselect?i(t,r):d(t,r));return n}function s(t,n,r){var a=e("<tr/>").attr("id",n.id).addClass(p);if(r){var d=e("<td/>").addClass(h).text(n.label+":");a.append(d)}return a.append(l(t,n)),a}function o(n){n=jQuery.extend(!0,{},c,n);var r=e(this).addClass(u).find("table"),a=r.find("th").length,d=r.find("tr").length,i=r.find("td[colspan]").map(function(t,r){var a=e(this);return a.text()&&a.text().match(new RegExp("^"+n.commentChar))?e(this).css("color","grey").parent().get(0):null});if(n.hideCommentRows&&(i.hide(),d-=i.length),n.includePrompts){var l=e("<th/>").addClass("top-left").text(n.topLeftContent).attr("rowspan",d);r.find("tr").first().prepend(l)}var o=r.find("th:not(.top-left)").each(function(t,r){var a=e(this),d=a.text().replace(/^\d+\.*/,""),i=n.columnNames[t]||d;a.attr("data-"+g,i).text(t+1+(i?"."+i:""))});return n.renameColumns&&o.addClass(b).click(function(){var t=e(this),r=t.index()+(n.includePrompts?0:1),a=t.data(g),d=prompt("New column name:",a);if(null!==d&&d!==a){t.text(r+(d?"."+d:"")).data(g,d).attr("data-",g,d);var i=jQuery.makeArray(t.parent().children("th:not(.top-left)").map(function(){return e(this).data(g)}));t.parents(".peek").trigger(m,i)}}),n.controls.forEach(function(e,d){t(e);var i=s(a,e,n.includePrompts);r.find("tbody").append(i)}),this}var c={renameColumns:!1,columnNames:[],commentChar:"#",hideCommentRows:!1,includePrompts:!0,topLeftContent:"Columns:"},u="peek-column-selector",f="peek-column-selector.change",m="peek-column-selector.rename",p="control",h="control-prompt",C="selected",v="disabled",y="button",b="renamable-header",x="column-index",g="column-name";jQuery.fn.extend({peekColumnSelector:function(e){return this.map(function(){return o.call(this,e)})}})});
//# sourceMappingURL=../../maps/ui/peek-column-selector.js.map