Skip to Main Content

APEX

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Interested in getting your voice heard by members of the Developer Marketing team at Oracle? Check out this post for AppDev or this post for AI focus group information.

Issues with SkillBuilders Modal Page 2.0.0 and APEX 5.0.4.00.12

Erick DiazSep 6 2016 — edited Oct 6 2016

Hi,

I exported an application from APEX 4.2.5.00.08 to 5.0.4.00.12 using Theme 24 – Cloudy, which heavily relies on the SkillBuilders Modal Page plug-in (Version 2.0.0). The problem I’m having is easily replicated on apex.oracle.com:

WORKSPACE: ED

USERNAME: TEST

PASSWORD: TEST

APPLICATION: 83933 - Theme 24 - SkillBuilders Modal Page Issue

On Chrome 53.0.2785.89 and Firefox 48.0.2, the plug-in seems to be working fine even though I can see the following error on the console:

Uncaught TypeError: r[0].style.removeAttribute is not a function     jquery.colorbox-min.js:4

My real concern is regarding Internet Explorer 11, which is the standard browser on the company. The first time I click on the button, a "broken" box opens up on the upper left corner of the screen and I see the following error on the console:

SCRIPT65535: Unexpected call to method or property access.     File: jquery-2.1.3.min.js, Line: 3, Column: 5660

After I click the button a second time, then the modal opens up correctly.

In addition to set "Embed in Frames" to "Allow" I had to set the "Include jQuery Migrate" option to "Yes" (under User Interface >> JavaScript), otherwise I would have to click the button three times to open the modal page and this additional message shows up on the console:

SCRIPT438: Object doesn't support property or method 'live'     File: jquery.colorbox-min.js, Line: 4, Column: 2651

Any ideas how to fix this?

Thank you,

Erick

This post has been answered by Kofi on Sep 8 2016
Jump to Answer

Comments

NickR2600-Oracle

Hi Carol,

    I don't mind the questions, not at all.  One of the benefits of the game is that it spurs people have conversations about Java.  I'm glad you're poking around the code and being curious.  And if any lesson were to give people trouble, it would be the final lesson.

1) You could initialize the transactions field to 0 from the Account constructor.  However, it's not necessary.  If a number field (like an int or double) isn't explicitly given an initial value, its value becomes 0.  In other words, it defaults to 0.  Correct, transactions would be an instance variable.

2) NewFXMain is where the ArrayList is first created and where account instances are added to that list.  But while that's going on, the ButtonController class has no idea that particular ArrayList even exists!  All it knows is that it'll have to work with some sort of ArrayList.  A buttonController instance wouldn't be able to work with an ArrayList unless we explicitly tell it which ArrayList instance we're talking about.  This line of code from NewFXMain creates a ButtonController instance named buttonController and tells it which ArrayList to use:

ButtonController buttonController = new ButtonController(accountList, ownerSearchBar, numberSearchBar, btn1, btn2, btn3, btn4, btn5, btn6, btn7, btn8);

The ButtonController class saves this ArrayList as a field.  The variable used to save this information is coincidentally is also called accountList.  We could name the variable whatever we want, and it will still point to the same ArrayList created in NewFXMain.

Nick

3462211

Thanks a lot for your explanation Nick.  For question 1), I should have copy-typed your code (please see below) or worded my question a bit better.  I think I meant to ask:  Is there any particular reason you choose to initialize the instant variable transactions in the field declaration area instead of constructor?

public abstract class Account {

    //Fields

    protected String accountOwner;

    protected double balance;

    protected int accountNum;

    protected int transactions = 0;

    protected static int nextAccountNum = 0;

   

   

    //Constructor

    public Account(String o, double b){

        accountOwner = o;

        balance = b;

        setAccountNumber();

        System.out.println("New Account:");

        printDetails();

    }

Carol

NickR2600-Oracle

Hmm... I may have been thinking "For every field which doesn't require a value to be passed to the constructor, I'll set its initial value where the field is declared." 

Nick

1 - 3
Locked Post
New comments cannot be posted to this locked post.

Post Details

Locked on Nov 3 2016
Added on Sep 6 2016
12 comments
2,905 views