Skip to content

Commit

Permalink
v4.1
Browse files Browse the repository at this point in the history
- Fixed regression with Layer exports
- Fixed issue with filenames including ":" character (and other illegal characters)
- Fixed issue with exporting layers through Element panel
  • Loading branch information
TomByrne committed Oct 20, 2017
1 parent e95ef85 commit be260e2
Show file tree
Hide file tree
Showing 4 changed files with 64 additions and 5 deletions.
11 changes: 10 additions & 1 deletion SmartCore/ElementPanel.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -201,7 +201,16 @@
this.baseSelectedPaths.splice(index, 1);
}
item.image = File(pack.directory+"/icons/checkbox_"+(item.selected?"":"un")+"selected.png");
item.text = pageItem.name == "" ? (isLayer ? "Layer: " : "Element: ") + path : pageItem.name ;

if(pageItem.name == ""){
var type = pageItem.typename;
if(type.lastIndexOf("Item") == type.length - 4){
type = type.substr(0, type.length - 4);
}
item.text += type + ": " + path;
}else{
item.text = pageItem.name;
}

var index = this.indexOf(this.baseOpenPaths, path);
var expanded = false;
Expand Down
36 changes: 36 additions & 0 deletions SmartCore/ExportToolBuilder.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -257,11 +257,16 @@
if(this.symbolPanel) this.symbolPanel.onSelectedChanged();

this.tabPanel.setSelection(exSettings.selectedTab);

this.finishedBuilding = true;
this.updatePreviewList();

this.toolPanel.show();
},


updatePreviewList:function(){
if(!this.finishedBuilding) return;
try{
this.bundleList = [];
this.hasBoundErrorRef = {};
Expand All @@ -282,6 +287,37 @@
var hasExports = pack.SymbolBundler.add(this.docRef, this.bundleList, this.exportSettings, "symbol");
this.formatPanel.setPatternActive("symbol", hasExports);
}
var windowsFS = (Folder.fs=="Windows");
if(windowsFS){
for(var i=0; i<this.bundleList.length; i++){
var bundle = this.bundleList[i];
for(var j=0; j<bundle.items.length; j++){
var item = bundle.items[j];
var path = item.fileName;
path = path.split(":").join("-");
path = path.split("|").join("-");
path = path.split("?").join("-");
path = path.split("*").join("-");
path = path.split("<").join("-");
path = path.split(">").join("-");
path = path.split('"').join("'");
path = path.split(':').join(";");
item.fileName = path;
}
}
}else{
for(var i=0; i<this.bundleList.length; i++){
var bundle = this.bundleList[i];
for(var j=0; j<bundle.items.length; j++){
var item = bundle.items[j];
var path = item.fileName;
if(path.charAt(0) == ".") path = "_" + path.substr(1);
path = path.split(":").join("-");
item.fileName = path;
}
}
}

}catch(e){
alert("Error creating bundles:\n"+e);
}
Expand Down
17 changes: 13 additions & 4 deletions SmartLayerExport/LayerBundler.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,17 @@

var layer = docRef.layers[layI];

var element = LayerBundler.findElement(layI + 1, layer.pageItems, path);
if(element == null) continue;
var layerPath = (layI + 1) + "";

var element;
var searchPath;
if(layerPath == path){
element = layer;
}else{
searchPath = path;
element = LayerBundler.findElement(layerPath, layer.pageItems, path);
if(element == null) continue;
}

var bundleMap = {};

Expand All @@ -46,7 +55,7 @@
var format = formatSettings.formatRef;


var bundle = this.getBundle(bundleMap, artI, layI, formatSettings.innerPadding, formatSettings.scaling, formatSettings.trimEdges, format.copyBehaviour, formatSettings.fontHandling=="outline", exportSettings.ignoreOutOfBounds_elements, formatSettings.ungroup, j==0, j==elementPaths.length-1, layerVis, formatSettings.colorSpace, path);
var bundle = this.getBundle(bundleMap, artI, layI, formatSettings.innerPadding, formatSettings.scaling, formatSettings.trimEdges, format.copyBehaviour, formatSettings.fontHandling=="outline", exportSettings.ignoreOutOfBounds_elements, formatSettings.ungroup, j==0, j==elementPaths.length-1, layerVis, formatSettings.colorSpace, searchPath);
var elemName = (element.name || path);
var name = LayerBundler.makeElemFileName(formatSettings.patterns[patternName], docRef.fullName.name, formatSettings.formatRef.ext, artI, artboard.name, layI, layer.name, path, elemName);
var item = new pack.ExportItem(formatSettings, name);
Expand Down Expand Up @@ -102,7 +111,7 @@
var format = formatSettings.formatRef;


var bundle = this.getBundle(bundleMap, artI, layI, null, formatSettings.innerPadding, formatSettings.scaling, formatSettings.trimEdges, format.copyBehaviour, formatSettings.fontHandling=="outline", exportSettings.ignoreOutOfBounds_layers, formatSettings.ungroup, j==0, j==layerInd.length-1, layerVis, formatSettings.colorSpace);
var bundle = this.getBundle(bundleMap, artI, layI, formatSettings.innerPadding, formatSettings.scaling, formatSettings.trimEdges, format.copyBehaviour, formatSettings.fontHandling=="outline", exportSettings.ignoreOutOfBounds_layers, formatSettings.ungroup, j==0, j==layerInd.length-1, layerVis, formatSettings.colorSpace);
var item = new pack.ExportItem(formatSettings, LayerBundler.makeFileName(formatSettings.patterns[patternName], docRef.fullName.name, formatSettings.formatRef.ext, artI, artboard.name, layI, layer.name));
item.names = ["Artboard "+(artI+1), "Layer "+(layI+1)];
bundle.items.push(item);
Expand Down
5 changes: 5 additions & 0 deletions org.tbyrne.smartExport.mxi
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,11 @@ To use, go to File > Scripts > Smart Layer Export
<h3>Change Log:</h3>
<h3>14/10/2017 - v4.1</h3>
- Fixed regression with Layer exports
- Fixed issue with filenames including ":" character (and other illegal characters)
- Fixed issue with exporting layers through Element panel
<h3>14/10/2017 - v4.0</h3>
- Added Element level exports
- Merged Symbol export into SLE
Expand Down

0 comments on commit be260e2

Please sign in to comment.