mirror of
https://github.com/galaxyproject/galaxy.git
synced 2026-09-24 16:30:27 +08:00
Purely clientside implementation of hashtag shortcut for nametags. These are translated to 'name:nametag_value' prior to saving and are persisted in that form.
This commit is contained in:
@@ -79,6 +79,15 @@ var TagsEditor = Backbone.View
|
||||
_setUpBehaviors : function(){
|
||||
var view = this;
|
||||
this.$input().on( 'change', function( event ){
|
||||
// Modify any 'hashtag' 'nametags'
|
||||
event.val = _.map(event.val, function(k){
|
||||
if (k.startsWith("#")){
|
||||
return "name:" + k.slice(1);
|
||||
}
|
||||
else {
|
||||
return k;
|
||||
}
|
||||
});
|
||||
// save the model's tags in either remove or added event
|
||||
view.model.save({ tags: event.val });
|
||||
// if it's new, add the tag to the users tags
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"version":3,"file":"tag.js","sources":["../../src/mvc/tag.js"],"names":["define","baseMVC","_l","TagsEditor","Backbone","View","extend","LoggableMixin","HiddenUntilActivatedViewMixin","tagName","className","initialize","options","this","label","usePrompt","hiddenUntilActivated","$activator","render","self","$el","html","_template","$input","select2","placeholder","width","tags","_getTagsUsed","_setUpBehaviors","tagsToCSV","join","tagsArray","model","get","_","isArray","isEmpty","map","tag","escape","sort","find","Galaxy","user","view","on","event","save","val","added","_addNewTagToTagsUsed","text","newTag","tagsUsed","contains","push","set","remove","off","stopListening","prototype","call","toString"],"mappings":"AAAAA,QACI,eACA,sBACD,SAAUC,EAASC,GAMtB,GAAIC,GAAaC,SAASC,KACjBC,OAAQL,EAAQM,eAChBD,OAAQL,EAAQO,+BAAgCF,QAErDG,QAAc,MACdC,UAAc,eAGdC,WAAa,SAAUC,GAIfC,KAAKC,MADLF,EAAQG,aAAc,EACT,GAEA,yBAA2Bb,EAAI,QAAW,WAE3DW,KAAKG,qBAAsBJ,EAAQK,WAAYL,IAInDM,OAAS,WACL,GAAIC,GAAON,IAaX,OAZAA,MAAKO,IAAIC,KAAMR,KAAKS,aAEpBT,KAAKU,SAASC,SACVC,YAAc,WACdC,MAAc,OACdC,KAAO,WAEH,MAAOR,GAAKS,kBAIpBf,KAAKgB,kBACEhB,MAIXS,UAAY,WACR,OACIT,KAAKC,MAEL,oCAAqCD,KAAKiB,YAAa,QACzDC,KAAM,KAIZD,UAAY,WACR,GAAIE,GAAYnB,KAAKoB,MAAMC,IAAK,OAChC,QAAKC,EAAEC,QAASJ,IAAeG,EAAEE,QAASL,GAC/B,GAEJA,EAAUM,IAAK,SAAUC,GAC5B,MAAOJ,GAAEK,OAAQD,KAClBE,OAAOV,KAAM,MAIpBR,OAAS,WACL,MAAOV,MAAKO,IAAIsB,KAAM,qBAI1Bd,aAAe,WAEX,MAAOe,QAAOC,KAAKV,IAAK,cAI5BL,gBAAkB,WACd,GAAIgB,GAAOhC,IACXA,MAAKU,SAASuB,GAAI,SAAU,SAAUC,GAElCF,EAAKZ,MAAMe,MAAOrB,KAAMoB,EAAME,MAE1BF,EAAMG,OAGNL,EAAKM,qBAAsBJ,EAAMG,MAAME,KAAO,OAQ1DD,qBAAuB,SAAUE,GAE7B,GAAIC,GAAWX,OAAOC,KAAKV,IAAK,YAC3BC,GAAEoB,SAAUD,EAAUD,KACvBC,EAASE,KAAMH,GACfC,EAASb,OACTE,OAAOC,KAAKa,IAAK,YAAaH,KAKtCI,OAAS,WACL7C,KAAKU,OAAOoC,MACZ9C,KAAK+C,cAAe/C,KAAKoB,OACzB7B,SAASC,KAAKwD,UAAUH,OAAOI,KAAMjD,OAIzCkD,SAAW,WAAY,OAAS,cAAelD,KAAKoB,MAAQ,GAAI,KAAMF,KAAK,MAI/E,QACI5B,WAAaA"}
|
||||
{"version":3,"file":"tag.js","sources":["../../src/mvc/tag.js"],"names":["define","baseMVC","_l","TagsEditor","Backbone","View","extend","LoggableMixin","HiddenUntilActivatedViewMixin","tagName","className","initialize","options","this","label","usePrompt","hiddenUntilActivated","$activator","render","self","$el","html","_template","$input","select2","placeholder","width","tags","_getTagsUsed","_setUpBehaviors","tagsToCSV","join","tagsArray","model","get","_","isArray","isEmpty","map","tag","escape","sort","find","Galaxy","user","view","on","event","val","k","startsWith","slice","save","added","_addNewTagToTagsUsed","text","newTag","tagsUsed","contains","push","set","remove","off","stopListening","prototype","call","toString"],"mappings":"AAAAA,QACI,eACA,sBACD,SAAUC,EAASC,GAMtB,GAAIC,GAAaC,SAASC,KACjBC,OAAQL,EAAQM,eAChBD,OAAQL,EAAQO,+BAAgCF,QAErDG,QAAc,MACdC,UAAc,eAGdC,WAAa,SAAUC,GAIfC,KAAKC,MADLF,EAAQG,aAAc,EACT,GAEA,yBAA2Bb,EAAI,QAAW,WAE3DW,KAAKG,qBAAsBJ,EAAQK,WAAYL,IAInDM,OAAS,WACL,GAAIC,GAAON,IAaX,OAZAA,MAAKO,IAAIC,KAAMR,KAAKS,aAEpBT,KAAKU,SAASC,SACVC,YAAc,WACdC,MAAc,OACdC,KAAO,WAEH,MAAOR,GAAKS,kBAIpBf,KAAKgB,kBACEhB,MAIXS,UAAY,WACR,OACIT,KAAKC,MAEL,oCAAqCD,KAAKiB,YAAa,QACzDC,KAAM,KAIZD,UAAY,WACR,GAAIE,GAAYnB,KAAKoB,MAAMC,IAAK,OAChC,QAAKC,EAAEC,QAASJ,IAAeG,EAAEE,QAASL,GAC/B,GAEJA,EAAUM,IAAK,SAAUC,GAC5B,MAAOJ,GAAEK,OAAQD,KAClBE,OAAOV,KAAM,MAIpBR,OAAS,WACL,MAAOV,MAAKO,IAAIsB,KAAM,qBAI1Bd,aAAe,WAEX,MAAOe,QAAOC,KAAKV,IAAK,cAI5BL,gBAAkB,WACd,GAAIgB,GAAOhC,IACXA,MAAKU,SAASuB,GAAI,SAAU,SAAUC,GAElCA,EAAMC,IAAMb,EAAEG,IAAIS,EAAMC,IAAK,SAASC,GAClC,MAAIA,GAAEC,WAAW,KACN,QAAUD,EAAEE,MAAM,GAGlBF,IAIfJ,EAAKZ,MAAMmB,MAAOzB,KAAMoB,EAAMC,MAE1BD,EAAMM,OAGNR,EAAKS,qBAAsBP,EAAMM,MAAME,KAAO,OAQ1DD,qBAAuB,SAAUE,GAE7B,GAAIC,GAAWd,OAAOC,KAAKV,IAAK,YAC3BC,GAAEuB,SAAUD,EAAUD,KACvBC,EAASE,KAAMH,GACfC,EAAShB,OACTE,OAAOC,KAAKgB,IAAK,YAAaH,KAKtCI,OAAS,WACLhD,KAAKU,OAAOuC,MACZjD,KAAKkD,cAAelD,KAAKoB,OACzB7B,SAASC,KAAK2D,UAAUH,OAAOI,KAAMpD,OAIzCqD,SAAW,WAAY,OAAS,cAAerD,KAAKoB,MAAQ,GAAI,KAAMF,KAAK,MAI/E,QACI5B,WAAaA"}
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1,4 +1,4 @@
|
||||
!function(t){function e(i){if(n[i])return n[i].exports;var s=n[i]={exports:{},id:i,loaded:!1};return t[i].call(s.exports,s,s.exports,e),s.loaded=!0,s.exports}var i=window.webpackJsonp;window.webpackJsonp=function(o,r){for(var a,l,u=0,c=[];u<o.length;u++)l=o[u],s[l]&&c.push.apply(c,s[l]),s[l]=0;for(a in r)t[a]=r[a];for(i&&i(o,r);c.length;)c.shift().call(null,e);if(r[0])return n[0]=0,e(0)};var n={},s={2:0};return e.e=function(t,i){if(0===s[t])return i.call(null,e);if(void 0!==s[t])s[t].push(i);else{s[t]=[i];var n=document.getElementsByTagName("head")[0],o=document.createElement("script");o.type="text/javascript",o.charset="utf-8",o.async=!0,o.src=e.p+""+t+"."+({3:"analysis",4:"login"}[t]||t)+".bundled.js",n.appendChild(o)}},e.m=t,e.c=n,e.p="",e(0)}([function(t,e,i){i(133),i(1),i(107),i(69),i(66),i(67),i(68),i(105),i(65),i(102),i(64),i(104),i(2),i(3),i(86),i(62),i(10),t.exports=i(132)},function(t,e,i){var n,s;/*!
|
||||
!function(t){function e(i){if(n[i])return n[i].exports;var s=n[i]={exports:{},id:i,loaded:!1};return t[i].call(s.exports,s,s.exports,e),s.loaded=!0,s.exports}var i=window.webpackJsonp;window.webpackJsonp=function(o,r){for(var a,l,u=0,c=[];u<o.length;u++)l=o[u],s[l]&&c.push.apply(c,s[l]),s[l]=0;for(a in r)Object.prototype.hasOwnProperty.call(r,a)&&(t[a]=r[a]);for(i&&i(o,r);c.length;)c.shift().call(null,e);if(r[0])return n[0]=0,e(0)};var n={},s={2:0};return e.e=function(t,i){if(0===s[t])return i.call(null,e);if(void 0!==s[t])s[t].push(i);else{s[t]=[i];var n=document.getElementsByTagName("head")[0],o=document.createElement("script");o.type="text/javascript",o.charset="utf-8",o.async=!0,o.src=e.p+""+t+"."+({3:"analysis",4:"login"}[t]||t)+".bundled.js",n.appendChild(o)}},e.m=t,e.c=n,e.p="",e(0)}([function(t,e,i){i(133),i(1),i(107),i(69),i(66),i(67),i(68),i(105),i(65),i(102),i(64),i(104),i(2),i(3),i(86),i(62),i(10),t.exports=i(132)},function(t,e,i){var n,s;/*!
|
||||
* jQuery JavaScript Library v1.12.4
|
||||
* http://jquery.com/
|
||||
*
|
||||
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1,2 +1,2 @@
|
||||
define(["mvc/base-mvc","utils/localization"],function(a,b){var c=Backbone.View.extend(a.LoggableMixin).extend(a.HiddenUntilActivatedViewMixin).extend({tagName:"div",className:"tags-display",initialize:function(a){this.label=a.usePrompt===!1?"":'<label class="prompt">'+b("Tags")+"</label>",this.hiddenUntilActivated(a.$activator,a)},render:function(){var a=this;return this.$el.html(this._template()),this.$input().select2({placeholder:"Add tags",width:"100%",tags:function(){return a._getTagsUsed()}}),this._setUpBehaviors(),this},_template:function(){return[this.label,'<input class="tags-input" value="',this.tagsToCSV(),'" />'].join("")},tagsToCSV:function(){var a=this.model.get("tags");return!_.isArray(a)||_.isEmpty(a)?"":a.map(function(a){return _.escape(a)}).sort().join(",")},$input:function(){return this.$el.find("input.tags-input")},_getTagsUsed:function(){return Galaxy.user.get("tags_used")},_setUpBehaviors:function(){var a=this;this.$input().on("change",function(b){a.model.save({tags:b.val}),b.added&&a._addNewTagToTagsUsed(b.added.text+"")})},_addNewTagToTagsUsed:function(a){var b=Galaxy.user.get("tags_used");_.contains(b,a)||(b.push(a),b.sort(),Galaxy.user.set("tags_used",b))},remove:function(){this.$input.off(),this.stopListening(this.model),Backbone.View.prototype.remove.call(this)},toString:function(){return["TagsEditor(",this.model+"",")"].join("")}});return{TagsEditor:c}});
|
||||
define(["mvc/base-mvc","utils/localization"],function(a,b){var c=Backbone.View.extend(a.LoggableMixin).extend(a.HiddenUntilActivatedViewMixin).extend({tagName:"div",className:"tags-display",initialize:function(a){this.label=a.usePrompt===!1?"":'<label class="prompt">'+b("Tags")+"</label>",this.hiddenUntilActivated(a.$activator,a)},render:function(){var a=this;return this.$el.html(this._template()),this.$input().select2({placeholder:"Add tags",width:"100%",tags:function(){return a._getTagsUsed()}}),this._setUpBehaviors(),this},_template:function(){return[this.label,'<input class="tags-input" value="',this.tagsToCSV(),'" />'].join("")},tagsToCSV:function(){var a=this.model.get("tags");return!_.isArray(a)||_.isEmpty(a)?"":a.map(function(a){return _.escape(a)}).sort().join(",")},$input:function(){return this.$el.find("input.tags-input")},_getTagsUsed:function(){return Galaxy.user.get("tags_used")},_setUpBehaviors:function(){var a=this;this.$input().on("change",function(b){b.val=_.map(b.val,function(a){return a.startsWith("#")?"name:"+a.slice(1):a}),a.model.save({tags:b.val}),b.added&&a._addNewTagToTagsUsed(b.added.text+"")})},_addNewTagToTagsUsed:function(a){var b=Galaxy.user.get("tags_used");_.contains(b,a)||(b.push(a),b.sort(),Galaxy.user.set("tags_used",b))},remove:function(){this.$input.off(),this.stopListening(this.model),Backbone.View.prototype.remove.call(this)},toString:function(){return["TagsEditor(",this.model+"",")"].join("")}});return{TagsEditor:c}});
|
||||
//# sourceMappingURL=../../maps/mvc/tag.js.map
|
||||
Reference in New Issue
Block a user