History log of /yui3/src/app/js/app-base.js
Revision Date Author Comments Expand
421945fc2bca8dfac11d6a92f5cc7933c7ca53c2 27-Mar-2012 Eric Ferraiuolo <eferraiuolo@gmail.com>

All App Framework modules now show up on the API docs overview page. Added `@module app` to all of the source files. Also included `Y.App.Transitions` in the README.

2a0bca4bfe6854ab18560458db6c4e4db8cb781a 19-Mar-2012 Eric Ferraiuolo <eferraiuolo@gmail.com>

Minor tweaks to App API docs.

0926e8ddd5155afaf6f4ff700515059f6ced74c0 15-Mar-2012 Eric Ferraiuolo <eferraiuolo@gmail.com>

Merged in some stash changes to Y.App's docs.

b4662e2303ca5688d9adeed674176db14372b48a 15-Mar-2012 Eric Ferraiuolo <eferraiuolo@gmail.com>

Configured Y.App's `viewContainer` attribute to be like `container`. Remove the default `value` and changed `writeOnce` to `true`.

b963c4887dfe95805605a42dc40a50e68cd92475 14-Mar-2012 Eric Ferraiuolo <eferraiuolo@gmail.com>

Tweaked Y.App API docs to include @see and @since tags.

ea1c2138cfb7aed2897c2b68452a4dbc75e2b15c 13-Mar-2012 Eric Ferraiuolo <eferraiuolo@gmail.com>

API Doc updates for App.Base.

28f96a24457e611c41e46f5c574240dec44262a2 01-Mar-2012 Eric Ferraiuolo <eferraiuolo@gmail.com>

Code comments for Y.App.

a3416d823979c77edcc2ceca08e7965ffdaa3e32 15-Feb-2012 Eric Ferraiuolo <eferraiuolo@gmail.com>

Y.App API doc tweak.

d36ab2843855ad9e398a30705db9cc8396054b8a 15-Feb-2012 Eric Ferraiuolo <eferraiuolo@gmail.com>

Updates to App to play nice with PjaxBase change.

cddbf51e03e7ff72ffbd6887291ff0ba04d56596 15-Feb-2012 Eric Ferraiuolo <eferraiuolo@gmail.com>

Added `_NON_ATTRS_CFG` static prop to Y.App.Base.

cfecbe8b8444936a844d85c796489ac698a34480 14-Feb-2012 Eric Ferraiuolo <eferraiuolo@gmail.com>

Removed `instanceof Y.View` check from App to increase flexibility.

a426b67259412a748c1ef997997f76259a5ff0fb 14-Feb-2012 Ryan Grove <ryan@wonko.com>

Move viewContainer's getter into a prototype method.

a1262766ab9d2c64f7c30e87687ef2a458631203 09-Feb-2012 Ryan Grove <ryan@wonko.com>

Update App to support lazy container creation. Also moved CSS class stamping to render-time instead of init time.

da3fe82a6733256f64c8351879bba6730371b972 07-Feb-2012 Ryan Grove <ryan@wonko.com>

Destroying a view no longer destroys that view's container. [Ticket #2531689] Pass {remove: true} to the view's destroy() method to destroy the container as well. This change required a few changes to Y.App to maintain its expected behavior.

e6dce2ba329c1bafbe4306c71f3ada1f96b6e217 01-Feb-2012 Eric Ferraiuolo <eferraiuolo@gmail.com>

Updated how Y.App looks up View constructors. Using `Y.namespace()` results in possible unintended side-effects of extra objects being created. Hat tip to @lsmith on the use of `Y.Object.getValue()`.

3b9ae81d79bb89b03617ad79cbc4753708e4e78c 01-Feb-2012 Eric Ferraiuolo <eferraiuolo@gmail.com>

Y.App now looks up "Deeply.Namespaced.Views". Fixes #2531736. This now works: new Y.App({ views: { foo: {type: 'MyApp.Views.Foo'} } });

c2912a0bb4027bddb321e3205ba073c27a189414 30-Jan-2012 Eric Ferraiuolo <eferraiuolo@gmail.com>

Removed @protected from Y.App's `navigate()` method API Doc comment.

ca11bdc1dd36eb45ab5555eccda1b9ed304a9721 30-Jan-2012 Eric Ferraiuolo <eferraiuolo@gmail.com>

s/router/app/ in Y.App's API Docs.

49212d376a13ed24e55b5d3fb13000d6f99f01a6 30-Jan-2012 Eric Ferraiuolo <eferraiuolo@gmail.com>

Y.App API Doc tweaks.

490225c2a5f23297c90f8342bad3bbe75818885b 30-Jan-2012 Eric Ferraiuolo <eferraiuolo@gmail.com>

Tweaked some of App's API docs.

94fa17a10c8cead902109b5b282052e4224b250e 30-Jan-2012 Eric Ferraiuolo <eferraiuolo@gmail.com>

