Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

HTML string or Spawner config object(s) in the panel's content area.
NameValueDescription
kindpanel.input.textSpawner widget type - creates an <input> element with other necessary elements for proper styling and functionality.
name(string)Name attribute for this input, which must match the property name used for data loading and submission.
label(string)Label element for input.
id(string)Value for spawned element's id attribute.
value(string, obj, js, url)

Existing value for input - can be an explicit value as a string, a value looked up from a JavaScript object property

  • string - explicitly set a value
  • obj - property value of a namespaced JavaScript object, prefixed with ??, using periods or colons as path separators
    • ?? XNAT.data.siteConfig.adminEmail
    • ?? XNAT:data:siteConfig:security.channel
  • js - eval'd JavaScript, prefixed with !? - can be a js variable or expression
    • !? $$('!#other-input').value* - inserts value of '#other-input'

    • !? Date.now() - inserts current time in milliseconds

    • !? PAGE.username - inserts username from PAGE object (available on JSP pages)

  • url - REST URL used to retrieve value, prefixed with $?
    • $? /xapi/siteConfig/adminEmail
    • $? /xapi/users/profiles/admin/enabled


Info

* "What's with the wacky syntax?"

Given this expression:

!? $$('!#other-input').value

  • !? - tells the panel.input Spawner method that we're doing an eval() to get the form values
  • $$ - a special JavaScript function used in XNAT to retrieve DOM elements or jQuery-wrapped elements
  • !# - a special selector syntax used with the $$ function to retrieve the raw DOM element by id (this eliminates an unnecessary jQuery function call to just get the value of an input)


validation(string)String containing options as a space-separated list for validating the input.contents
before(string/objects)Elements that will render before(string/objects)Same as the contents but will render before the panel element. This is useful for inserting ad-hoc content if needed.
after(string/objects)Same as the contents but Elements that will render after the panel element. This is useful for inserting ad-hoc content if needed.