| 1 |
"use strict"; |
| 2 |
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { |
| 3 |
return new (P || (P = Promise))(function (resolve, reject) { |
| 4 |
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } |
| 5 |
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } |
| 6 |
function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } |
| 7 |
step((generator = generator.apply(thisArg, _arguments || [])).next()); |
| 8 |
}); |
| 9 |
}; |
| 10 |
var __generator = (this && this.__generator) || function (thisArg, body) { |
| 11 |
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; |
| 12 |
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; |
| 13 |
function verb(n) { return function (v) { return step([n, v]); }; } |
| 14 |
function step(op) { |
| 15 |
if (f) throw new TypeError("Generator is already executing."); |
| 16 |
while (_) try { |
| 17 |
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; |
| 18 |
if (y = 0, t) op = [op[0] & 2, t.value]; |
| 19 |
switch (op[0]) { |
| 20 |
case 0: case 1: t = op; break; |
| 21 |
case 4: _.label++; return { value: op[1], done: false }; |
| 22 |
case 5: _.label++; y = op[1]; op = [0]; continue; |
| 23 |
case 7: op = _.ops.pop(); _.trys.pop(); continue; |
| 24 |
default: |
| 25 |
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } |
| 26 |
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } |
| 27 |
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } |
| 28 |
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } |
| 29 |
if (t[2]) _.ops.pop(); |
| 30 |
_.trys.pop(); continue; |
| 31 |
} |
| 32 |
op = body.call(thisArg, _); |
| 33 |
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } |
| 34 |
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; |
| 35 |
} |
| 36 |
}; |
| 37 |
Object.defineProperty(exports, "__esModule", { value: true }); |
| 38 |
var HighlightAction_1 = require("./Actions/HighlightAction"); |
| 39 |
var Slide = /** @class */ (function () { |
| 40 |
function Slide() { |
| 41 |
this.actionList = []; |
| 42 |
this.highlights = []; |
| 43 |
} |
| 44 |
Slide.prototype.AddAction = function (action) { |
| 45 |
this.actionList.push(action); |
| 46 |
if (action instanceof HighlightAction_1.HighlightAction) |
| 47 |
this.highlights.push(action); |
| 48 |
return this; |
| 49 |
}; |
| 50 |
Slide.prototype.ExecuteNextAction = function () { |
| 51 |
return __awaiter(this, void 0, void 0, function () { |
| 52 |
return __generator(this, function (_a) { |
| 53 |
switch (_a.label) { |
| 54 |
case 0: |
| 55 |
this.currentActionIndex++; |
| 56 |
if (!(this.actionList.length == this.currentActionIndex)) return [3 /*break*/, 1]; |
| 57 |
this.Finish(); |
| 58 |
return [3 /*break*/, 3]; |
| 59 |
case 1: |
| 60 |
this.currentAction = this.actionList[this.currentActionIndex]; |
| 61 |
this.currentAction.tutorial = this.tutorial; |
| 62 |
return [4 /*yield*/, this.currentAction.Execute()]; |
| 63 |
case 2: |
| 64 |
_a.sent(); |
| 65 |
this.ExecuteNextAction(); |
| 66 |
_a.label = 3; |
| 67 |
case 3: return [2 /*return*/]; |
| 68 |
} |
| 69 |
}); |
| 70 |
}); |
| 71 |
}; |
| 72 |
Slide.prototype.Clear = function (nextSlide) { |
| 73 |
for (var _i = 0, _a = this.actionList; _i < _a.length; _i++) { |
| 74 |
var action = _a[_i]; |
| 75 |
var preventClear = false; |
| 76 |
action.ClearTooltips(); |
| 77 |
if (action instanceof HighlightAction_1.HighlightAction && nextSlide != null) |
| 78 |
for (var _b = 0, _c = nextSlide.highlights; _b < _c.length; _b++) { |
| 79 |
var nextHighlights = _c[_b]; |
| 80 |
if (action.$target[0] == nextHighlights.$target[0]) { |
| 81 |
nextHighlights.previousStyle = action.previousStyle; |
| 82 |
preventClear = true; |
| 83 |
} |
| 84 |
} |
| 85 |
if (!preventClear) |
| 86 |
action.Clear(); |
| 87 |
} |
| 88 |
}; |
| 89 |
Slide.prototype.Execute = function () { |
| 90 |
this.currentActionIndex = -1; |
| 91 |
this.ExecuteNextAction(); |
| 92 |
}; |
| 93 |
Slide.prototype.Finish = function () { |
| 94 |
}; |
| 95 |
return Slide; |
| 96 |
}()); |
| 97 |
exports.Slide = Slide; |
| 98 |
//# sourceMappingURL=Slide.js.map |