Plug-In: Save Shape Text to File
This action will save the text contents of the selected shape to a plain text file on disk.
On macOS systems, the option to open the saved file will be presented.
Return to: OmniGraffle Plug-In Collection
Save Shape Text to File
/*{
"type": "action",
"targets": ["omnigraffle"],
"author": "Otto Automator",
"identifier": "com.omni-automation.og.shape-text-to-file",
"version": "1.3",
"description": "This plug-in will save the text contents of the selected shape to a file on disk.",
"label": "Save Shape Text to File",
"shortLabel": "Text to File",
"paletteLabel": "Text to File",
"image": "note.text"
}*/
(() => {
const action = new PlugIn.Action(async function(selection, sender){
selection = document.windows[0].selection
shape = selection.solids[0]
shapeText = shape.text
data = Data.fromString(shapeText)
wrapper = FileWrapper.withContents('Shape Text.txt', data)
filesaver = new FileSaver()
urlObj = await filesaver.show(wrapper)
console.log(urlObj.string)
if (Device.current.type === DeviceType.mac){
alert = new Alert("Text Saved", urlObj.string)
alert.addOption("Done")
alert.addOption("Open File")
buttonIndex = await alert.show()
if(buttonIndex === 1){urlObj.open()}
}
});
action.validate = function(selection, sender){
selection = document.windows[0].selection
if (selection.solids.length === 1){
return (selection.solids[0].text.length > 0)
}
return false
};
return action;
})();