-
-
Save abynim/04f88d5e4fe47118bfe3 to your computer and use it in GitHub Desktop.
var doc = context.document | |
var selectLayersOfType_inContainer = function(layerType, containerLayer) { | |
// Filter layers using NSPredicate | |
var scope = (typeof containerLayer !== 'undefined') ? [containerLayer children] : [[doc currentPage] children], | |
predicate = NSPredicate.predicateWithFormat("(className == %@)", layerType), | |
layers = [scope filteredArrayUsingPredicate:predicate]; | |
// Deselect current selection | |
[[doc currentPage] deselectAllLayers] | |
// Loop through filtered layers and select them | |
var loop = [layers objectEnumerator], layer; | |
while (layer = [loop nextObject]) { | |
[layer select:true byExpandingSelection:true] | |
} | |
log([layers count] + " " + layerType + "s selected") | |
} | |
// Select all Artboards in current page | |
selectLayersOfType_inContainer("MSArtboardGroup") | |
// Select all Text Layers in current page | |
//selectLayersOfType_inContainer("MSTextLayer") | |
// Types of layers that can be selected : | |
// MSLayerGroup | |
// MSShapeGroup | |
// MSShapePathLayer | |
// MSTextLayer | |
// MSArtboardGroup |
Hi !
This seems great and USEFULL
Will you create a version compatible with Sketch Toolbox ?
@rodnem I will as soon as I can find some time. Any other selection features that you think would make it more useful?
Hi, the command seems to not working anymore.
Here is my result "TypeError: doc. currentPage(). deselectAllLayers is not a function. (In 'doc. currentPage(). deselectAllLayers()', 'doc. currentPage(). deselectAllLayers' is undefined)
at selectLayersOfType_inContainer (/Users/A987SK/Library/Application Support/com.bohemiancoding.sketch3/Plugins/Untitled.sketchplugin:12:39)
at onRun (/Users/A987SK/Library/Application Support/com.bohemiancoding.sketch3/Plugins/Untitled.sketchplugin:23:31)
Script executed in 0.027800s"
does anyone have a solution ?
Thanks
AWESOME!!!