Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

179 lines (151 sloc) 9.358 kb
The-M-Project - Mobile HTML5 Application Framework
The-M-Project is an HTML5 Javascript framework for writing cross-platform mobile apps
## Acknowledgements
The-M-Project includes code from a number of different open source projects
* [jQuery](
* [jQuery Mobile](http://www.
* [underscore](
* [mobiscroll](
* [Modernizr] (
The-M-Project contains concepts of different open source projects
* [SproutCore](
* [persistencejs](
Thanks for sharing!
** Version 1.0 - Date 25.01.2012 **
* Do not trigger success callback when isUpdate within M.MapView's init()
* Added icon property to M.MapMarkerView
* Fixed initialText property of M.TextFieldView with input-type password (thx to amenon)
* Improved debugging of M.Toolbar, regarding the anchorLocation property of the child views (thx to greylurk)
* Fixed a bug in local storage provider (thx to amenon)
* Updated Underscore to v1.3.1
* Updated D8 library to 0.1.3
* Fixed a bug with native date picker and M.TextFieldView (update value on lostFocus event)
* Content binding now can handle 0 as number since we now check for undefined & null
* M.LocationManager's getAddressByLocation() now can return the address as an components object instead of fixed string
* Fixed the "overlapping" problem of M.ListView if used in between other views
* Fixed the problem of too long values in the center position of a toolbar
** Version 1.0 RC1 - Date 17.01.2012 **
* Fixed a bug with sendNoCacheHeader property of M.Request
* I18N not sets language to default language if the desired one is not available
* Fixed a bug in M.Request concerning the internal callbacks
* Added M.DataConsumer as a special data provider that only works as a source and in combination with the model's find()
* Fixed a bug with textfields (date input), computed value and the datepicker
* Updated Underscore to v1.3
* Updated mobiscroll to 1.5.3
* Fixed a bug with M.ScrollView and the clear button
* Added disable()/enable() and clearValue() to M.SearchBarView
* Added cssClass property to M.ListView
* Added special behaviour for M.ButtonView inside of an M.ToggleView
* Model: changed m_id from number to unique string (4 digits each can be one of 32 chars)
* Model: deleted bulkImport method
* Renamed getRecordForId() to getRecordById() (in M.RecordManager), the latter one is deprecated now
* Deleted M.ModelRegistry
* Deleted M.DataProviderCouchDB
* Deleted M.DataProviderWebSQL
* Method find() in DataProviderLocalStorage now takes an object for query
* Added "include" operator (for strings) for LS find query
* Changed version to 1.0RC1
** Version 0.8 - Date 05.12.2011 **
* Fixed a typo bug in M.Request
* Added M.CanvasView
* Added numberOfChars property to M.TextField (equivalent to HTML's maxlength property)
* Fixed a UTF8 bug in M.ListView
* Added M.TextFieldView to supported views within a list item view.
* Removed deprecated useTransitions property of M.Application (use getConfig() instead)
* Fixed a bug with the switchToPage() (make use of the fourth parameter: updateHistory)
* Added all the date-types as possible values for inputType for M.TextFieldView
* Added M.SliderView (based on input type range and jqm)
* Reposition dialogs on orientation change
* Added queue to dialogs to only show one at a time
* Added the M.MULTIPLE_SELECTION_DIALOG mode to M.SelectionListView
* Added 4-column layout to M.GridView
* Updated Underscore to v1.2.2
* Updated mobiscroll to v1.5.2
* Added a custom Modernizr configuration to M.Environment for detecting HTML5 input types
* Added M.DatePickerView as fallback to date input types for M.TextFieldView
* Added callbacks to initMap()
* Added disable() / enable() to M.SelectionListView
* Added M.TableView (first, simple version)
* Refactored M.Request to use the callbacks property
* Added sendNoCacheHeader and sendTimestamp properties to M.Request
* Changed version to 0.8
** Version 0.7 - Date 18.10.2011 **
* Added D8 as the next generation date object in JavaScript (M.Date remains, but will no longer be maintained)
* Fixed a bug in M.LocationManager
* Added changeTitle() to M.LoaderView
* Fixed a bug in style() with the disabled-property
* Fixed a bug in styleUpdate(), since disabled-property lead to problems with autogrow mechanism
* Fixed a bug in M.EventDispatcher (no unbind of jqm-based events)
* ContentDidChange Event for values which are an empty string
* Refactored M.SelectionListView to use this.value in renderUpdate() since it was automatically set by contentDidChange() of M.View
* Added M.DashboardView / M.DashboardItemView
* Added disable() / enable() to M.ButtonView (also usable within a button group)
* Extended dashboard's editable support for dektop browser
* Refactored extend() in M.Object to correctly differenciate between object and prototype properties.
* Implemented the all new M.DatepickerView (based on mobiscroll)
* Fixed a bug in the form view's getFormValues()
* Added check and error message to M.ListView if there is a invalid template
* Updated Underscore to v1.1.7
* Updated JQM to 1.0RC1
* Added 'enableTouchOverflow' and 'useTransitions' properties to the config.json's application section
* Updated jQuery to 1.6.4
* Added cssClass property support to M.DashboardView
* Fixed a bug in email validator
* Fixed some stuff in M.SelectionListView and extended support for boolean/numerical values when using content binding
* Finalized v0.7
** Version 0.6 - Date 21.07.2011 **
* Refactored content binding (3): set() now can set single values of a chain like 'person.address.street'
* Added 'orientationchange' event to M.PageView
* Fixed M.LoaderView
* Removed useless properties of M.Application (viewManager, modelRegistry, ...)
* Refactored M.MapView: Load google maps api only if connection available (this fixes a bug with the cache manifest)
* Added unregisterEvents() to M.EventDispatcher
* Renamed remove() to unregister() in M.ViewManager
* Refactored destroy() in M.Application: Additionally unregister a view from both the event dispatcher and the view manager
* Added setActiveButtonAtIndex() to M.ButtonGroupView
* Removed applyTheme property
* Fixed a bug in renderUpdate() of M.ButtonView
* Added resetSelection() to M.SelectionListView
* Updated jQuery Mobile to 1.0b1 (and adjusted some parts of TMP to work with this new version properly)
* Updated underscore.js to 1.1.6
* Removed the VERSION file, since we maintain the version in m.js -> M.version
* Refactored alert and confirm dialog to have position dynamically calculated => always in center of the screen, even if page is scrolled. Semi-transparent background now has full page size.
* Added getTotalSize, getTotalHeight and getTotalWidth to M.Environment to get total size of document
* Auto-center M.Loader view when show() is called and the loader was hidden before
* Fixed a bug in M.FormView's showErrors()
* Added Dynamic Value Computing to M.TextFieldView
* Added config property and getConfig() to M.Application to access properties of config.json within an application
* Added isSelectable property to M.ListItemView
* Added setView() to M.ToggleView
* Use debugMode property of config.json to only log if we are not in production mode
** Version 0.5 - Date 03.06.2011 **
* Fixed a bug in M.I18N
* Added setValue() to M.LabelView
* Added autogrow-mechanism to M.TextFieldView in combination with content binding
* Refactored event handling (all over and over all)
* Refactored childViews property (it's way more robust now)
* Updated jQuery to 1.6.1
* Updated jQuery Mobile to 1.0b1
* Refactored content binding (1): It now uses target/property (same as events)
* Refactored content binding (2): Added recursion, so now something like 'person.address.street' is possible
* Added method to remove a view's child views (e.g. used in toggle view)
* Refactored dialogs: no more rendered as page but as an overlay animated with CSS3
* Refactored toggle view: do show/hide instead of add/remove
** Version 0.4 - Date 19.04.2011 **
* Updated jQuery to 1.5.2
* Updated jQuery Mobile to 1.0a4.1
* Updated M.DatePickerView to work with latest version of JQM
* Updated M.SelectionListView to work with latest version of JQM
* Fixed a bug in M.ToggleView
** Version 0.3 - Date 22.02.2011 **
* Added M.DatePickerView.
* Added 'entryPage' property to M.Application and refactored the process of launching this first page.
* Added bootstrapping directory (needed for some startup scripts).
* Added jquery_mobile_plugins directory for jQM based plugins.
* Fixed a bug with M.ListView: ID 0 of a model record was ignored due to an invalid constraint.
* Added CouchDB Data Provider
* Bugfixes in M.Model
Jump to Line
Something went wrong with that request. Please try again.