mirror of
https://github.com/galaxyproject/galaxy.git
synced 2026-09-24 16:30:27 +08:00
Merge remote-tracking branch 'galaxy/dev' into HEAD
This commit is contained in:
@@ -147,16 +147,9 @@ define(['utils/utils',
|
||||
//
|
||||
// add parsed/minimum number of repeat blocks
|
||||
//
|
||||
var n_min = input_def.min;
|
||||
var n_cache = _.size(input_def.cache);
|
||||
for (var i = 0; i < Math.max(n_cache, n_min); i++) {
|
||||
var inputs = null;
|
||||
if (i < n_cache) {
|
||||
inputs = input_def.cache[i];
|
||||
} else {
|
||||
inputs = input_def.inputs;
|
||||
}
|
||||
create(inputs);
|
||||
var n_cache = _.size( input_def.cache );
|
||||
for ( var i = 0; i < Math.max( Math.max( n_cache, input_def.min ), input_def.default ); i++ ) {
|
||||
create( i < n_cache ? input_def.cache[ i ] : input_def.inputs );
|
||||
}
|
||||
|
||||
// hide options
|
||||
|
||||
@@ -573,10 +573,12 @@ div.toolHelpBody {
|
||||
|
||||
.toolForm.toolFormInCanvas {
|
||||
border: solid @form-border 1px;
|
||||
.border-radius(2px);
|
||||
background: @white;
|
||||
margin: 0px;
|
||||
&.toolForm-active {
|
||||
border: solid @brand-primary 3px;
|
||||
margin: 4px;
|
||||
box-shadow: 0 0 0 3px @brand-primary;
|
||||
.border-radius(1px);
|
||||
}
|
||||
.toolFormTitle {
|
||||
font-size: @font-size-base;
|
||||
|
||||
@@ -309,7 +309,7 @@ class Configuration( object ):
|
||||
self.use_tool_dependencies = True
|
||||
else:
|
||||
self.tool_dependency_dir = None
|
||||
self.use_tool_dependencies = False
|
||||
self.use_tool_dependencies = os.path.exists(self.dependency_resolvers_config_file)
|
||||
# Configuration options for taking advantage of nginx features
|
||||
self.upstream_gzip = string_as_bool( kwargs.get( 'upstream_gzip', False ) )
|
||||
self.apache_xsendfile = string_as_bool( kwargs.get( 'apache_xsendfile', False ) )
|
||||
|
||||
@@ -742,13 +742,13 @@ class Text( Data ):
|
||||
data_lines += 1
|
||||
return data_lines
|
||||
|
||||
def set_peek( self, dataset, line_count=None, is_multi_byte=False, WIDTH=256, skipchars=None ):
|
||||
def set_peek( self, dataset, line_count=None, is_multi_byte=False, WIDTH=256, skipchars=None, line_wrap=True ):
|
||||
"""
|
||||
Set the peek. This method is used by various subclasses of Text.
|
||||
"""
|
||||
if not dataset.dataset.purged:
|
||||
# The file must exist on disk for the get_file_peek() method
|
||||
dataset.peek = get_file_peek( dataset.file_name, is_multi_byte=is_multi_byte, WIDTH=WIDTH, skipchars=skipchars )
|
||||
dataset.peek = get_file_peek( dataset.file_name, is_multi_byte=is_multi_byte, WIDTH=WIDTH, skipchars=skipchars, line_wrap=line_wrap )
|
||||
if line_count is None:
|
||||
# See if line_count is stored in the metadata
|
||||
if dataset.metadata.data_lines:
|
||||
@@ -950,7 +950,7 @@ def get_test_fname( fname ):
|
||||
return full_path
|
||||
|
||||
|
||||
def get_file_peek( file_name, is_multi_byte=False, WIDTH=256, LINE_COUNT=5, skipchars=None ):
|
||||
def get_file_peek( file_name, is_multi_byte=False, WIDTH=256, LINE_COUNT=5, skipchars=None, line_wrap=True ):
|
||||
"""
|
||||
Returns the first LINE_COUNT lines wrapped to WIDTH
|
||||
|
||||
@@ -971,8 +971,9 @@ def get_file_peek( file_name, is_multi_byte=False, WIDTH=256, LINE_COUNT=5, skip
|
||||
file_type = None
|
||||
data_checked = False
|
||||
temp = open( file_name, "U" )
|
||||
last_line = ''
|
||||
while count <= LINE_COUNT:
|
||||
line = temp.readline( WIDTH )
|
||||
line = last_line + temp.readline( WIDTH - len( last_line ) )
|
||||
if line and not is_multi_byte and not data_checked:
|
||||
# See if we have a compressed or binary file
|
||||
if line[0:2] == util.gzip_magic:
|
||||
@@ -986,6 +987,17 @@ def get_file_peek( file_name, is_multi_byte=False, WIDTH=256, LINE_COUNT=5, skip
|
||||
data_checked = True
|
||||
if file_type in [ 'gzipped', 'binary' ]:
|
||||
break
|
||||
if not line_wrap:
|
||||
if '\n' in line:
|
||||
i = line.index( '\n' )
|
||||
last_line = line[i:]
|
||||
line = line[:i]
|
||||
else:
|
||||
last_line = ''
|
||||
while True:
|
||||
i = temp.read(1)
|
||||
if not i or i == '\n':
|
||||
break
|
||||
skip_line = False
|
||||
for skipchar in skipchars:
|
||||
if line.startswith( skipchar ):
|
||||
|
||||
@@ -39,7 +39,7 @@ class TabularData( data.Text ):
|
||||
MetadataElement( name="delimiter", default='\t', desc="Data delimiter", readonly=True, visible=False, optional=True, no_value=[] )
|
||||
|
||||
def set_peek( self, dataset, line_count=None, is_multi_byte=False, WIDTH=256, skipchars=None ):
|
||||
super(TabularData, self).set_peek( dataset, line_count=line_count, is_multi_byte=is_multi_byte, WIDTH=WIDTH, skipchars=skipchars)
|
||||
super(TabularData, self).set_peek( dataset, line_count=line_count, is_multi_byte=is_multi_byte, WIDTH=WIDTH, skipchars=skipchars, line_wrap=False )
|
||||
if dataset.metadata.comment_lines:
|
||||
dataset.blurb = "%s, %s comments" % ( dataset.blurb, util.commaify( str( dataset.metadata.comment_lines ) ) )
|
||||
|
||||
@@ -180,6 +180,9 @@ class TabularData( data.Text ):
|
||||
out.append( '<tr><td colspan="100%%">%s</td></tr>' % escape( line ) )
|
||||
elif line:
|
||||
elems = line.split( dataset.metadata.delimiter )
|
||||
# pad shortened elems, since lines could have been truncated by width
|
||||
if len( elems ) < columns:
|
||||
elems.extend( [''] * ( columns - len( elems ) ) )
|
||||
# we may have an invalid comment line or invalid data
|
||||
if len( elems ) != columns:
|
||||
out.append( '<tr><td colspan="100%%">%s</td></tr>' % escape( line ) )
|
||||
|
||||
@@ -112,7 +112,8 @@ Cheetah==2.4.4 --hash:sha256=24cf67789b7a9f1e0a55cba266b6aad16e97aaf25810fd6f2f
|
||||
Markdown==2.6.3 --hash:sha256=59417f5eb3dace08309d81e48fc903217d12d66677f367674b22c317b0f04284
|
||||
|
||||
# BioBlend and dependencies
|
||||
bioblend==0.6.1 --hash:sha256=f5eea1f6c31264ef7bfab8c70deac2b9229a10e5c56508a6542f5643ad9e2a5b
|
||||
bioblend==0.7.0 --hash:sha256=cb1068c0b05ca069a550ecbbf19014631bb6570b565387de15876c44478ee07d \
|
||||
--hash:sha256=db7dc929199837b6d9a502fcf9d537a57fdee605ca45cd1548583a5eccc648a6
|
||||
boto==2.38.0 --hash:sha256=1760584368da0c3861dbed448dcb439334ce831044262a5ca5188167f8bba585
|
||||
requests==2.8.1 --hash:sha256=70e285122c97b1d104824482cb929246b2b8a2b9858897c4fab3acec83f1e03c
|
||||
requests-toolbelt==0.4.0 --hash:sha256=94694e32845b84ed2186fdf56219b949582ebd08dc3abc55c0549958f2029643
|
||||
|
||||
@@ -31,7 +31,7 @@ Cheetah==2.4.4
|
||||
Markdown==2.6.3
|
||||
|
||||
# BioBlend and dependencies
|
||||
bioblend==0.6.1
|
||||
bioblend==0.7.0
|
||||
boto==2.38.0
|
||||
requests==2.8.1
|
||||
requests-toolbelt==0.4.0
|
||||
|
||||
@@ -12,7 +12,7 @@ import logging
|
||||
import threading
|
||||
from xml.etree import ElementTree
|
||||
|
||||
from galaxy.util import umask_fix_perms, force_symlink
|
||||
from galaxy.util import umask_fix_perms, force_symlink, safe_makedirs
|
||||
from galaxy.exceptions import ObjectInvalid, ObjectNotFound
|
||||
from galaxy.util.sleeper import Sleeper
|
||||
from galaxy.util.directory_hash import directory_hash_id
|
||||
@@ -331,8 +331,7 @@ class DiskObjectStore(ObjectStore):
|
||||
dir_only = kwargs.get('dir_only', False)
|
||||
# Create directory if it does not exist
|
||||
dir = path if dir_only else os.path.dirname(path)
|
||||
if not os.path.exists(dir):
|
||||
os.makedirs(dir)
|
||||
safe_makedirs(dir)
|
||||
# Create the file if it does not exist
|
||||
if not dir_only:
|
||||
open(path, 'w').close() # Should be rb?
|
||||
|
||||
@@ -568,6 +568,21 @@ def which(file):
|
||||
return None
|
||||
|
||||
|
||||
def safe_makedirs(path):
|
||||
""" Safely make a directory, do not fail if it already exist or
|
||||
is created during execution.
|
||||
"""
|
||||
if not os.path.exists(path):
|
||||
try:
|
||||
os.makedirs(path)
|
||||
except OSError as e:
|
||||
# review source for Python 2.7 this would only ever happen
|
||||
# for the last path anyway so need to recurse - this exception
|
||||
# means the last part of the path was already in existence.
|
||||
if e.errno != errno.EEXIST:
|
||||
raise
|
||||
|
||||
|
||||
def in_directory( file, directory, local_path_module=os.path ):
|
||||
"""
|
||||
Return true, if the common prefix of both is equal to directory
|
||||
|
||||
@@ -490,16 +490,15 @@ class LibraryDatasetsController( BaseAPIController, UsesVisualizationMixin ):
|
||||
kwd[ 'filesystem_paths' ] = path
|
||||
if source in [ 'importdir_folder' ]:
|
||||
kwd[ 'filesystem_paths' ] = os.path.join( import_base_dir, path )
|
||||
params = util.Params( kwd )
|
||||
# user wants to import one file only
|
||||
if source in [ "userdir_file", "importdir_file" ]:
|
||||
file = os.path.abspath( path )
|
||||
abspath_datasets.append( trans.webapp.controllers[ 'library_common' ].make_library_uploaded_dataset(
|
||||
trans, 'api', params, os.path.basename( file ), file, 'server_dir', library_bunch ) )
|
||||
trans, 'api', kwd, os.path.basename( file ), file, 'server_dir', library_bunch ) )
|
||||
# user wants to import whole folder
|
||||
if source == "userdir_folder":
|
||||
uploaded_datasets_bunch = trans.webapp.controllers[ 'library_common' ].get_path_paste_uploaded_datasets(
|
||||
trans, 'api', params, library_bunch, 200, '' )
|
||||
trans, 'api', kwd, library_bunch, 200, '' )
|
||||
uploaded_datasets = uploaded_datasets_bunch[ 0 ]
|
||||
if uploaded_datasets is None:
|
||||
raise exceptions.ObjectNotFound( 'Given folder does not contain any datasets.' )
|
||||
@@ -510,7 +509,7 @@ class LibraryDatasetsController( BaseAPIController, UsesVisualizationMixin ):
|
||||
if source in [ "admin_path", "importdir_folder" ]:
|
||||
# validate the path is within root
|
||||
uploaded_datasets_bunch = trans.webapp.controllers[ 'library_common' ].get_path_paste_uploaded_datasets(
|
||||
trans, 'api', params, library_bunch, 200, '' )
|
||||
trans, 'api', kwd, library_bunch, 200, '' )
|
||||
uploaded_datasets = uploaded_datasets_bunch[0]
|
||||
if uploaded_datasets is None:
|
||||
raise exceptions.ObjectNotFound( 'Given folder does not contain any datasets.' )
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
GXPIP_VERSION='8.0.2+gx2'
|
||||
|
||||
SET_VENV=1
|
||||
for arg in "$@"; do
|
||||
[ "$arg" = "--skip-venv" ] && SET_VENV=0
|
||||
@@ -137,8 +139,28 @@ fi
|
||||
: ${GALAXY_WHEELS_INDEX_URL:="https://wheels.galaxyproject.org/simple"}
|
||||
if [ $REPLACE_PIP -eq 1 ]; then
|
||||
pip_version=`pip --version | awk '{print $2}'`
|
||||
pre=`python -c "from pkg_resources import parse_version; from sys import stdout; stdout.write('--pre') if parse_version('$pip_version') >= parse_version('1.4') else stdout.write('')"`
|
||||
pip install $pre --no-index --find-links ${GALAXY_WHEELS_INDEX_URL}/pip --upgrade pip
|
||||
method=`python - << EOF
|
||||
from pkg_resources import parse_version
|
||||
from sys import stdout
|
||||
if parse_version('$pip_version') >= parse_version('6.0'):
|
||||
stdout.write('req')
|
||||
elif parse_version('$pip_version') >= parse_version('1.5'):
|
||||
stdout.write('wheel')
|
||||
else:
|
||||
stdout.write('sdist')
|
||||
EOF`
|
||||
case $method in
|
||||
req)
|
||||
pip install --no-index --find-links ${GALAXY_WHEELS_INDEX_URL}/pip --upgrade "pip==${GXPIP_VERSION}"
|
||||
;;
|
||||
wheel)
|
||||
pip install --upgrade "https://wheels.galaxyproject.org/packages/pip-${GXPIP_VERSION}-py2.py3-none-any.whl"
|
||||
;;
|
||||
sdist)
|
||||
pip install --upgrade "https://wheels.galaxyproject.org/packages/pip-${GXPIP_VERSION}.tar.gz"
|
||||
;;
|
||||
esac
|
||||
|
||||
# binary-compatibility.cfg may need to be created (e.g. on CentOS)
|
||||
[ -n "$VIRTUAL_ENV" -a ! -f ${VIRTUAL_ENV}/binary-compatibility.cfg ] && python ./scripts/binary_compatibility.py -o ${VIRTUAL_ENV}/binary-compatibility.cfg
|
||||
fi
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"version":3,"file":"form-section.js","sources":["../../../src/mvc/form/form-section.js"],"names":["define","Utils","Table","Ui","Portlet","Repeat","InputElement","Parameters","View","Backbone","extend","initialize","app","options","this","inputs","cls","cls_tr","table","parameters","setElement","$el","render","delAll","i","add","input","input_def","jQuery","id","uid","input_list","type","_addConditional","_addRepeat","_addSection","_addRow","self","test_param","sustain_conditionals","disabled","field","onchange","value","selectedCase","data","matchCase","cases","case_def","section_id","section_row","get","nonhidden","j","hidden","fadeIn","hide","trigger","sub_section_id","sub_section","addClass","append","create","block_index","repeat","ondel","del","title","title_new","min","max","onnew","n_min","n_cache","_","size","cache","Math","sustain_repeats","hideOptions","input_element","label","name","help","button_visible","ButtonIcon","icon","tooltip","portlet","collapsible","collapsed","operations","$","html","setOperation","expand","collapse","on","setIcon","input_id","length","expanded","field_list","default_value","text_value","collapsible_value","collapsible_preview","argument","element_list"],"mappings":"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"}
|
||||
{"version":3,"file":"form-section.js","sources":["../../../src/mvc/form/form-section.js"],"names":["define","Utils","Table","Ui","Portlet","Repeat","InputElement","Parameters","View","Backbone","extend","initialize","app","options","this","inputs","cls","cls_tr","table","parameters","setElement","$el","render","delAll","i","add","input","input_def","jQuery","id","uid","input_list","type","_addConditional","_addRepeat","_addSection","_addRow","self","test_param","sustain_conditionals","disabled","field","onchange","value","selectedCase","data","matchCase","cases","case_def","section_id","section_row","get","nonhidden","j","hidden","fadeIn","hide","trigger","sub_section_id","sub_section","addClass","append","create","block_index","repeat","ondel","del","title","title_new","min","max","onnew","n_cache","_","size","cache","Math","default","sustain_repeats","hideOptions","input_element","label","name","help","button_visible","ButtonIcon","icon","tooltip","portlet","collapsible","collapsed","operations","$","html","setOperation","expand","collapse","on","setIcon","input_id","length","expanded","field_list","default_value","text_value","collapsible_value","collapsible_preview","argument","element_list"],"mappings":"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"}
|
||||
File diff suppressed because one or more lines are too long
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(["utils/utils","mvc/ui/ui-table","mvc/ui/ui-misc","mvc/ui/ui-portlet","mvc/form/form-repeat","mvc/form/form-input","mvc/form/form-parameters"],function(a,b,c,d,e,f,g){var h=Backbone.View.extend({initialize:function(a,c){this.app=a,this.inputs=c.inputs,c.cls="ui-table-plain",c.cls_tr="section-row",this.table=new b.View(c),this.parameters=new g(a,c),this.setElement(this.table.$el),this.render()},render:function(){this.table.delAll();for(var a in this.inputs)this.add(this.inputs[a])},add:function(b){var c=jQuery.extend(!0,{},b);c.id=b.id=a.uid(),this.app.input_list[c.id]=c;var d=c.type;switch(d){case"conditional":this._addConditional(c);break;case"repeat":this._addRepeat(c);break;case"section":this._addSection(c);break;default:this._addRow(c)}},_addConditional:function(a){var b=this;a.test_param.id=a.id,this.app.options.sustain_conditionals&&(a.test_param.disabled=!0);var c=this._addRow(a.test_param);c.options.onchange=function(c){var d=b.app.data.matchCase(a,c);for(var e in a.cases){var f=a.cases[e],g=a.id+"-section-"+e,h=b.table.get(g),i=!1;for(var j in f.inputs)if(!f.inputs[j].hidden){i=!0;break}e==d&&i?h.fadeIn("fast"):h.hide()}b.app.trigger("change")};for(var d in a.cases){var e=a.id+"-section-"+d,f=new h(this.app,{inputs:a.cases[d].inputs});f.$el.addClass("ui-table-section"),this.table.add(f.$el),this.table.append(e)}c.trigger("change")},_addRepeat:function(a){function b(b){var e=a.id+"-section-"+d++,f=new h(c.app,{inputs:b});g.add({id:e,$el:f.$el,ondel:function(){g.del(e),c.app.trigger("change")}})}for(var c=this,d=0,g=new e.View({title:a.title||"Repeat",title_new:a.title||"",min:a.min,max:a.max,onnew:function(){b(a.inputs),c.app.trigger("change")}}),i=a.min,j=_.size(a.cache),k=0;k<Math.max(j,i);k++){var l=null;l=j>k?a.cache[k]:a.inputs,b(l)}this.app.options.sustain_repeats&&g.hideOptions();var m=new f(this.app,{label:a.title||a.name,help:a.help,field:g});this.table.add(m.$el),this.table.append(a.id)},_addSection:function(a){var b=this,e=new h(b.app,{inputs:a.inputs}),f=new c.ButtonIcon({icon:"fa-eye-slash",tooltip:"Show/hide section",cls:"ui-button-icon-plain"}),g=new d.View({title:a.title||a.name,cls:"ui-portlet-section",collapsible:!0,collapsed:!0,operations:{button_visible:f}});g.append(e.$el),g.append($("<div/>").addClass("ui-form-info").html(a.help)),g.setOperation("button_visible",function(){g.collapsed?g.expand():g.collapse()}),g.on("expanded",function(){f.setIcon("fa-eye")}),g.on("collapsed",function(){f.setIcon("fa-eye-slash")}),this.app.on("expand",function(a){g.$("#"+a).length>0&&g.expand()}),a.expanded&&g.expand(),this.table.add(g.$el),this.table.append(a.id)},_addRow:function(a){var b=a.id,c=this.parameters.create(a);this.app.field_list[b]=c;var d=new f(this.app,{name:a.name,label:a.label||a.name,value:a.value,default_value:a.default_value,text_value:a.text_value||a.value,collapsible_value:a.collapsible_value,collapsible_preview:a.collapsible_preview,help:a.help,argument:a.argument,disabled:a.disabled,field:c});return this.app.element_list[b]=d,this.table.add(d.$el),this.table.append(b),a.hidden&&this.table.get(b).hide(),c}});return{View:h}});
|
||||
define(["utils/utils","mvc/ui/ui-table","mvc/ui/ui-misc","mvc/ui/ui-portlet","mvc/form/form-repeat","mvc/form/form-input","mvc/form/form-parameters"],function(a,b,c,d,e,f,g){var h=Backbone.View.extend({initialize:function(a,c){this.app=a,this.inputs=c.inputs,c.cls="ui-table-plain",c.cls_tr="section-row",this.table=new b.View(c),this.parameters=new g(a,c),this.setElement(this.table.$el),this.render()},render:function(){this.table.delAll();for(var a in this.inputs)this.add(this.inputs[a])},add:function(b){var c=jQuery.extend(!0,{},b);c.id=b.id=a.uid(),this.app.input_list[c.id]=c;var d=c.type;switch(d){case"conditional":this._addConditional(c);break;case"repeat":this._addRepeat(c);break;case"section":this._addSection(c);break;default:this._addRow(c)}},_addConditional:function(a){var b=this;a.test_param.id=a.id,this.app.options.sustain_conditionals&&(a.test_param.disabled=!0);var c=this._addRow(a.test_param);c.options.onchange=function(c){var d=b.app.data.matchCase(a,c);for(var e in a.cases){var f=a.cases[e],g=a.id+"-section-"+e,h=b.table.get(g),i=!1;for(var j in f.inputs)if(!f.inputs[j].hidden){i=!0;break}e==d&&i?h.fadeIn("fast"):h.hide()}b.app.trigger("change")};for(var d in a.cases){var e=a.id+"-section-"+d,f=new h(this.app,{inputs:a.cases[d].inputs});f.$el.addClass("ui-table-section"),this.table.add(f.$el),this.table.append(e)}c.trigger("change")},_addRepeat:function(a){function b(b){var e=a.id+"-section-"+d++,f=new h(c.app,{inputs:b});g.add({id:e,$el:f.$el,ondel:function(){g.del(e),c.app.trigger("change")}})}for(var c=this,d=0,g=new e.View({title:a.title||"Repeat",title_new:a.title||"",min:a.min,max:a.max,onnew:function(){b(a.inputs),c.app.trigger("change")}}),i=_.size(a.cache),j=0;j<Math.max(Math.max(i,a.min),a.default);j++)b(i>j?a.cache[j]:a.inputs);this.app.options.sustain_repeats&&g.hideOptions();var k=new f(this.app,{label:a.title||a.name,help:a.help,field:g});this.table.add(k.$el),this.table.append(a.id)},_addSection:function(a){var b=this,e=new h(b.app,{inputs:a.inputs}),f=new c.ButtonIcon({icon:"fa-eye-slash",tooltip:"Show/hide section",cls:"ui-button-icon-plain"}),g=new d.View({title:a.title||a.name,cls:"ui-portlet-section",collapsible:!0,collapsed:!0,operations:{button_visible:f}});g.append(e.$el),g.append($("<div/>").addClass("ui-form-info").html(a.help)),g.setOperation("button_visible",function(){g.collapsed?g.expand():g.collapse()}),g.on("expanded",function(){f.setIcon("fa-eye")}),g.on("collapsed",function(){f.setIcon("fa-eye-slash")}),this.app.on("expand",function(a){g.$("#"+a).length>0&&g.expand()}),a.expanded&&g.expand(),this.table.add(g.$el),this.table.append(a.id)},_addRow:function(a){var b=a.id,c=this.parameters.create(a);this.app.field_list[b]=c;var d=new f(this.app,{name:a.name,label:a.label||a.name,value:a.value,default_value:a.default_value,text_value:a.text_value||a.value,collapsible_value:a.collapsible_value,collapsible_preview:a.collapsible_preview,help:a.help,argument:a.argument,disabled:a.disabled,field:c});return this.app.element_list[b]=d,this.table.add(d.$el),this.table.append(b),a.hidden&&this.table.get(b).hide(),c}});return{View:h}});
|
||||
//# sourceMappingURL=../../../maps/mvc/form/form-section.js.map
|
||||
File diff suppressed because one or more lines are too long
@@ -116,7 +116,7 @@
|
||||
%else:
|
||||
<input type="text" id="name_input" name="username" size="40" value="${username | h}"/>
|
||||
<div class="toolParamHelp" style="clear: both;">
|
||||
Your public name is an optional identifier that will be used to generate addresses for information
|
||||
Your public name is an identifier that will be used to generate addresses for information
|
||||
you share publicly. Public names must be at least three characters in length and contain only lower-case
|
||||
letters, numbers, and the '-' character.
|
||||
</div>
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
<label>Public name:</label>
|
||||
<input type="text" name="username" size="40" value="${username}"/>
|
||||
<div class="toolParamHelp" style="clear: both;">
|
||||
Your public name is an optional identifier that will be used to generate addresses for information
|
||||
Your public name is an identifier that will be used to generate addresses for information
|
||||
you share publicly. Public names must be at least four characters in length and contain only lower-case
|
||||
letters, numbers, and the '-' character.
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user