Updated App's `render()` method to append any `activeView`. Before the `render()` method would replace all of `viewContainer`'s content with the `activeView`. When writing the docs for App, it became apparent that this is not what should happen.

b569685af4aa9b73bfd0add121157c929ff20e71 30-Jan-2012 Eric Ferraiuolo <eferraiuolo@gmail.com>

Updated the API Docs for Y.App's `navigate()` method for clarity.

ce1c5e5caa684aee44d46f9bf02fc3bb848832bc 13-Jan-2012 Eric Ferraiuolo <eferraiuolo@gmail.com>

App now actually sets the `activeView` in `_uiSetActiveView()`. I moved the guts of this logic out of the event handler and into a separate method so it would be easier to extend.

2b052ed61cc7eb5a42afff475f8ccac652eb914b 22-Dec-2011 Eric Ferraiuolo <eferraiuolo@gmail.com>

Updated Y.App's API docs and added TODOs for View lifecycle changes.

71ac727838f7a80c81381e168bfa53f79c2791f8 14-Dec-2011 Eric Ferraiuolo <eferraiuolo@gmail.com>

API doc updates for Y.App and Y.PjaxBase. Feedback from users in #yui surfaced the need for more clarity around Y.App's `viewContainer` attribute.

8f5e4537f39c2856346a29e41ae9b125e06f1458 13-Dec-2011 Eric Ferraiuolo <eferraiuolo@gmail.com>

Updated Y.App's API docs. Now Y.App is included in the App Module.

091fd26b4b1680660e7fc48e1a45f9f52f9c0239 09-Dec-2011 Eric Ferraiuolo <eferraiuolo@gmail.com>

Y.App no longer messes with other's objects when creating its `views`. Extra steps are now taken to merge together default view-related metadata from the `views` object on the prototype with the specified `config.views` object such that the resulting merged set of metadata does not affect anyone's own objects. Unit tests which depended on the old merging behavior have been updated.

de560372a1999ef42ec022d21b150a93d53cb089 06-Dec-2011 Eric Ferraiuolo <eferraiuolo@gmail.com>

Updated some of Y.App's API docs to be more clear.

fbcc7c81d9e4485353a3219f75bd7d89e4bc5ec0 06-Dec-2011 Eric Ferraiuolo <eferraiuolo@gmail.com>

Made Y.App's override of the `_navigate()` method cleaner. Improved the way equality between the new and current URL is determined, which causes the history entry to be replaced (by default) when the two URLs are equal. Also some doc updates to make things more clear.

1f3ef34c64dc9cd42179d3dae8febff0630ad4fb 06-Dec-2011 Eric Ferraiuolo <eferraiuolo@gmail.com>

Improved Y.App's handling of `views` metadata and the `activeView`. The `views` object on the `prototype` is no long polluted, like it was before! It is now using `Y.mix()` to pull in the defaults from the `views` object on the `prototype` and apply them (if needed) to the instance's `views` object. So each instances gets its own `views`. `activeView` now defaults to `null`, which makes it properly behave as a read-only attribute. It was effectively write-once before! `showView()` now makes sure a preserved-registered view is _always_ stamped with the `views` metadata. The related docs have also been tweaked to be more clear, and added some TODOs to they wouldn't be forgotten.

f0238fbe02c6cd2745aa438a70534e5c2fa76140 06-Dec-2011 Eric Ferraiuolo <eferraiuolo@gmail.com>

Greatly improved Y.App's view-based lifecycle, it was broken before. The `container` now _actually_ defaults to the `<body>`. `render()` is conscious to the fact that the `container` and `viewContainer` may be the same node. Now that View has the `_destroyContainer()` method, Y.App overrides it and makes sure to properly deal with the double-box setup, and not remove the `<body>` when it's the `container`, and instead just clean-up the CSS classes that were added.

25de9d38287abdc19f4a3ac229785abeba30ae93 02-Dec-2011 Eric Ferraiuolo <eferraiuolo@gmail.com>

Code clean-up, organization, and docs for Y.App.

a25a45cb356f51399352059f1d4c203fe9b887ed 01-Dec-2011 Eric Ferraiuolo <eferraiuolo@gmail.com>

Y.App now upgrades hash-based URLs during navigation. Building on Pjax's enhanced navigation features, Y.App will now upgrade links with hash-based URLs to full-path URLs during the navigation phase. The final URL in the address bar is still dependent on the value of the `serverRouting` attribute and the capabilities of the browser.

dd4a18d0a2e331a995b92b56691e44f5614d8dc8 17-Nov-2011 Eric Ferraiuolo <eferraiuolo@gmail.com>

Removed Y.App TODO for moving to using a setter for `html5`. Discussion here: https://github.com/yui/yui3/pull/37#r231932

