Go To Homepage



Book Details
Practical Ext JS Projects with Gears book cover
  • By Frank Zammetti
  • ISBN13: 978-1-4302-1924-8
  • ISBN10: 1-4302-1924-6
  • 600 pp.
  • Published Jul 2009
  • Print Book Price: $44.99
  • eBook Price: $31.49



Errata Submission

If you think that you've found an error in Practical Ext JS Projects with Gears, please let us know about it. You will find any confirmed erratum below, so you can check if your concern has already been addressed.

Submit Errata
Practical Ext JS Projects with Gears (978-1-4302-1924-8)

Errata

Issue Author's Response
Chapter 3 [Source Code] OrganizerExt.js

The behavior of the list/icon view button seams to be reversed. ie: when viewing the list view, the button should display icon view and visa-versa.

This can be easily achieved with this code modification:
var newActiveItem = null;
if (inMode == "List View") {
newActiveItem = baseCardIndex;
} else {
newActiveItem = baseCardIndex + 4;
}
I agree with the submitters' analysis and suggested fix.
Chapter 3(Organizer) page 181

The first sentence reads: "The itemSelector attribute indicates the style class to apply to the selected item."

Actually, it indicates instead which of the items rendered by the template will be selectable. Try changing "div.thumb-wrap" for "span.x-editable" and only the captioning of the icons will be selectable (instead of the entire icon + caption area).

The style of the selected item though seems to remain the same.
Submitter is correct, the description is wrong. The description should be "itemSelector is a simple CSS selector (e.g. div.some-class or span:first-child) that will be used to determine what nodes this DataView will be working with."
Section 'Ext',

In the Ext.num() explanation, the ',5' is missing in the code.

We have:

ExtsOut += "Ext.num(12, 5): " + Ext.num(12) + "<br>";

instead of:

ExtsOut += "Ext.num(12, 5): " + Ext.num(12, 5) + "<br>";
Submitter is correct, the ,5 should appear in the call to Ext.num(), as it does in the string right before it.
In "An Overview of This Book" section, first paragraph we have '...broken this book down into eight chapters as follows:', but what follow is a list of 9 chapters. I think 'eight' should be replace by 'nine' ;-)

Bye.
Submitter is correct... the chapter count of the book changed near the end of its development, but the overview text was not changed accordingly. Good catch! (gee, as an author, I hope that's the WORST thing anyone finds! LOL)
Chapter 1.
Page 34.

In code example on this page, there is a syntax error at line 2:

url : "xxx", method : "post"

you forget comma symbol (",") after argument "method"
Submitter is correct, there should be a comma at the end of that line.
Ch2, p.112, pdf of p.138

nvm, I figure how to get it to work, this line:

"divElem.dd = new Ext.dd.DDProxy("president")"

should be:

"divElem.dd = new Ext.dd.DDProxy("president"+i)"

the next section showed the corrected syntax
Submitter is correct. The download bundle's code is correct, but the code listing in the box is incorrect, it does not include the +i in that line, and it should.
Chapter 2 p.112 of the book (or p.138 of the PDF)

this line:
"
// Register drop zone.
var dz2 = new Ext.dd.DropZone("destinationContainer";
"

needs a close ')'

... and the actual Drag and Drop example doesn't seem to work.
Submitter is correct, there is a missing closing parenthesis that should appear on that line.
Chapter 1, page 47

Figure 1-27 is the same as Figure 1-26. Figure 1-27 should show the results of the Ext.util.Format.ellipsis example.
I was the one who submitted this errata, the solution is included in the errata itself :)
In chapter 3, "Ext JS For a Busy Lifestyle: OrganizerExt", page 184, where it talks about the "About OrganizerExt" dialog... the code as printed will result in multiple nested panels each time the dialog is shown because the Window is created each time, but is only hidden when dismissed, not closed. The corrected code, which is the contents of the toolbar button's click handler, is:

var dialogAbout = Ext.getCmp("aboutWindow");
if (!dialogAbout) {
dialogAbout = new Ext.Window({
id : "aboutWindow",
applyTo : "dialogAbout", closable : true, modal : true,
width : 400, height : 320, minimizable : false,
resizable : false, draggable : false, shadowOffset : 8,
closeAction : "hide", buttons : [{
text : "Ok",
handler : function() {
dialogAbout.hide();
}
}]
});
}
dialogAbout.show(Ext.getDom("divSource"));

In short, instead of recreating the Window each time, it is first checked for to see if it already exists but is just hidden... if it is, it's simply shown, otherwise it's created fresh, which will only happen the first time the button is clicked.

FYI, I am the author of this book, so Apress personnel can just go ahead and consider this approved by me :)
I was the one who submitted this errata, the solution is included in the errata itself :)