JMichaelTX
1/15/2016 - 4:46 PM

[EN] Move a Tag to be a Child of a Parent Tag [JXA] - Evernote Mac, JavaScript for Automation

[EN] Move a Tag to be a Child of a Parent Tag [JXA] - Evernote Mac, JavaScript for Automation

/*
⩶⩶⩶⩶⩶⩶⩶⩶⩶⩶⩶⩶⩶⩶⩶⩶⩶⩶⩶⩶⩶⩶⩶⩶⩶⩶⩶⩶⩶⩶
  [EN] How to Make Tag a Child Tag of a Parent Tag [JXA]
⩶⩶⩶⩶⩶⩶⩶⩶⩶⩶⩶⩶⩶⩶⩶⩶⩶⩶⩶⩶⩶⩶⩶⩶⩶⩶⩶⩶⩶⩶

DATE:    Fri, Jan 15, 2016
AUTHOR:  JMichaelTX (in most forums)
           Find any bugs/issues or have suggestions for improvement?
           Post below, or contact me via PM or at blog.jmichaeltx.com/contact/
REF:     
⩶⩶⩶⩶⩶⩶⩶⩶⩶⩶⩶⩶⩶⩶⩶⩶⩶⩶⩶⩶⩶⩶⩶⩶⩶⩶⩶⩶⩶⩶
*/

var app = Application.currentApplication();
      app.includeStandardAdditions = true;
var ENapp = Application("Evernote");

var tagNameStr
var tagParStr

var strMsg     = "Enter the Tag You Want to Move Under a Parent Tag"
var strTitle   = "Move Tag"

app.beep()
var oAns = app.displayDialog(strMsg,
            {
              withTitle: strTitle,
              withIcon: "caution",
              defaultAnswer: ""
            })
tagNameStr = oAns.textReturned

strMsg = "Enter the PARENT Tag for Tag " + tagNameStr
app.beep()
var oAns = app.displayDialog(strMsg,
            {
              withTitle: strTitle,
              withIcon: "caution",
              defaultAnswer: ""
            })
tagParStr = oAns.textReturned

var tagObj       = ENapp.tags.byName(tagNameStr);
var tagParObj    = ENapp.tags.byName(tagParStr);

if (tagObj.exists()) {
    if (tagParObj.exists()) {
    
      //--- SET THE PARENT TAG ---
      tagObj.parent = tagParObj
      
      console.log('Tag: ' + tagObj.name() + '   Parent: ' + tagObj.parent.name())
      app.displayAlert ('SUCCESS! \nTag: ' + tagObj.name() 
        + ' \n    has been moved to a child tag of '
        + '\nParent Tag: ' + tagObj.parent.name()
        );
        
    } else {
      app.displayAlert('Parent Tag: ' + tagParStr + ' does NOT EXIST')
    } // END if (tagParObj.exists())
    
  } else {
    app.displayAlert('Tag: ' + tagNameStr + ' does NOT EXIST')
  } // END if (tagObj.exists())