15a4dc21cfbe636ea37aa46e76a1e415d38222ec 16-Nov-2011 Eric Ferraiuolo <eferraiuolo@gmail.com>

Improved Y.App's `serverRouting` attribute.

1b15958dc42791b503f2ea3dc7e1e84f7a3eb1ee 16-Nov-2011 Eric Ferraiuolo <eferraiuolo@gmail.com>

Added `serverRouting` flag to `Y.App` for more progressive-enhancement. `serverRouting` serves both as a flag to denote the server's capabilities and a way for the developer to configure the routing behavior of their application. When `serverRouting` is `true` and `html5` is `false` the app will route requests to the server resulting in a full-page reload. Updated the example app to set both `serverRouting` and `html5` to `false` because there really is no dynamic server to handle the full-path requests.

cb6971851982df3649e71c726f463f08dbc188e9 15-Nov-2011 Eric Ferraiuolo <eferraiuolo@gmail.com>

Added `serverRouting` flag to `Y.App` for more progressive-enhancement. `serverRouting` serves both as a flag to denote the server's capabilities and a way for the developer to configure the routing behavior of their application. When `serverRouting` is `true` and `html5` is `false` the app will route requests to the server resulting in a full-page reload. Updated the example app to set both `serverRouting` and `html5` to `false` because there really is no dynamic server to handle the full-path requests.

a6623128ec02f345245c6c2a2ce84393f4992a88 15-Nov-2011 Eric Ferraiuolo <eferraiuolo@gmail.com>

Y.App's `initializer` will now always call `_pjaxBindUI()`. This allows the basic pjax functionality for enhanced navigation to work even on non-HTML5 browsers, or when `html5` is forced to `false`, which falls back to using hash-hased URLs and routing.

93798ad0f871cd87e87a8e828fdb3e5942f73aaa 01-Nov-2011 Eric Ferraiuolo <eferraiuolo@gmail.com>

Fixed Y.App's `showView()` to correctly reference the view instance.

94440da5e5a52f2d96a9e177aca3719e3d3abe02 30-Oct-2011 Eric Ferraiuolo <eferraiuolo@gmail.com>

Y.App's `createView()` method just creates the view but does not render. Added some TODOs for additional features that are worth condsidering, these would improve the `showView()` API, but might be doing too much magic.

97e6926be8a34c14e8105f7e84b52292b10d5261 30-Oct-2011 Eric Ferraiuolo <eferraiuolo@gmail.com>

Y.App should only use an existing view if it should be preserved. Calls to `showView()` that specify a named view, should only use an existing view instance if the named view is configured to preserve its view instance; otherwise a new view instance should be created.

429c2ccef4171408a28930e1fef066e46f1a6ad1 22-Oct-2011 Eric Ferraiuolo <eferraiuolo@gmail.com>

Moved Y.App's transitions feature into an extension. A new submodule, app-transitions, has been created to contain the Y.App.Transitions extension. When this module is used, it will auto-mix itself onto the Y.App constructor. When auto-mixing features, it is important to leave the "base" class untouched. To achieve this, I followed @lsmith's method, which results in the following Y.App namespace: * Y.App.Base: The base constructor. * Y.App.Transitions: The app transitions extension. * Y.App: A subclass of Y.App.Base which extensions can auto-mix on to.

33583dee8962d0d7b705003e6760ed1dc9ee78ba 21-Oct-2011 Eric Ferraiuolo <eferraiuolo@gmail.com>

Applied @rgrove's suggestions to Y.App.

c381e317befa11be052f98a32b7b92f610ce6415 21-Oct-2011 Eric Ferraiuolo <eferraiuolo@gmail.com>

Updated Y.App's API docs, added TODOs, and added basic usage example. Cleaned up Y.App to work with the current state of master. Added a bunch more API docs to make it easier for a code review, and it has to be done at some point. Also I put in a bunch of TODOs in the code where things need to be hashed out more. Included a basic usage example of super, super small app that is uses Models, ModelLists, Views, and a Y.App instance to get URL handling, and fancy transitions.

bbc9aded3359080ffa613bf2b9d7383892c6cd23 20-Oct-2011 Eric Ferraiuolo <eferraiuolo@gmail.com>

First pass at view transitions for Y.App.

a29384cb408608bfafa89dfadfa4962f2ec15273 19-Oct-2011 Eric Ferraiuolo <eferraiuolo@gmail.com>

Updated Y.App to work with Y.Router and Y.View changes. Y.Controller -> Y.Router and both Y.Router and Y.View are now using attributes instead of prototype properties for main parts of their public APIs. Y.App now extends Y.Base because of an issue with using Y.Base-based extensions.

8e8d2ac3864e8e5d6e3ac5bc7258b97801d1e96b 17-Oct-2011 Eric Ferraiuolo <eferraiuolo@gmail.com>

Initial commit of Y.App.