Opened 10 years ago

Closed 9 years ago

Last modified 9 years ago

#11141 closed defect (fixed)

Add a larger app infrastructure to dojox.mobile

Reported by: Shane O'Sullivan Owned by: Shane O'Sullivan
Priority: high Milestone: 1.6
Component: DojoX Mobile Version: 1.5.0b2
Keywords: Cc: Jared Jurkiewicz
Blocked By: Blocking:

Description

dojox.mobile is optimized for a remote site, and has strict limits on its size and functionality to best work with browser caches.

For on-device HTML5 apps, these restrictions are not such a problem, and it is possible to fit much more functionality into a library.

This ticket covers the initial addition of an infrastructure for on-device HTML5 app. It is modeled largely on Palm webOS in how views are pushed, popped, and pass data between each other. It also includes some basic widgets, such as templated lists and popup lists.

Attachments (8)

mobileApp_Modification.patch (6.1 KB) - added by Shane O'Sullivan 10 years ago.
Patch for just the alterations to existing code.
mobileApp.patch (71.6 KB) - added by Shane O'Sullivan 10 years ago.
Updated patch containing "swipe to delete" on lists
mobileApp.2.patch (81.0 KB) - added by Shane O'Sullivan 10 years ago.
Updated patch with better swipe-to-delete on lists, and better support for iPhone
mobileApp.3.patch (85.0 KB) - added by Shane O'Sullivan 10 years ago.
Patch against the latest dojox.mobile code, with style errors fixed
mobileApp.4.patch (90.2 KB) - added by Shane O'Sullivan 10 years ago.
Similar to previous patch, but many more comments added
mobileApp_attemptedMerge.patch (89.4 KB) - added by Jared Jurkiewicz 10 years ago.
My attempt at patching it in (and moving appCompat.js to app/compat.js). Missing file: app/_Widget.js
mobileApp.5.patch (90.8 KB) - added by Shane O'Sullivan 10 years ago.
Patch containing dojox/mobile/app/_Widget.js
mobileApp_merged_cleanup.patch (91.3 KB) - added by Jared Jurkiewicz 9 years ago.
Cleaned up patch set (tabs/spaced in some files + movve of appCompat to app.compat for cleaner module structure.

Download all attachments as: .zip

Change History (32)

Changed 10 years ago by Shane O'Sullivan

Patch for just the alterations to existing code.

comment:1 Changed 10 years ago by Shane O'Sullivan

Summary: Add a larger app infrastructur to dojox.mobileAdd a larger app infrastructure to dojox.mobile

Just fixing a spelling in the title

Changed 10 years ago by Shane O'Sullivan

Attachment: mobileApp.patch added

Updated patch containing "swipe to delete" on lists

Changed 10 years ago by Shane O'Sullivan

Attachment: mobileApp.2.patch added

Updated patch with better swipe-to-delete on lists, and better support for iPhone

comment:2 Changed 10 years ago by Jared Jurkiewicz

Shane. Your code formatting doesn't match style guidelines. Tabs/spaces are way off. Can you fix it?

Changed 10 years ago by Shane O'Sullivan

Attachment: mobileApp.3.patch added

Patch against the latest dojox.mobile code, with style errors fixed

Changed 10 years ago by Shane O'Sullivan

Attachment: mobileApp.4.patch added

Similar to previous patch, but many more comments added

comment:3 Changed 10 years ago by Jared Jurkiewicz

Your patch doesn't apply cleanly:

jaredj@arathorn:~/dojo/trunk/dojox> cat ../../../mobile/mobileApp.4.patch | patch -p0 patching file mobile/build/profiles/mobile.profile.js Hunk #1 FAILED at 14. 1 out of 1 hunk FAILED -- saving rejects to file mobile/build/profiles/mobile.profile.js.rej patching file mobile/appCompat.js patching file mobile/app/AlertDialog.js patching file mobile/app/SceneAssistant.js patching file mobile/app/StageController.js patching file mobile/app/_base.js patching file mobile/app/List.js patching file mobile/app/ListSelector.js patching file mobile/app/SceneController.js patching file mobile/tests/dialogApp/app/assistants/main-assistant.js patching file mobile/tests/dialogApp/app/views/main/main-scene.html patching file mobile/tests/dialogApp/index.html patching file mobile/tests/complexListApp/app/assistants/main-assistant.js patching file mobile/tests/complexListApp/app/views/main/main-scene.html patching file mobile/tests/complexListApp/app/views/main/rowTemplate.html patching file mobile/tests/complexListApp/app/views/main/emptyTemplate.html patching file mobile/tests/complexListApp/styles/style.css patching file mobile/tests/complexListApp/index.html patching file mobile/tests/simpleListApp/app/assistants/main-assistant.js patching file mobile/tests/simpleListApp/app/views/main/main-scene.html patching file mobile/tests/simpleListApp/app/views/main/rowTemplate.html patching file mobile/tests/simpleListApp/index.html patching file mobile/tests/simpleApp/app/assistants/main-assistant.js patching file mobile/tests/simpleApp/app/views/main/main-scene.html patching file mobile/tests/simpleApp/index.html patching file mobile/tests/multiSceneApp/app/assistants/main-assistant.js patching file mobile/tests/multiSceneApp/app/assistants/third-assistant.js patching file mobile/tests/multiSceneApp/app/assistants/second-assistant.js patching file mobile/tests/multiSceneApp/app/views/main/main-scene.html patching file mobile/tests/multiSceneApp/app/views/third/third-scene.html patching file mobile/tests/multiSceneApp/app/views/second/second-scene.html patching file mobile/tests/multiSceneApp/index.html patching file mobile/tests/index.html Hunk #1 FAILED at 43. 1 out of 1 hunk FAILED -- saving rejects to file mobile/tests/index.html.rej patching file mobile/_base.js patching file mobile/themes/iphone/iphone-app.css patching file mobile/themes/iphone/iphone-app-compat.css patching file mobile/themes/iphone/iphone.css Hunk #1 FAILED at 95. Hunk #2 FAILED at 611. 2 out of 2 hunks FAILED -- saving rejects to file mobile/themes/iphone/iphone.css.rej patching file mobile/parser.js Hunk #1 FAILED at 2. Hunk #2 FAILED at 16. Hunk #3 FAILED at 48. Hunk #4 FAILED at 65. 4 out of 4 hunks FAILED -- saving rejects to file mobile/parser.js.rej patching file mobile/compat.js Hunk #1 FAILED at 58. Hunk #2 FAILED at 66. Hunk #3 FAILED at 132. Hunk #4 FAILED at 317. Hunk #5 FAILED at 378. 5 out of 5 hunks FAILED -- saving rejects to file mobile/compat.js.rej patching file mobileApp.js

Can you make sure the patch applies to the latest trunk of dojox.mobile?

comment:4 Changed 10 years ago by Jared Jurkiewicz

jaredj@arathorn:~/dojo/trunk/dojox> cat ../../../mobile/mobileApp.4.patch | patch -p0
patching file mobile/build/profiles/mobile.profile.js
Hunk #1 FAILED at 14.
1 out of 1 hunk FAILED -- saving rejects to file mobile/build/profiles/mobile.profile.js.rej
patching file mobile/appCompat.js
patching file mobile/app/AlertDialog.js
patching file mobile/app/SceneAssistant.js
patching file mobile/app/StageController.js
patching file mobile/app/_base.js
patching file mobile/app/List.js
patching file mobile/app/ListSelector.js
patching file mobile/app/SceneController.js
patching file mobile/tests/dialogApp/app/assistants/main-assistant.js
patching file mobile/tests/dialogApp/app/views/main/main-scene.html
patching file mobile/tests/dialogApp/index.html
patching file mobile/tests/complexListApp/app/assistants/main-assistant.js
patching file mobile/tests/complexListApp/app/views/main/main-scene.html
patching file mobile/tests/complexListApp/app/views/main/rowTemplate.html
patching file mobile/tests/complexListApp/app/views/main/emptyTemplate.html
patching file mobile/tests/complexListApp/styles/style.css
patching file mobile/tests/complexListApp/index.html
patching file mobile/tests/simpleListApp/app/assistants/main-assistant.js
patching file mobile/tests/simpleListApp/app/views/main/main-scene.html
patching file mobile/tests/simpleListApp/app/views/main/rowTemplate.html
patching file mobile/tests/simpleListApp/index.html
patching file mobile/tests/simpleApp/app/assistants/main-assistant.js
patching file mobile/tests/simpleApp/app/views/main/main-scene.html
patching file mobile/tests/simpleApp/index.html
patching file mobile/tests/multiSceneApp/app/assistants/main-assistant.js
patching file mobile/tests/multiSceneApp/app/assistants/third-assistant.js
patching file mobile/tests/multiSceneApp/app/assistants/second-assistant.js
patching file mobile/tests/multiSceneApp/app/views/main/main-scene.html
patching file mobile/tests/multiSceneApp/app/views/third/third-scene.html
patching file mobile/tests/multiSceneApp/app/views/second/second-scene.html
patching file mobile/tests/multiSceneApp/index.html
patching file mobile/tests/index.html
Hunk #1 FAILED at 43.
1 out of 1 hunk FAILED -- saving rejects to file mobile/tests/index.html.rej
patching file mobile/_base.js
patching file mobile/themes/iphone/iphone-app.css
patching file mobile/themes/iphone/iphone-app-compat.css
patching file mobile/themes/iphone/iphone.css
Hunk #1 FAILED at 95.
Hunk #2 FAILED at 611.
2 out of 2 hunks FAILED -- saving rejects to file mobile/themes/iphone/iphone.css.rej
patching file mobile/parser.js
Hunk #1 FAILED at 2.
Hunk #2 FAILED at 16.
Hunk #3 FAILED at 48.
Hunk #4 FAILED at 65.
4 out of 4 hunks FAILED -- saving rejects to file mobile/parser.js.rej
patching file mobile/compat.js
Hunk #1 FAILED at 58.
Hunk #2 FAILED at 66.
Hunk #3 FAILED at 132.
Hunk #4 FAILED at 317.
Hunk #5 FAILED at 378.
5 out of 5 hunks FAILED -- saving rejects to file mobile/compat.js.rej
patching file mobileApp.js

comment:5 Changed 10 years ago by Jared Jurkiewicz

Or maybe I was out of date from what I thought I had checked in. Ack. Let me recheck.

comment:6 Changed 10 years ago by Jared Jurkiewicz

Okay, applied clean, but tests fail to run:

Firebug's log limit has been reached. 0 entries not shown. Preferences failed loading ../../../../dojo/../dojox/mobile/app/_base.js with error: Error: Could not load 'dojox.mobile.app._Widget'; last tried '../dojox/mobile/app/_Widget.js'

comment:7 Changed 10 years ago by Jared Jurkiewicz

So, I think your patch may be missing files...

Changed 10 years ago by Jared Jurkiewicz

My attempt at patching it in (and moving appCompat.js to app/compat.js). Missing file: app/_Widget.js

Changed 10 years ago by Shane O'Sullivan

Attachment: mobileApp.5.patch added

Patch containing dojox/mobile/app/_Widget.js

comment:8 Changed 10 years ago by Shane O'Sullivan

Sorry, left one file out. Included in the latest patch.

comment:9 Changed 9 years ago by Jared Jurkiewicz

Does your patch include my move of the compat layer up into app? I really didn't like it sitting down in the core dir when it applied only to code in app/

comment:10 Changed 9 years ago by Jared Jurkiewicz

Nope, it doesn't. Can you move that up as per my merge-patch I already attached, please? I really don't want to go through all of that moving and find/replace again. :-(

Changed 9 years ago by Jared Jurkiewicz

Cleaned up patch set (tabs/spaced in some files + movve of appCompat to app.compat for cleaner module structure.

comment:11 Changed 9 years ago by Jared Jurkiewicz

(In [22250]) Adding in experimental framework from Sahne Osullivan. \!strict refs #11141

comment:12 Changed 9 years ago by Shane O'Sullivan

(In [22256]) Refs #11141 Fixes issues with apps throwing errors when launching

comment:13 Changed 9 years ago by Shane O'Sullivan

(In [22259]) Refs #11141 Adds missing images from the list test

comment:14 Changed 9 years ago by Shane O'Sullivan

(In [22326]) Refs #11141 Fixes issues with building the mobile app infrastructure layers. !strict

comment:15 Changed 9 years ago by Shane O'Sullivan

(In [22330]) Refs #11141 Deletes the unnecessary appCompat.js, which was replaced with dojox/mobile/app/compat.js

comment:16 Changed 9 years ago by bill

Component: DojoxDojoX Mobile

comment:17 Changed 9 years ago by Shane O'Sullivan

(In [22370]) Refs #11141 Adds the ability for scenes to load custom javascript. !strict

comment:18 Changed 9 years ago by Shane O'Sullivan

(In [22634]) Refs #11141 Upgrades the ImageThumbView? widget to add new features, such as cache busting and animated resizing.

comment:19 Changed 9 years ago by Shane O'Sullivan

(In [22635]) Refs #11141 Adding in two border images for the ImageThumbView? widget

comment:20 Changed 9 years ago by Shane O'Sullivan

Resolution: fixed
Status: newclosed

comment:21 Changed 9 years ago by bill

(In [23587]) Try to make benchmark fair for behavioral widgets like dojox.mobile.app.TextBox that take advantage of markup aleady containing an <input>. Refs #11141.

comment:22 Changed 9 years ago by bill

(In [23588]) Make benchTool.html mobile friendly (i.e. to display well on a small screen). I tried to keep the old look for desktops, but the float:left for a big screen but it wasn't working well so I just dropped it.

Also making the test more realistic by rendering the widgets in a non-hidden div.

Refs #11141.

comment:23 Changed 9 years ago by bill

(In [23589]) Remove console.log() since it distorts benchmark results, refs #11141.

comment:24 Changed 9 years ago by bill

Milestone: tbd1.6

bulk update: bugs fixed in past few months, presumably milestone is 1.6

Note: See TracTickets for help on using tickets.