joetopshot (12) [Avatar] Offline
#1
The following comments are relevant to beta 9 of the book...

I just completed reading chapter 11 and implementing the code described therein. It was, I must say, a lot of fun. A few general comments first: Discussing the "sencha" command was excellent. Your chapter 11.1.3 on obtaining Sencha Cmd was excellent. Until I read that chapter, I had been using version 2 of that code (the beta code that is no longer supported). I had never gotten it working and had been most frustrated. It is important to install each of the items described in section 11.1.3. I don't think you state that strongly enough.

section 11.4.1 -- You should indicate which directory you should be in when executing the 'sencha' command to create the Contact model file. I had to guess where i needed to be (top level directory of the project itself).

section 11.4.3, listing 11.5 -- the Chrome Javascript console displays a warning message if you don't include 'App.view.main' in the 'requires' section in addition to 'Ext.MessageBox'. Not sure how important that is.

section 11.4.7 -- in the text it is mentioned that two methods are defined: showContactDetails and onMainBackButton. However, in listing 11.9, there is only method, showContactDetails.

section 11.4.10 -- near the end of the section, you indicate that the call to me.add() should be modified in app/profile.Phone.js. This is incorrect. The change should be in file app/view/phone/Main.js.

section 11.4.11 -- there are typos in paragraph "The onContactSelect method #3 is defined as a means [to] call the showContac[t]Details#5 member...". Note the bracketed text I entered in the quote.

section 11.4.12 -- typo in code in 11.12: in method onMainBackButton, instead of main=me.getMain(), should be main=me.getMainView().

section 11.4.12 -- in paragraph that starts with "The application workflow for the Phone profile...", there are problems with the second sentence. It needs to be redone (you probably want something like "...we need to do is to look at how this application appears in a tablet").

section 11.4.12 -- in second from last paragraph, last sentence, "inject a save button" (missing the 'a').

Section 11.5 -- header, missing "of" as in "Building the Tablet profile version OF our application.

Section 11.5 -- When the final application loads, I get a console warning saying the following:

[WARN][Anonymous] [Ext.Loader] Synchronously loading 'Eruv.view.tablet.Main'; consider adding 'Eruv.view.tablet.Main' explicitly as a require of the corresponding class

I am able to remove the warning by adding the following code to file controller/tablet/Main.js:

requires: [
'App.view.tablet.Main'
],

Like my previous comment above, I don't know how significant the warning is. I just don't like warnings.
am2605 (8) [Avatar] Offline
#2
Re: Chapter 11 Bugs, etc
> section 11.4.10 -- near the end of the section, you
> indicate that the call to me.add() should be modified
> in app/profile.Phone.js. This is incorrect. The
> change should be in file app/view/phone/Main.js.

This one (at least - haven't come across the others, but that's not to say they're fixed) still seems to be an issue on p263 of the final PDF.
am2605 (8) [Avatar] Offline
#3
Re: Chapter 11 Bugs, etc
I've also found that using 2.2.0 I needed to explicitly add App.view.ContactsList and App.view.ContactDetails into the requirest section of app.js, eg:

requires: [
'Ext.MessageBox',
'App.view.ContactsList',
'App.view.ContactDetails'
],


Not sure why? Is this something that works different in 2.2.0 than the version used in the sample code?
scriptonian (12) [Avatar] Offline
#4
Re: Chapter 11 Bugs, etc
yea this one has been a little pain. only way i contactdetails to add before doing a click on the list is

me.add({

xtype : 'fieldset',
title : 'Contact details',

defaults : {
xtype : 'textfield',
labelWidth : '30%',
autoCapitalize : true
},

items : [
{
name : 'firstname',
label : 'First'
},
{
name : 'lastname',
label : 'Last'
},
{
name : 'phone',
label : 'Phone'
}
]

});

doing the following(below) does NOT work for contactdetails however it works for contactlist

me.add({
xtype : 'contactdetails'
});
scriptonian (12) [Avatar] Offline
#5
Re: Chapter 11 Bugs, etc
finally found out the problem...the contact details form will NOT display is the scrollable property is not set. if you are having that problem, be sure to set it.