Skip to content

Commit 6e0f967

Browse files
committed
Print plugin issue with layouts with a name longer than 2 chars geosolutions-it#740
1 parent d41f067 commit 6e0f967

File tree

2 files changed

+30
-4
lines changed

2 files changed

+30
-4
lines changed

mapcomposer/app/static/externals/GeoExt/lib/GeoExt/plugins/PrintProviderField.js

+4-3
Original file line numberDiff line numberDiff line change
@@ -118,8 +118,7 @@ GeoExt.plugins.PrintProviderField = Ext.extend(Ext.util.Observable, {
118118
var printProvider = this.printProvider || field.ownerCt.printProvider;
119119
if(field.store === printProvider.layouts) {
120120

121-
122-
var cleanLayoutName = printProvider.layout.get('name').substr(0,2);
121+
var cleanLayoutName = printProvider.checkLayoutName(printProvider.layout.get('name'),false);
123122

124123
if(cleanLayoutName){
125124
var nr = printProvider.layouts.find("name", cleanLayoutName);
@@ -157,7 +156,9 @@ GeoExt.plugins.PrintProviderField = Ext.extend(Ext.util.Observable, {
157156
if(record) {
158157
switch(field.store) {
159158
case printProvider.layouts:
160-
var newLayoutName = record.get('name') + printProvider.layout.get('name').substr(2);
159+
var name = record.get('name');
160+
var layoutType = printProvider.checkLayoutName(printProvider.layout.get('name'),true);
161+
var newLayoutName = name + layoutType;
161162

162163
var nr = printProvider.fullLayouts.find("name", newLayoutName);
163164
var newLayout = printProvider.fullLayouts.getAt(nr);

mapcomposer/app/static/externals/geoext-ext/data/PrintProvider.js

+26-1
Original file line numberDiff line numberDiff line change
@@ -834,6 +834,31 @@ GeoExt.data.PrintProvider = Ext.extend(Ext.util.Observable, {
834834
}];
835835
}
836836
}
837-
}
837+
},
838838

839+
/** private: method[checkLayoutName]
840+
* :param currentLayout: ``string`` Current Layout in print plugin.
841+
* :param onChange: ``Boolean`` True if call by onFieldChange PrintProviderField function.
842+
*
843+
* Check correct layout name.
844+
*/
845+
checkLayoutName: function(currentLayout,onChange) {
846+
var layouts = [
847+
'_2_pages_compact_legend',
848+
'_2_pages_compact_legend_landscape',
849+
'_compact_legend',
850+
'_compact_legend_landscape',
851+
'_2_pages_legend',
852+
'_no_legend'
853+
];
854+
855+
for (var i = 0;i<layouts.length;i++){
856+
if(currentLayout.indexOf(layouts[i]) > 0){
857+
var index = currentLayout.indexOf(layouts[i]);
858+
return onChange ? layouts[i] : currentLayout.substr(0,index);
859+
}
860+
}
861+
862+
return '';
863+
}
839864
});

0 commit comments

Comments
 (0)