Skip to content
This repository has been archived by the owner on Oct 8, 2021. It is now read-only.

1.4 planning

jp1988 edited this page Sep 30, 2013 · 29 revisions

General

  • Support using widgets like toolbars, popups, panels outside of a page
  • Support AJAX loading in multi-page docs
  • Support anchors both inside a page (#bar) and across pages (foo.com#bar)
  • Revisit question of whether we should delete the contents of the original page contents (option) https://github.com/jquery/jquery-mobile/issues/3249
  • Support anchors and deep links to content like foo.com#bar
  • Be able to update hash w/o manipulating history (pushstate only)
  • Ability to pass hashes through (pushstate only)
  • Easier ways to wire in back button support for widgets like panels
  • Show how to use the server to serve up a full page vs. just the contents - how to use headers to decide what type of request it is or consider adding a query param option that could be set globally to communicate that it's an AJAX request
  • Better document bug fixes in theme and structure only CSS

Performance

  • Add performance benchmarks so we have a clear baseline and avoid regressions
  • Work with core on what modules we might want sliced off as modules, maybe ship with a custom build of core that is lighter
  • Less markup generation/decoration for enhancement

API/widget factory/UI consistency

  • Widget factory review for conformance. See https://github.com/jquery/jquery-mobile/wiki/Widget-Review
  • Ideally, have a common core with UI that is just the minimal amount of code needed to bootstrap a widget from either library; move the nav/autoinit config, key handling, etc. out into separate modules.
  • Use a class config mechanism to allow UI and Mobile to map to different theme frameworks
  • Make it possible (and easy) to apply jQuery Mobile themes to jQuery UI widgets

Widget review

  • JS directory structure 
  • remove jquery.mobile.* prefix
  • move things into sub-directories
  • move jquery.js out of js/ either to a vendor dir or as an npm dependency
  • Make all extensions proper extensions
  • table: reflow 
  • table: column toggle
  • custom select
  • listview autodividers
  • Make sure everything that should be a widget is: listview filter (widget vs. object), page sections
  • Break out JS Objects
  • transition handler

UI/Mobile shared core

  • Scott G. working on this from UI's side
  • Use UI's core and extend
  • What is mobile core?
  • namespacing
  • Global options > remove from core
  • keyCode = already in ui core
  • We get unique ID from UI

Widget factory compliance & cleanup

  • Check latest UI version (1.10.1 now)
  • Add widget method
  • Add destroy method
  • Add option method
  • Check enable method
  • Check disable method  - use _setOption?
  • Works outside of a page
  • Works in isolation (ex: is it dependent on page lifecycle)
  • Remove visual options like corners, shadows
  • Change from ui-disabled to ui-state-disabled to leverage WF, remove our original disabled code
  • Use on / off
  • Find where we're binding to document
  • Touch events have no teardown (swipe, tap, etc.)
  • Navigate event teardown
  • Update unit tests: more granular methods, less integration tests
  • Review open issues per widget when re-factoring to see if we can fix as we go

Make AJAX Nav (Content container) a standalone widget

  • 100% decouple nav to be optional so people can use mobile like UI - collection of widgets
  • Move all nav options from core to here

Mobile widget - add registry

  • Dependency object
  • Mobile widget extension for demultiplexer

Design cleanup

Transitions refactor

Navbar refactor

New tab widget

Generic filter widget extension

Nested listviews

Dialogs

  • Add option "dialog" to page widget to apply dialog styling
  • Set option "dialog" to true if rel="dialog" is used on a link?
  • Look into different way of handling transitions for dialogs
Clone this wiki locally