Thank you Steve, Charlie, and Cameron for the information. I do think I've learned that you are correct - I should avoid using the built in CF front end tools if I would like to be able to upgrade in the future without major issues. That being said, I currently have a 316 line cfm file that I need to either refactor completely or try to fix temporarily. Along those lines, I'm not sure if the showEditWin function is the issue. I could be wrong, but for example when I modify the listener like so:

grid.addListener("rowdblclick", alert('wth'));

The double click still does nothing. Oddly enough, when the page is refreshed, I get the alert message even though I have not clicked on anything. A simple page refresh causes it to alert, and that confuses me. Yet, double clicking a row does not cause it to do anything. And yes, I do have the javascript console open in Firefox and I did check it out in Chrome. I don't see any 404s. Also, the rest of the script does function to a degree. For example, the Add button works and throws open the add player window. However, it has errors of it's own - for example form elements on that page aren't accessible anymore.

Here is the showEditWin function:

function showEditWin(grid,rowIndex,e) {
var record = grid.getStore().getAt(rowIndex); // Get player_id from the grid to pass on
            var data = record.get("PLAYER_ID");
            try {
                ColdFusion.Window.destroy('editPlayerWin');
            }
            catch(e) {
// do nothing, we are only deleting the window if it existed before.
            }
ColdFusion.Window.create('editPlayerWin', 'Edit Player', 'edit_player.cfm?player_id='+data,{refreshOnShow:true,center:true,height:490,width:590,modal:false,closable:true,draggable:true,resizable:true,initshow:true,minheight:200,minwidth:200});
            ColdFusion.Window.show('editPlayerWin');
        }

Part of my larger question regarding ExtJS revolves around the model I had to use to get this working. What I mean by that is that all of the JS code had to live on the update_players.cfm script while the actual Ext windows are forms contained on other files, like the edit_player.cfm file. The JS code on update_players.cfm could reference a form on the edit_player.cfm for form validation, etc. That seems to no longer work and that also confuses me. Granted, it could be due to other errors on the page, but I'll only be able to confirm that by fixing everything else first :)

On 3/5/2015 7:41 AM, Steve Drucker wrote:
As the resident Ext JS geek, there's nothing intrinsically wrong with the code that you posted. There might be a problem in the showEditWin() method that you did not post. In fact, my complete wild-ass guess would be that the showEditWin() method is calling an Ext JS window that needs to have a show() method run on it. (Ext JS windows do not autoshow).

I'll also say that Cameron is correct in his assessment. CFGrid (and all of the CF Ux constructs are...um..."not scottish"). You really should stick with a pure 3-tiered architectural approach.

Here's a few examples of using "pure" Ext JS front-end grids that we've developed @ Fig Leaf Software:

http://www.naccho.org/toolbox/
http://www.naccho.org/topics/modelpractices/search.cfm
http://webapps.figleaf.com/patientchart/#research/clinicaltrials
http://webapps.figleaf.com/patientchart/#research/hospitalstats
http://webapps.figleaf.com/spendingportal/


On Thu, Mar 5, 2015 at 8:01 AM, Charlie Arehart <char...@carehart.org <mailto:char...@carehart.org>> wrote:

    Mike, before folks might dig any further into this(and though this
    may already be an obvious thing you've checked), have you
    confirmed that the problem isn't something simpler, like the
    CFIDE/scripts folder being blocked or not there in the site you're
    using?

    You mention confirming there are no errors in the js console. Are
    you also using any sort of browser dev tool to see/confirm that
    there are no 404's on the page? If the needed JS could not be
    downloaded, it would of course throw no error in the JS console. :-)

    It's at least worth checking and letting us know. And if that's
    not it, then I'd say this is rather esoteric stuff. If you don't
    get an answer here you may want to raise it on the Adobe CF forums
    to get a wider audience, including (but not guaranteed to
    included) Adobe folks.

    Hope that's helpful.

    /charlie

    -----Original Message-----
    From: ad...@acfug.org <mailto:ad...@acfug.org>
    [mailto:ad...@acfug.org <mailto:ad...@acfug.org>] On Behalf Of
    Mike Staver
    Sent: Thursday, March 05, 2015 12:10 AM
    To: discussion@acfug.org <mailto:discussion@acfug.org>
    Subject: [ACFUG Discuss] ColdFusion 11 upgrade breaking ExtJS
    everywhere

    I wrote some code a few years back, and I have very little ExtJS
    coding experience outside of using what shipped with CF 9 & 10. I
    was disappointed to discover that most of one of my pages was
    broken via the upgrade to CF 11. I did some digging, and
    discovered that CF 11 ships with ExtJS 4.1. I don't remember what
    CF 10 was running, but this code used to work that is associated
    with a CFGrid object:

             // add the 2 custom buttons to the toolbar and init the
    grid listener
             function init() {
                 Ext.onReady(function () {
                     var grid = ColdFusion.Grid.getGridObject("Players");
                     var tbar = ColdFusion.Grid.getTopToolbar('Players');
                     tbar.add({xtype: 'button', text: "Add Player",
    handler:
    onAdd });
                     tbar.add({xtype: 'tbseparator'});
                     tbar.add({xtype: 'tbfill'});
                     tbar.addButton({xtype:'button', text:"Delete
    Player", handler:onDelete });
     ColdFusion.Grid.showTopToolbar('Players');
                     grid.addListener("rowdblclick", showEditWin);
                 })
             }

    The part that doesn't work is the listener for the double clicking
    of rows. Basically, nothing happens now when I double click a row.
    I've searched for 2 days now trying to wrap my head around the Ext
    documentation to understand what I'm doing wrong. No errors are
    thrown on the JS console, but nothing happens either. I've found this:

    http://docs.sencha.com/extjs/4.1.3/#!/api/Ext.grid.Panel
    <http://docs.sencha.com/extjs/4.1.3/#%21/api/Ext.grid.Panel>

    They show the addListener function, and to be honest, I'm not sure
    what has changed about it or what I'm currently doing wrong. Does
    anything obvious jump out to anyone?






--
Regards,
Steve Drucker
Founder / President
Fig Leaf Software
http://www.figleaf.com
http://training.figleaf.com
Acquia, Adobe, Brightcove, Ektron, Google, Paperthin, Sencha Consulting/Training/Sales/Support

"We've got you covered"

Fig Leaf Software is a Service-Disabled Veteran-Owned Small Business (SD-VOSB) on GSA Schedule

Reply via email to