Skip to content

Commit

Permalink
feat: ✨ split into three functions: complete, drop, leave selected
Browse files Browse the repository at this point in the history
  • Loading branch information
ksalzke committed Aug 5, 2023
1 parent ad114c4 commit 7be0222
Show file tree
Hide file tree
Showing 13 changed files with 182 additions and 63 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -39,9 +39,14 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
return __awaiter(this, void 0, void 0, function () {
var lib;
return __generator(this, function (_a) {
lib = PlugIn.find('com.KaitlinSalzke.followUpTask', null).library('followUpTaskLib');
lib.addFollowUpTask(selection.tasks[0]);
return [2 /*return*/];
switch (_a.label) {
case 0:
lib = PlugIn.find('com.KaitlinSalzke.followUpTask', null).library('followUpTaskLib');
return [4 /*yield*/, lib.addFollowUpTask(selection.tasks[0])];
case 1:
_a.sent();
return [2 /*return*/];
}
});
});
});
Expand Down
58 changes: 58 additions & 0 deletions followUpTask.omnifocusjs/Resources/completeAndAdd.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __generator = (this && this.__generator) || function (thisArg, body) {
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
function verb(n) { return function (v) { return step([n, v]); }; }
function step(op) {
if (f) throw new TypeError("Generator is already executing.");
while (_) try {
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
if (y = 0, t) op = [op[0] & 2, t.value];
switch (op[0]) {
case 0: case 1: t = op; break;
case 4: _.label++; return { value: op[1], done: false };
case 5: _.label++; y = op[1]; op = [0]; continue;
case 7: op = _.ops.pop(); _.trys.pop(); continue;
default:
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
if (t[2]) _.ops.pop();
_.trys.pop(); continue;
}
op = body.call(thisArg, _);
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
}
};
(function () {
var action = new PlugIn.Action(function (selection, sender) {
return __awaiter(this, void 0, void 0, function () {
var lib;
return __generator(this, function (_a) {
switch (_a.label) {
case 0:
lib = PlugIn.find('com.KaitlinSalzke.followUpTask', null).library('followUpTaskLib');
return [4 /*yield*/, lib.addFollowUpTask(selection.tasks[0])];
case 1:
_a.sent();
selection.tasks[0].markComplete();
return [2 /*return*/];
}
});
});
});
action.validate = function (selection, sender) {
return selection.tasks.length === 1;
};
return action;
})();
58 changes: 58 additions & 0 deletions followUpTask.omnifocusjs/Resources/dropAndAdd.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __generator = (this && this.__generator) || function (thisArg, body) {
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
function verb(n) { return function (v) { return step([n, v]); }; }
function step(op) {
if (f) throw new TypeError("Generator is already executing.");
while (_) try {
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
if (y = 0, t) op = [op[0] & 2, t.value];
switch (op[0]) {
case 0: case 1: t = op; break;
case 4: _.label++; return { value: op[1], done: false };
case 5: _.label++; y = op[1]; op = [0]; continue;
case 7: op = _.ops.pop(); _.trys.pop(); continue;
default:
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
if (t[2]) _.ops.pop();
_.trys.pop(); continue;
}
op = body.call(thisArg, _);
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
}
};
(function () {
var action = new PlugIn.Action(function (selection, sender) {
return __awaiter(this, void 0, void 0, function () {
var lib;
return __generator(this, function (_a) {
switch (_a.label) {
case 0:
lib = PlugIn.find('com.KaitlinSalzke.followUpTask', null).library('followUpTaskLib');
return [4 /*yield*/, lib.addFollowUpTask(selection.tasks[0])];
case 1:
_a.sent();
selection.tasks[0].drop(true);
return [2 /*return*/];
}
});
});
});
action.validate = function (selection, sender) {
return selection.tasks.length === 1;
};
return action;
})();
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
"label" = "Complete & Add Follow Up Task";
"shortLabel" = "Complete & Add Follow Up Task";
"mediumLabel" = "Complete & Add Follow Up Task";
"longLabel" = "Complete & Add Follow Up Task";
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
"label" = "Drop & Add Follow Up Task";
"shortLabel" = "Drop & Add Follow Up Task";
"mediumLabel" = "Drop & Add Follow Up Task";
"longLabel" = "Drop & Add Follow Up Task";
4 changes: 1 addition & 3 deletions followUpTask.omnifocusjs/Resources/followUpTaskLib.js
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,7 @@ var _this = this;
newTaskDetails.deferDate = editForm.values.deferDate;
newTaskDetails.dueDate = editForm.values.dueDate;
newTaskDetails.note = editForm.values.notes;
newTask = new Task(form.values.taskName, task.before);
newTask = new Task(form.values.taskName, task.after);
//save()
newTask.clearTags();
newTask.note = newTaskDetails.note;
Expand Down Expand Up @@ -155,8 +155,6 @@ var _this = this;
_a++;
return [3 /*break*/, 10];
case 14:
// complete original task
task.markComplete(null);
if (!(form.values.move || editForm.values.move)) return [3 /*break*/, 17];
return [4 /*yield*/, moveToActionGroupLibrary.projectPrompt()];
case 15:
Expand Down
12 changes: 10 additions & 2 deletions followUpTask.omnifocusjs/manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,16 @@
"version": "1.0.0",
"actions": [
{
"identifier": "addFollowUpTask",
"image": "plus.app"
"identifier": "completeAndAdd",
"image": "checkmark.circle.fill"
},
{
"identifier": "dropAndAdd",
"image": "minus.circle.fill"
},
{
"identifier": "addFollowUp",
"image": "plus.circle.fill"
}
],
"libraries": [
Expand Down
12 changes: 12 additions & 0 deletions src/addFollowUp.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
(() => {
const action = new PlugIn.Action(async function (selection, sender) {
const lib: FollowUpTaskLib = PlugIn.find('com.KaitlinSalzke.followUpTask', null).library('followUpTaskLib')
await lib.addFollowUpTask(selection.tasks[0])
})

action.validate = function (selection, sender) {
return selection.tasks.length === 1
}

return action
})()
50 changes: 0 additions & 50 deletions src/addFollowUpTask.ts

This file was deleted.

13 changes: 13 additions & 0 deletions src/completeAndAdd.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
(() => {
const action = new PlugIn.Action(async function (selection, sender) {
const lib: FollowUpTaskLib = PlugIn.find('com.KaitlinSalzke.followUpTask', null).library('followUpTaskLib')
await lib.addFollowUpTask(selection.tasks[0])
selection.tasks[0].markComplete()
})

action.validate = function (selection, sender) {
return selection.tasks.length === 1
}

return action
})()
13 changes: 13 additions & 0 deletions src/dropAndAdd.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
(() => {
const action = new PlugIn.Action(async function (selection, sender) {
const lib: FollowUpTaskLib = PlugIn.find('com.KaitlinSalzke.followUpTask', null).library('followUpTaskLib')
await lib.addFollowUpTask(selection.tasks[0])
selection.tasks[0].drop(true)
})

action.validate = function (selection, sender) {
return selection.tasks.length === 1
}

return action
})()
6 changes: 1 addition & 5 deletions src/followUpTaskLib.ts
Original file line number Diff line number Diff line change
Expand Up @@ -141,7 +141,7 @@ interface ActionGroupLib extends PlugIn.Library {

// create basic task details

const newTask: Task = new Task(form.values.taskName, task.before)
const newTask: Task = new Task(form.values.taskName, task.after)
//save()
newTask.clearTags()
newTask.note = newTaskDetails.note
Expand All @@ -163,10 +163,6 @@ interface ActionGroupLib extends PlugIn.Library {
}
}

// complete original task
task.markComplete(null)


// move the task if specified
if (form.values.move || editForm.values.move) {
const proj = await moveToActionGroupLibrary.projectPrompt()
Expand Down

0 comments on commit 7be0222

Please sign in to comment.