Changeset 27163

Show
Ignore:
Timestamp:
10.04.2013 12:45:37 (7 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 modified

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