Got it. Thank You!
----- Original Message -----
From: "Daniel Wagner" <[email protected]>
To: [email protected]
Sent: Monday, April 29, 2013 1:58:52 AM
Subject: Re: [qooxdoo-devel] Creating new form for tabs, getting function not
found error
Hi Harlan,
looks like a simple typo:
this.__clearButton = new qx.ui.form.Button("Clear");
that should be qx.ui.mobile.form.Button("Clear");
Regards,
Daniel
On 28.04.2013 18:13, Harlan H. Bloom wrote:
> Hello Everyone,
> I hope your weekend is going well, or went well if you're reading this on
> your Monday!
>
> I'm trying to create forms that will work with Tabs, and Yes, I am
> following the Tab.js example that ships with Qooxdoo. I was able to get the
> example Form.js file to work with the Tab.js example. So I figured it was
> time to get my own forms going.
>
> Here is the Form.js example that I am following:
>
> https://github.com/qooxdoo/qooxdoo/blob/master/application/mobileshowcase/source/class/mobileshowcase/page/Form.js
>
> Here are the errors that I'm getting in Chrome console log:
> begin ContactInfoView _initialize() openemergencymobile.js:209
> begin ContactInfoView __createForm() openemergencymobile.js:209
> end ContactInfoView __createForm() openemergencymobile.js:209
> ContactInfoView _initialize() after getContent().add()
> openemergencymobile.js:209
> ContactInfoView _initialize() submit button openemergencymobile.js:209
> ContactInfoView _initialize() clear button openemergencymobile.js:209
> Uncaught TypeError: Object #<HTMLDivElement> has no method 'add'
> openemergencymobile.js:209
> Uncaught TypeError: Object [object Object] has no method 'isRootWidget'
> openemergencymobile.js:209
>
> I'm getting similar errors in Firefox's console log also.
>
> Here is my own form:
> // License: AGPL
> // Copyright: Harlan H. Bloom, 2001-2013
> qx.Class.define("openemergencymobile.view.ContactInfoView",
> {
> extend : qx.ui.mobile.page.NavigationPage,
>
> construct : function()
> {
> this.base(arguments);
> this.setTitle("Contact Info");
>
> }, // end construct()
>
> members :
> {
> __clearButton : null,
> __contactTypeCombo : null,
> __form : null,
> __numberEmailText : null,
> __submitButton : null,
>
> // overridden
> _initialize : function()
> {
> console.log("begin ContactInfoView _initialize()");
> this.base(arguments);
> this.__form = this.__createForm();
> this.getContent().add(new
> qx.ui.mobile.form.renderer.Single(this.__form));
> console.log(" ContactInfoView _initialize() after getContent().add()");
>
> // Submit & Clear Buttons
> console.log(" ContactInfoView _initialize() submit button");
> this.__submitButton = new qx.ui.mobile.form.Button("Submit");
> this.__submitButton.addListener("tap", this._onSubmitButtonTap,
> this);
> this.__submitButton.setEnabled(false);
> this.getContent().add(this.__submitButton);
>
> console.log(" ContactInfoView _initialize() clear button");
> this.__clearButton = new qx.ui.form.Button("Clear");
> this.__clearButton.addListener("tap", this._onClearButtonTap, this);
> this.__clearButton.setEnabled(false);
> this.getContent().add(this.__clearButton);
>
> console.log("end ContactInfoView _initialize()");
> }, // end initialize()
>
>
> /**
> *
> */
> __createForm : function()
> {
> console.log("begin ContactInfoView __createForm()");
> var form = new qx.ui.mobile.form.Form();
> var validationManager = form.getValidationManager();
>
> // Number/Email address
> this.__numberEmailText = new
> qx.ui.mobile.form.TextField().set({placeholder:"Number/Email"});
> this.__numberEmailText.setRequired(true);
>
> form.addGroupHeader("Contact Info");
> form.add(this.__numberEmailText, "Number/Email");
>
> var contactTypeModel = new qx.data.Array(["Home Phone", "Cell
> Phone", "Work Phone", "Home Email", "Work Email"]);
> var contactTypeLabel = "Type";
> this.__contactTypeCombo = new qx.ui.mobile.form.SelectBox();
> this.__contactTypeCombo.set({required: true});
> this.__contactTypeCombo.set({placeholder:"Unknown"});
> this.__contactTypeCombo.setClearButtonLabel("Clear");
> this.__contactTypeCombo.setNullable(true);
> this.__contactTypeCombo.setDialogTitle(contactTypeLabel);
> this.__contactTypeCombo.setModel(contactTypeModel);
> this.__contactTypeCombo.setSelection(null);
>
> form.add(this.__contactTypeCombo, contactTypeLabel);
>
> console.log("end ContactInfoView __createForm()");
> return (form);
> }, // end __createForm()
>
> /**
> * Event handler for Submit button.
> *
> * @param evt {qx.event.type.Tap} The tap event.
> */
> _onSubmitButtonTap : function()
> {
> if(this.__form.validate())
> {
> var result = [];
> result.push(this.__numberEmailText.getValue());
> result.push(this.__contactTypeCombo.getValue());
> } else {
> // Scroll to invalid field.
> var invalidItems = this.__form.getInvalidItems();
> this.scrollToWidget(invalidItems[0].getLayoutParent(), 500);
> }
> }, // end _onSubmitButtonTap()
>
> /**
> * Event handler for Clear button.
> *
> * @param evt {qx.event.type.Tap} The tap event.
> */
> _onClearButtonTap : function()
> {
> this.__numberEmailText.setValue("");
> this.__contactTypeCombo.setValue("");
> } // end _onClearButtonTap()
>
> } // end members
> });
>
> I'm sorry this so long, but I have no idea where to find the error,
> especially since I used Form.js as the pattern for my form.
>
> Thank You for your time,
>
> Harlan...
>
>
> ------------------------------------------------------------------------------
> Try New Relic Now & We'll Send You this Cool Shirt
> New Relic is the only SaaS-based application performance monitoring service
> that delivers powerful full stack analytics. Optimize and monitor your
> browser, app, & servers with just a few lines of code. Try New Relic
> and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_apr
> _______________________________________________
> qooxdoo-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
>
>
------------------------------------------------------------------------------
Try New Relic Now & We'll Send You this Cool Shirt
New Relic is the only SaaS-based application performance monitoring service
that delivers powerful full stack analytics. Optimize and monitor your
browser, app, & servers with just a few lines of code. Try New Relic
and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_apr
_______________________________________________
qooxdoo-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
------------------------------------------------------------------------------
Try New Relic Now & We'll Send You this Cool Shirt
New Relic is the only SaaS-based application performance monitoring service
that delivers powerful full stack analytics. Optimize and monitor your
browser, app, & servers with just a few lines of code. Try New Relic
and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_apr
_______________________________________________
qooxdoo-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel