Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Variables used by Scriptable.
- // These must be at the very top of the file. Do not edit.
- // icon-color: blue; icon-glyph: magic;
- let now = new Date()
- let datePick = new DatePicker()
- //setup the date picker default date
- datePick.initialDate = new Date(now.getFullYear(),now.getMonth(),now.getDate(),00,00)
- let alerter
- createAlert('Next, please pick the start date of the timeframe to look for events',0)
- await alerter.present()
- let sourceDateStart = await datePick.pickDate()
- createAlert('Next, please pick the end date of the timeframe to look for events',0)
- await alerter.present()
- let sourceDateEnd = await datePick.pickDate()
- sourceDateEnd = new Date(sourceDateEnd.getFullYear(),sourceDateEnd.getMonth(),sourceDateEnd.getDate(),23,59)
- createAlert('Next, please the number of days to shift the events that are found (i.e. +/- x number of days',1)
- await alerter.present()
- let dateShift = alerter.textFieldValue(0)
- log(`dateShift value is ${dateShift}`)
- log(`sourceDateStart is ${sourceDateStart}\nsourceDateEnd is ${sourceDateEnd}`)
- let cals = await Calendar.presentPicker(false)
- //log(cals)
- let events = await CalendarEvent.between(sourceDateStart, sourceDateEnd,cals)
- log(events)
- events.forEach((event) => {
- event.removeAllRecurrenceRules()
- let destDate = event.startDate
- log(`destDate is ${destDate}`)
- destDate.setHours(event.startDate.getHours())
- destDate.setMinutes(event.startDate.getMinutes())
- destDate.setDate(Number(event.startDate.getDate()) + Number(dateShift))
- event['startDate']=destDate
- destDate.setHours(event.endDate.getHours())
- destDate.setMinutes(event.endDate.getMinutes())
- destDate.setDate(Number(event.endDate.getDate()) + Number(dateShift))
- event['endDate'] = destDate
- log(`destDate is ${destDate}`)
- log(`event ${event.title} now at ${event['startDate']} and ending at ${event['endDate']}`)
- event.addRecurrenceRule(RecurrenceRule.weekly(1))
- event.save()
- })
- function createAlert(prompt,textEntryField){
- alerter=new Alert()
- alerter.message = prompt
- alerter.addAction("OK")
- if(textEntryField==1)alerter.addTextField('Days to shift events', '')
- }
Advertisement
Add Comment
Please, Sign In to add comment