mirror of
https://github.com/galaxyproject/galaxy.git
synced 2026-10-13 00:44:55 +08:00
1 line
2.9 KiB
JavaScript
1 line
2.9 KiB
JavaScript
define("mvc/form/form-data",["exports"],function(t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=t.Manager=Backbone.Model.extend({initialize:function(t){this.app=t},checksum:function(){var t="",a=this;return this.app.section.$el.find(".section-row").each(function(){var e=$(this).attr("id"),i=a.app.field_list[e];i&&(t+=e+":"+JSON.stringify(i.value&&i.value())+":"+i.collapsed+";")}),t},create:function(){function t(t,a,e){i.flat_dict[t]=a,r[t]=e,i.app.element_list[a]&&i.app.element_list[a].$el.attr("tour_id",t)}function a(n,r){for(var s in r){var c=r[s];if(c.input){var o=c.input,l=n;switch(""!==n&&(l+="|"),l+=o.name,o.type){case"repeat":var u=[],f=null;for(var p in c){var v=p.indexOf("section-");-1!=v&&(v+="section-".length,u.push(parseInt(p.substr(v))),f||(f=p.substr(0,v)))}u.sort(function(t,a){return t-a}),s=0;for(var d in u)a(l+"_"+s++,c[f+u[d]]);break;case"conditional":var _=i.app.field_list[o.id].value();t(l+"|"+o.test_param.name,o.id,_);var m=e(o,_);-1!=m&&a(l,r[o.id+"-section-"+m]);break;case"section":a(!o.flat&&l||"",c);break;default:var h=i.app.field_list[o.id];if(h&&h.value&&(_=h.value(),(void 0===o.ignore||o.ignore!=_)&&(h.collapsed&&o.collapsible_value&&(_=o.collapsible_value),t(l,o.id,_),o.payload)))for(var b in o.payload)t(b,o.id,o.payload[b])}}}}var i=this,n={};this._iterate(this.app.section.$el,n);var r={};return this.flat_dict={},a("",n),r},match:function(t){return this.flat_dict&&this.flat_dict[t]},matchCase:function(t,a){return e(t,a)},matchModel:function(t,a){var e=this;i(t.inputs,function(t,i){e.flat_dict[i]&&a(t,e.flat_dict[i])})},matchResponse:function(t){function a(t,n){if("string"==typeof n){var r=i.flat_dict[t];r&&(e[r]=n)}else for(var s in n){var c=s;if(""!==t){var o="|";n instanceof Array&&(o="_"),c=t+o+c}a(c,n[s])}}var e={},i=this;return a("",t),e},_iterate:function(t,a){var e=this;$(t).children().each(function(){var t=this,i=$(t).attr("id");if($(t).hasClass("section-row")){var n=e.app.input_list[i];a[i]=n&&{input:n}||{},e._iterate(t,a[i])}else e._iterate(t,a)})}}),e=function(t,a){"boolean"==t.test_param.type&&(a="true"==a?t.test_param.truevalue||"true":t.test_param.falsevalue||"false");for(var e in t.cases)if(t.cases[e].value==a)return e;return-1};t.matchCase=e;var i=t.visitInputs=function t(a,i,n,r){r=$.extend({},r),_.each(a,function(t){t&&t.type&&t.name&&(r[t.name]=t)});for(var s in a){var c=a[s];c.name=c.name||s;var o=n?n+"|"+c.name:c.name;switch(c.type){case"repeat":_.each(c.cache,function(a,e){t(a,i,o+"_"+e,r)});break;case"conditional":if(c.test_param){i(c.test_param,o+"|"+c.test_param.name,r);var l=e(c,c.test_param.value);-1!=l?t(c.cases[l].inputs,i,o,r):Galaxy.emit.debug("form-data::visitInputs() - Invalid case for "+o+".")}else Galaxy.emit.debug("form-data::visitInputs() - Conditional test parameter missing for "+o+".");break;case"section":t(c.inputs,i,o,r);break;default:i(c,o,r)}}};t.default={Manager:a,visitInputs:i}}); |