UNPKG

1.12 kBJavaScriptView Raw
1import { __decorate, __metadata, __param } from "tslib";
2import { inject, singleton, Syringe } from 'mana-syringe';
3export var LayoutContextFactory = Syringe.defineToken('LayoutContextFactory');
4export var LayoutContextOptions = Syringe.defineToken('LayoutContextOptions');
5var guid = 0;
6/**
7 * 每次layout 有单独的 context
8 */
9
10var LayoutContext =
11/** @class */
12function () {
13 function LayoutContext(options) {
14 this.options = options;
15 this.workQueue = [];
16 this.contextId = "".concat(guid++);
17 this.mode = options.mode;
18 this.layoutChildrenFactory = options.layoutChildrenFactory;
19 this.fragmentResultFactory = options.fragmentResultFactory;
20 this.layoutFragmentFactory = options.layoutFragmentFactory;
21 }
22
23 LayoutContext.prototype.appendWorkTask = function (work) {
24 this.workQueue.push(work);
25 };
26
27 LayoutContext.prototype.clearWorkQueue = function () {
28 this.workQueue = [];
29 };
30
31 LayoutContext = __decorate([singleton(), __param(0, inject(LayoutContextOptions)), __metadata("design:paramtypes", [Object])], LayoutContext);
32 return LayoutContext;
33}();
34
35export { LayoutContext };
\No newline at end of file