Changeset 27163


Ignore:
Timestamp:
04/10/13 12:45:37 (8 years ago)
Author:
sjm84
Message:

Enabled the functionality to go to the template that is called by xsl:call-template

Location:
main/trunk/greenstone3/web/interfaces/default/js
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • main/trunk/greenstone3/web/interfaces/default/js/debug_scripts.js

    r27153 r27163  
    549549            _vEditor.selectRootElement();
    550550
     551            _vEditor.setFileLocation(location);
     552            _vEditor.setFileName(fileName);
     553
    551554            if(!_isVisualEditor)
    552555            {
     
    604607            _greenbug.changeCurrentTemplate(location, fileName, nodename, namespace, name, match);
    605608        });
     609    }
     610   
     611    //Turns a filename into it's location (i.e. interface/site/collection) and name
     612    this.fileNameToLocationAndName = function(filepath)
     613    {
     614        var location;
     615        var fileName;
     616        //Use the filepath to work out where this file is from
     617        if(filepath.search(/[\/\\]interfaces[\/\\]/) != -1)
     618        {
     619            location = "interface";
     620            fileName = filepath.replace(/.*[\/\\]transform[\/\\]/, "");
     621        }
     622        else if(filepath.search(/[\/\\]sites[\/\\].*[\/\\]collect[\/\\].*[\/\\]etc[\/\\]/) != -1)
     623        {
     624            location = "collectionConfig";
     625            fileName = filepath.replace(/.*[\/\\]sites[\/\\].*[\/\\]collect[\/\\].*[\/\\]etc[\/\\]/, "");
     626        }
     627        else if(filepath.search(/[\/\\]sites[\/\\].*[\/\\]collect[\/\\].*[\/\\]transform[\/\\]/) != -1)
     628        {
     629            location = "collection";
     630            fileName = filepath.replace(/.*[\/\\]sites[\/\\].*[\/\\]collect[\/\\].*[\/\\]transform[\/\\]/, "");
     631        }
     632        else if(filepath.search(/[\/\\]sites[\/\\].*[\/\\]transform[\/\\]/) != -1)
     633        {
     634            location = "site";
     635            fileName = filepath.replace(/.*[\/\\]sites[\/\\].*[\/\\]transform[\/\\]/, "");
     636        }
     637       
     638        return {location:location, filename:fileName};
    606639    }
    607640
     
    668701                    var match = $(this).attr("match");
    669702
    670                     var location;
    671                     var fileName;
    672                     //Use the filepath to work out where this file is from
    673                     if(filepath.search(/[\/\\]interfaces[\/\\]/) != -1)
    674                     {
    675                         location = "interface";
    676                         fileName = filepath.replace(/.*[\/\\]transform[\/\\]/, "");
    677                     }
    678                     else if(filepath.search(/[\/\\]sites[\/\\].*[\/\\]collect[\/\\].*[\/\\]etc[\/\\]/) != -1)
    679                     {
    680                         location = "collectionConfig";
    681                         fileName = filepath.replace(/.*[\/\\]sites[\/\\].*[\/\\]collect[\/\\].*[\/\\]etc[\/\\]/, "");
    682                     }
    683                     else if(filepath.search(/[\/\\]sites[\/\\].*[\/\\]collect[\/\\].*[\/\\]transform[\/\\]/) != -1)
    684                     {
    685                         location = "collection";
    686                         fileName = filepath.replace(/.*[\/\\]sites[\/\\].*[\/\\]collect[\/\\].*[\/\\]transform[\/\\]/, "");
    687                     }
    688                     else if(filepath.search(/[\/\\]sites[\/\\].*[\/\\]transform[\/\\]/) != -1)
    689                     {
    690                         location = "site";
    691                         fileName = filepath.replace(/.*[\/\\]sites[\/\\].*[\/\\]transform[\/\\]/, "");
    692                     }
     703                    var file = _greenbug.fileNameToLocationAndName(filepath);
    693704
    694705                    var infoContainer = $("<option>");
     
    696707                    _elements.push(infoContainer);
    697708
    698                     addChangeEventToInfoContainer(infoContainer, fileName, location, nodename, namespace, name, match);
     709                    addChangeEventToInfoContainer(infoContainer, file.filename, file.location, nodename, namespace, name, match);
    699710
    700711                    if(name && name.length > 0)
  • main/trunk/greenstone3/web/interfaces/default/js/visual-xml-editor.js

    r27153 r27163  
    88    var _thisEditor = this;
    99    var _greenbug;
     10   
     11    //Store this file's location and name
     12    var _fileLocation;
     13    var _fileName;
    1014
    1115    //Stores what id we are up to (used to compare VEElements)
     
    97101        }
    98102    };
     103
     104    this.setFileLocation = function(fileLocation)
     105    {
     106        _fileLocation = fileLocation;
     107    }
     108   
     109    this.setFileName = function(fileName)
     110    {
     111        _fileName = fileName;
     112    }
    99113
    100114    //Get a connection to the DebugWidget
     
    12131227                addButton.button();
    12141228
    1215                 /*
    12161229                if(_xmlNode.tagName == "xsl:call-template" && _xmlNode.getAttribute("name").length > 0)
    12171230                {
     
    12251238                    visitTemplateOption.click(function()
    12261239                    {
    1227                         var template = "";
    1228                         template += '<xsl:template match="/">';
    1229                         template +=   '<calledTemplate>';
    1230                         var params = $(_xmlNode).children("xsl\\:with-param");
    1231                         if(!params.length)
    1232                         {
    1233                             template += '<xsl:call-template name="' + _xmlNode.getAttribute("name") + '"/>';
    1234                         }
    1235                         else
    1236                         {
    1237                             template += '<xsl:call-template name="' + _xmlNode.getAttribute("name") + '">';
    1238                             for(var i = 0; i < params.length; i++)
    1239                             {
    1240                                 var param = params.eq(i);
    1241                                 template += "<xsl:with-param";
    1242                                 for(var j = 0; j < param[0].attributes.length; j++)
    1243                                 {
    1244                                     var attr = param[0].attributes[j];
    1245                                     template += " " + attr.name + "=\"" + attr.value + "\"";
    1246                                 }
    1247                                 template += "/>";
    1248                             }
    1249                             template += '</xsl:call-template>';
    1250                         }
    1251                         template +=   '</calledTemplate>';
    1252                         template += '</xsl:template>';
    1253                         template = template.replace(" ", "%20");
    1254                        
    1255                         var url = document.URL;
    1256                         if(url.indexOf("?") == url.length - 1)
    1257                         {
    1258                             url += "ilt=" + template;
    1259                         }
    1260                         else if(url.indexOf("?") != -1)
    1261                         {
    1262                             url += "&ilt=" + template;
    1263                         }
    1264                         else
    1265                         {
    1266                             url += "?ilt=" + template;
    1267                         }
    1268                        
     1240                        var url = gs.xsltParams.library_name + "?a=g&rt=r&s=ResolveCallTemplate&s1.interfaceName=" + gs.xsltParams.interface_name + "&s1.siteName=" + gs.xsltParams.site_name + "&s1.collectionName=" + gs.cgiParams.c + "&s1.fileName=" + _fileName + "&s1.templateName=" + _xmlNode.getAttribute("name");
    12691241                        $.ajax(url)
    12701242                        .success(function(response)
    12711243                        {
    1272                             var xml = $.parseXML(response);
    1273                             var debug = $(xml).find("calledTemplate debug");
    1274 
    1275                             _greenbug.changeCurrentTemplate(debug[0].getAttribute("filename"), "template", "xsl", debug[0].getAttribute("name"), null);
    1276                             $(".gbTemplateContainer").css("border", "1px dashed #AAAAAA");
     1244                            var startIndex = response.indexOf("<requestedTemplate>") + ("<requestedTemplate>").length;
     1245                            var endIndex = response.indexOf("</requestedTemplate>");
     1246                           
     1247                            if(endIndex != -1)
     1248                            {
     1249                                var templateFileName = response.substring(startIndex, endIndex);
     1250                                var file = _greenbug.fileNameToLocationAndName(templateFileName);
     1251                                _greenbug.changeCurrentTemplate(file.location, file.filename, "template", "xsl", _xmlNode.getAttribute("name"), null);
     1252                            }
     1253                            else
     1254                            {
     1255                                _greenbug.changeCurrentTemplate("interface", "gslib.xsl", "template", "xsl", _xmlNode.getAttribute("name"), null);
     1256                            }
    12771257                        });
    12781258                    });
    12791259                }
    1280                 */
    12811260            }
    12821261
Note: See TracChangeset for help on using the changeset viewer.