_ _ _____
(_)_ __ _ __ _ _| |_| ____|_ __
| | '_ \| '_ \| | | | __| _| \ \/ / build fields and forms for web applications
| | | | | |_) | |_| | |_| |___ > < Distributed under the MIT License (see license.txt)
|_|_| |_| .__/ \____|\__|_____/_/\_\
|_|
Release Notes:
==============
version 0.7.1 :
---------------
released on February, 14th 2011
- Field enhancements:
* DateSplitField: inputs are now trimed by default
- Fixes
* RadioField: fix rare bug when a classic choice has a value equal to
allowAny field default value
* IntegerField / NumberField: fix trim option which didn't work
* missing DE translations
* fixes inputEx Form Builder LoadPanel
- Adding the YUI3 loader using yui2in3
version 0.7.0 :
---------------
released on January, 7th 2011
- Field enhancements:
* Field: adding the setFieldName method in the API
* TypeField: fixed the setValue bug
* Group: adding the "addField" method
* ListField: use setName on subFields for list to work in a browser-sent form
* use setFieldName on subFields for list to work in a browser form
* configurable colors for re-order animation
* All fields : allow label option to be an empty string,
(creating
&nbps;
structure),
which provides a way not to break the alignment of fields within a group or form
when not having a label on a field.
* All fields : allow label option to contain HTML (Ex : { label: "Your name * " })
- Added Fields:
* SelectTwiceField : two step selector (2nd selector choices depending on first selector selected value)
- Fixes
* CombineField: focus and blur handlers
* Groups will no longer validate disabled sub-fields
* JsonTreeInspector now displays html content by replacing <> by html entities
* ddlist widget: fix updateItem method
* MultiSelectField: fix bugs due to mix up between enable/disable and hide/show of choices
* inputEx.cn: IE9 doesn't need a special way to treat "input" tags as required for IE<8, hurray !
- Other
* Upgrading to YUI 2.8.2r1
* Adding inputEx.htmlEntities
* Adding the SerializeField example page
* Catalan localization by llistes correu
version 0.6.0 :
---------------
released on August, 2nd 2010
- Field enhancements:
* SelectField: - global refactoring, extraction of common "choice" pattern in a mixin module
(+ see following changes)
- WARNING : this field has a new dependency
-- inputex/js/mixins/choice.js
- WARNING : important change in the way we define the select's nodes :
-- old pattern : { selectValues:["1","2"], selectOptions:["first","second"] }
-- new pattern : { choices: [{value: "1", label: "first"}, {value: "2", label: "second"}] }
The new pattern is a unified way to define a choice, in selectField's options or through
addChoice method (which is used behind the hood to generate selectField's options at init).
This pattern is common with RadioField.
- added hideChoice/showChoice/disableChoice/enableChoice methods to hide/display/disable/enable
choices (= s) dynamically without removing them using removeChoice.
- remove 'multiple' option, too complex to handle for a confusing user-interface component !
Use several checkboxes instead or MultiSelectField.
* RadioField: - global refactoring, like SelectField, with use of "choice" mixin,
API is very similar to SelectField (see below)
- WARNING : this field has new dependencies
-- yui/selector/selector-min.js
-- yui/event-delegate/event-delegate-min.js
-- inputex/js/mixins/choice.js
- WARNING : important change in the way we define the radioField's nodes :
-- old pattern : { values: ["1","2"], choices: ["first","second"] }
-- new pattern : { choices: [{value: "1", label: "first"}, {value: "2", label: "second"}] }
- added hideChoice/showChoice/disableChoice/enableChoice methods to hide/display/disable/enable
choices (= s) dynamically
- add inputEx-selected class on currently selected inputEx-RadioField-choice (see RadioField
example n°4 : styling the currently selected choice)
- allowAny option now takes an optional 'allowAny.field' configuration object to declare a field
of any type as allowAny field. It was previously limited to 'string' field. (see examples)
* EmailField: - new validation regexp : doesn't allow IPs after @ anymore, whitelisting of allowed characters
instead of weak blacklisting.
* TextArea : - added readonly (true|false) option, that option doesn't work on IE < 8
* TimeInteralField :
- change setValue to be accurate with a larger set of values
(ex: [40 days in seconds] = 40*24*60*60 = 3465000 is now displayed as "40"+"days" instead of
being rounded at "1"+"months")
* UrlField: - fixing the regular expression to accept port numbers
- Added Fields:
* TinyMCEField
- Mixins:
* choice: module with function discribing a common pattern of managing "choices",
contains several functions like hideChoice, showChoice, disableChoice, enableChoice, etc.
(mixin used by SelectField and RadioField)
- Widgets :
* dialog : add formAvailable boolean property, formAvailableEvt custom event, and whenFormAvailable method.
whenFormAvailable method allows you to execute a callback as soon as the form is generated and
ready to use, or now if form already available.
* datatable : - fix a bug due to use of dialog when form not ready yet.
- Added the possibility to update a whole row with additional updated data on the callback
function of modify event
- Various:
* inputEx.browserAutocomplete property to globally turn off/on browser autocomplete feature on forms
by default
* inputEx.indexOf now accepts a function as 3rd parameter. This function is applied on each array element
and must return true when the searched element is found.
version 0.5.1 :
---------------
released on June, 4th 2010
- Field enhancements:
* colorField : no hardcoded css, use inputEx-ColorField-square and inputEx-ColorField-Grid classes instead,
hovered or selected colored square is emphasized with a 1px-border
* hiddenField : getValue returns the raw value as passed to setValue, without type casting as 'string',
but keep in mind that HTML form submit still casts the value as 'string'.
- Added Fields:
* StringAvailability field
- Bug fixes:
* fix addOption bug on SelectField
version 0.5.0 :
---------------
released on March, 2nd 2010
- Warning important API changes:
* remove "inputParams" syntax when defining fields inside a group or form definition
this means you no longer have to type { type: 'string', inputParams: { name: 'lastname' } }
but simply: { type: 'string', name: 'lastname' }
The 'type' property is therefore prohibited as an attribute name for a Field.
* form buttons extracted into a widget class : inputEx.widget.Button
(3 types : 'submit', 'submit-link', 'link')
The inputEx-button module is REQUIRED for Form usage. (any page requiring js/Form.js should include js/widgets/button.js)
* Form buttons 'onClick' handlers should now return false to stop the submit event
* Form buttons 'onSubmit' handlers should now return false to stop the submit event
* Adding setParentField/getParentField methods to all fields +
implementation in meta-fields: Group (+Form,Combine), InPlaceEdit, ListField, TreeField and TypeField
- Added Fields:
* TimeRange field
* SerializeField
- Field enhancements:
* id, className, and disabled options on buttons
* event facade for form submit : form.submitEvent
* event facades for buttons : button.clickEvent, button.submitEvent
* destroy method on group and form fields
* getFieldsStates method on group to know which fields do not validate (+error messages)
* trim option on StringField
* RTEField: Changing the "type" option to "editorType"
* Group: Adding a span element to group labels
* Overridable readonly option in DatePickerField
* InPlaceEdit editor now rely on inputEx.widget.Button
* RadioField option to display inputs inline or vertically
* MenuField accepts a menuConfig option, this object will be passed
as the config of the generated YUI Menu
- Widgets:
* new normalized buttons : inputEx.widget.Button
- Bug fixes:
* fix setValue bug on checkboxes
* fix typeInvite on emailField
* Fixing all standard parameters for KeyValueField and KeyOpValueField and changing the API
* Fixing enable/disable functions for RadioField and DatePickerField
* Fixed bug in checkbox where a string of "true" is passed and compared to
the default of a type boolean, hence always returning false. Added test
to convert type if needed.
- Various:
* cross-browser CSS improvements on Radios and Checkboxes
version 0.4.0 :
---------------
released on January, 4th 2010
- Various
* Upgrading to YUI 2.8.0r4
* Switching to yuidoc for documentation
* Tickets moved to GitHub
- Added Fields
* Lens (beta)
* TimeInterval field to enter a duration
* ColorPickerField - wrapper for YUI's ColorPicker widget
* KeyValueField and KeyOpValueField - fields to build search forms from an inputEx definition
- Field enhancements:
* CombineField now inherits Group instead of Field
* added minItems/maxItems options on ListField
* DDList items now have separate value & labels
* added returnLabel option to MultiAutocomplete (method to format list label)
* Adding an "insert" method to Textarea
* Form can send data using x-www-form-urlencoded
* Form wrapObject option (ajax only)
* Password confirmation field defined in json
* DateField and DatePicker support for string formatting
* InPlaceEdit ok button is now a skinnable link
* Moved VectorField, MapField, IPv4Field, UpperCaseField from ext/ to fields/ (watch you references !)
* BirthdateField renamed to DateSelectMonthField
* FileField out of beta
* Group/Form setErrors method to display custom messages
- Widget enhancements
* JsonTreeInspector: expand methods and JSONPath filter
* Dialog widget out of beta
* Datatables out of beta
- JSON-Schema
* implementation of inputEx.JsonSchema.inputExToSchema (beta)
- RPC
* integrate yui-rpc as inputEx.RPC
* Moved inputEx RPC methods to inputEx.RPC namespace (generateServiceForm and formForMethod)
* new SMD examples: freebase, tinyurl
* Added an example using inputEx SMD support and the Flickr API
* added YQL utility to make YQL queries using JSONP
- Tools
* Providing a dependency-configurator based on yui-dependency-configurator
* added yql-trimpath page utility to create pages using YQL queries and trimpath templates
* added a tool to generate yql-trimpath-page built on the YUI Grids builder
- Bug fixes
* fixing broken examples (YUI element is not beta anymore)
* fix on CombineField to contain Group or Form fields
* fix on Datatable widget (broken since switch to YUI 2.7.0)
* fix on DSSelectField (broken since switch to YUI 2.7.0)
* fix on MultiSelectField
* fix empty test for Integer and Number Fields
* fix on DatePickerField: we had to click twice to select a date the first time
- Fields removed
* FrenchDate (use the french locale instead)
* FrenchPhone (pass the regular expression to StringField instead)
* PairField (deprecated for a long time)
version 0.2.2:
--------------
released on March, 6th 2009
- RPC:
* uses yui-rpc (http://github.com/neyric/yui-rpc/) that implements the Service Mapping Description
http://groups.google.com/group/json-schema/web/service-mapping-description-proposal
* inputex-rpc : automatically build forms to call methods defined in a SMD
* SMD-tester example
- Field enhancements:
* added "collapsed" option for Group/Form
* added "className" option for Group/Form
* added listAddLabel/listRemoveLabel options for List
* added addOption/removeOption methods on SelectField
- Widgets:
* Added JsonTreeInspector widget
- Various
* moving to github (git repository)
* moving tickets to Lighthouse
* new page for examples
* some fixes on inputex-loader
* updates on json-schema
* fixing first json-schema example
version 0.2.1:
--------------
released on January, 22nd 2009
- API changes:
* setValue takes a second argument (sendUpdatedEvt) to prevent firing the updatedEvt if false
* setOptions takes the options object as argument so we don't have to make a copy of the object.
this method should be mandatory in surclassing ?
* inputEx-required CSS class is permanently set on required fields (allow custom style for required fields, labels...)
inputEx-invalid class is added on required fields that are empty to mark them as invalid (no more CSS rules for inputEx-required class)
'empty' state still in use
* ColorField : colors option must be provided in ["#FFCEA5",...] format instead of ["FFCEA5",...] (so palettes are also modified)
- Added Fields
* MenuField : new field to perform a selection in a multi-level selector (menu style)
* VectorField : returns an array of number
* FileField-beta : for file upload using standard form post upload
* MapField from David Janes
- Field enhancements:
* Datatable: added options and CSS
* TypeField has been changed. Many bugfixes + cleaner way to defined fields parameters
- Various:
* Switching to GIT repository
* Better examples (dialog, yuiloader, multiselect)
* inputExBuilder much better (now with page generation !)
* stylesheet for IE6 css fix (still not full support)
* field.destroy was buggy
* RTEField fixed (doesn't ignore name option anymore, accept initial value and setValue just after init)
* Form does not send values in ajax when doesn't validate
* italian localization
version 0.2.0:
--------------
released on November 1st 2008
- Added fields:
* RadioField
* DatePickerField (type: datepicker)
* DateTimeField (type: datetime)
* IntegerField (type: integer) and removed the "numbersOnly" option from StringField
* NumberField (type: number)
* TimeField (type: time)
* MultiAutoComplete
* MultiSelectField
* CombineField: replace PairField, but for N fields
* SliderField (type: slider)
* DSSelectField (type: dsselect) : uses YUI datasources to populate a SelectField
- Added widgets:
* DDList widget: sortable list widget
* Datatable (beta): combine YUI datatable widget with inputEx forms
* Dialog (beta): create a panel from a inputEx type definition
- Field enhancements:
* Field: Added a "destroy" method, focus method to set the focus on inputs
* StringField: added typeInvitation, maxLength, minLength, readonly attributes
* Group: flatten option on type JSON, getFieldByName method, collapsible option
* Form mask
* PasswordField: Strength indicator, CapsLock indicator
* PairField inherit from CombineField (deprecated, kept for compatibility)
* TypeField: implemented setValue, the builder can now "load" a group config
* UrlField: case sensitive URLs, make favicon optional otherwise it breaks https
* ListField: set the focus to the added element, use links or buttons
* RTEField: added SimpleEditor support and "opts" option to configure the toolbar (added by Dav Glass)
* TypeField/FormBuilder update: includes more options for more fields
- Various:
* module definitions for the YUI loader
* Markup and CSS refactoring: the "description" and "label" attributes are now in the field JSON, uses "label" and "fieldset" tags
* small visualization/templating engine (Visus.js)
* Added an inputEx.importJsonSchema (experimental) method to create a form from a JSON Schema
* Documentation now uses JsDocToolkit 2 and http://code.google.com/p/neyricjslibs-template/
* alias namespace from inputEx to YAHOO.inputEx
* enclosed components in anonymous functions with shortcuts
* use YAHOO.lang.extend(...,...,{ methods: }) to save some bytes
* moved build/inputex-all.js to build/inputex.js for YUI loader
* VERSION added in inputEx object
* Moved the two functions (Array.prototype compact & indexOf) into the inputEx namespace as static functions
* use YAHOO.lang.isMethods instead of typeof
* inputExChart example
version 0.1.0
-------------
released on Wed May 07 2008
- Initial public release
- Added Fields: Group,Form,AutoComplete,CheckBox,Color,Date,Email
Hidden,InPlaceEdit,IPv4,List,Pair,Password,RTE,Select
String,Text,Tree,Type,Uneditable,UpperCase,Url
- Application examples:
* inputExBuilder
* inputExHTML
* TaskManager