Task #47177

Update Ember to 1.0

Added by Sebastian Kurfuerst over 2 years ago. Updated about 2 years ago.

Status:Resolved Start date:2013-04-13
Priority:Must have Due date:
Assigned To:Sebastian Kurfuerst % Done:

100%

Category:JavaScript
Target version:Base Distribution - 1.0 beta 1

Related issues

related to Base Distribution - Work Package #44971: TYPO3 Neos API Definition Accepted 2013-06-30

Associated revisions

Revision bfd41513
Added by Sebastian Kurfuerst about 2 years ago

[FEATURE] Update to Ember.js 1.0.0-RC3 and various fixes

This is a big cleanup change which updates our code base to Ember 1.0.0 RC3
and fixes various minor issues which have been found during the update and
the tests afterwards.

We updated the following Libraries:

  • Ember.js from 0.9.8 to 1.0.0 RC3
  • Handlebars to 1.0.0 RC3
  • jQuery from 1.7.2 to 1.9.1

Adjustments to Changed Ember ============================

  • .create({...}) cannot be used to set up computed properties, so that's
    why we use .extend({...}).create() now

    Before: Object.create({...})
    After: Object.extend({...}).create()

  • .getPath()/.setPath() is deprecated, we can now use .get()/.set() directly
    in these cases.

    Before: this.getPath(...)
    After: this.get(...)

  • Computed Properties are now cacheable() by default; if really an uncached
    computed property is needed, .volatile() should be added. Not all
    .cacheable() annotations have been removed yet.

    Before: function() { I am cacheable }.property().cacheable()
    function() { I am NOT cacheable }.property()

    After: function() { I am cacheable }.property()
    function() { I am NOT cacheable }.property().volatile()

  • If Handlebars Templates want to refer to variables declared in the view,
    they now explicitely need to reference them with "view.*".

    Before: {{myVar}}
    After: {{view.myVar}}

  • ember_assert has been refactored to Ember.assert

    Before: ember_assert("foo")
    After: Ember.assert("foo")

  • Ember.Button has been deprecated. That's why we do not extend Ember.Button
    anymore, but classes like T3.Content.UI.ButtonDialog or T3.Content.UI.Button
    directly implement the button-functionality now.

    TODO: This is definitely an area which could be more cleaned up later on.

Refactorings ============

  • Node Removal Dialog handling was re-written: We completely got rid of
    T3.Common.Dialog as that was the only place where that class was still used.
  • The "toolbar" View behavior (used for the top and bottom toolbars) has been
    completely changed. Beforehand, it was configured using an array of "left"
    and "right" views; but this imposed various problems with the new Ember.js.

    That's why both toolbars now have separate templates, directly adding the
    wanted sub-views using the {{view ...}} Handlebars helper. This whole change
    makes the toolbars better understandable and in-line with default Ember coding
    practices.

  • Streamlined the way the page tree is loaded: Before, it was using a collection
    with a single view inside, now we directly use the {{view}} helper in the
    template.

Minor Features / Bugfixes =========================

  • If Page Tree is opened and you navigate to another page using the website's
    menu, this was updating the currently highlighted page in the tree. This
    has been fixed.
  • Fixed Drag/Drop of pages across levels and multiple times, making sure to
    update the tree node's identity and URL correctly.
  • Made sure that clicking a node in the page tree does not trigger a full page
    reload.
  • Image Upload in Inspector: hide "crop" button if no image has been uplaoded
    yet (directly after creating new "Image" element).

Testing =======

I tested the following areas:

  • Basic content editing: Creating / Deleting / Copying / Pasting / Hiding Content Elements
  • Page Tree: Moving / Creating / Deleting / Renaming pages
  • Inspect Tree: Navigation / Moving
  • Breadcrumb
  • Inspector: editing, error handling, image upload
  • Launcher panel
  • Toggling page tree & inspector panel
  • Publish page
  • Fullscreen toggling

Resolves: #47177
Change-Id: I44a65287b6aa581d97219c91eddcec17b4df05cb

Revision 550fe0f5
Added by Aske Ertmann about 2 years ago

[BUGFIX] Options in select boxes in inspector missing

This was introduced with the Ember update to RC3.

Change-Id: Iea45403dbf7dd1de15d061c1357263cfa88432a3
Related: #47177

History

#1 Updated by Gerrit Code Review over 2 years ago

Patch set 1 for branch master has been pushed to the review server.
It is available at https://review.typo3.org/19886

#2 Updated by Gerrit Code Review over 2 years ago

Patch set 2 for branch master has been pushed to the review server.
It is available at https://review.typo3.org/19886

#3 Updated by Gerrit Code Review over 2 years ago

Patch set 3 for branch master has been pushed to the review server.
It is available at https://review.typo3.org/19886

#4 Updated by Gerrit Code Review over 2 years ago

Patch set 4 for branch master has been pushed to the review server.
It is available at https://review.typo3.org/19886

#5 Updated by Gerrit Code Review over 2 years ago

Patch set 5 for branch master has been pushed to the review server.
It is available at https://review.typo3.org/19886

#6 Updated by Gerrit Code Review over 2 years ago

Patch set 6 for branch master has been pushed to the review server.
It is available at https://review.typo3.org/19886

#7 Updated by Gerrit Code Review over 2 years ago

Patch set 7 for branch master has been pushed to the review server.
It is available at https://review.typo3.org/19886

#8 Updated by Gerrit Code Review over 2 years ago

Patch set 8 for branch master has been pushed to the review server.
It is available at https://review.typo3.org/19886

#9 Updated by Gerrit Code Review over 2 years ago

Patch set 9 for branch master has been pushed to the review server.
It is available at https://review.typo3.org/19886

#10 Updated by Gerrit Code Review about 2 years ago

Patch set 10 for branch master has been pushed to the review server.
It is available at https://review.typo3.org/19886

#11 Updated by Gerrit Code Review about 2 years ago

Patch set 11 for branch master has been pushed to the review server.
It is available at https://review.typo3.org/19886

#12 Updated by Sebastian Kurfuerst about 2 years ago

  • Status changed from Accepted to Resolved
  • % Done changed from 0 to 100

Also available in: Atom PDF