dockview-core
Version:
Zero dependency layout manager supporting tabs, groups, grids and splitviews for vanilla TypeScript
129 lines (128 loc) • 4.71 kB
JavaScript
;
var __values = (this && this.__values) || function(o) {
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
if (m) return m.call(o);
if (o && typeof o.length === "number") return {
next: function () {
if (o && i >= o.length) o = void 0;
return { value: o && o[i++], done: !o };
}
};
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
};
var __read = (this && this.__read) || function (o, n) {
var m = typeof Symbol === "function" && o[Symbol.iterator];
if (!m) return o;
var i = m.call(o), r, ar = [], e;
try {
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
}
catch (error) { e = { error: error }; }
finally {
try {
if (r && !r.done && (m = i["return"])) m.call(i);
}
finally { if (e) throw e.error; }
}
return ar;
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.EdgeGroupModule = exports.EdgeGroupService = void 0;
var modules_1 = require("./modules");
var EdgeGroupService = /** @class */ (function () {
function EdgeGroupService() {
this._edgeGroups = new Map();
this._edgeGroupDisposables = new Map();
}
// No constructor needed — the host is currently unused. The
// IEdgeGroupServiceHost slot stays for symmetry with the other modules
// and to leave room for future host callbacks.
EdgeGroupService.prototype.add = function (position, group, autoCollapseDisposable) {
this._edgeGroups.set(position, group);
this._edgeGroupDisposables.set(position, autoCollapseDisposable);
};
EdgeGroupService.prototype.remove = function (position) {
var _a;
(_a = this._edgeGroupDisposables.get(position)) === null || _a === void 0 ? void 0 : _a.dispose();
this._edgeGroupDisposables.delete(position);
this._edgeGroups.delete(position);
};
EdgeGroupService.prototype.get = function (position) {
return this._edgeGroups.get(position);
};
EdgeGroupService.prototype.has = function (position) {
return this._edgeGroups.has(position);
};
EdgeGroupService.prototype.hasAny = function () {
return this._edgeGroups.size > 0;
};
EdgeGroupService.prototype.entries = function () {
return this._edgeGroups.entries();
};
EdgeGroupService.prototype.includes = function (group) {
var e_1, _a;
try {
for (var _b = __values(this._edgeGroups.values()), _c = _b.next(); !_c.done; _c = _b.next()) {
var edgeGroup = _c.value;
if (edgeGroup === group) {
return true;
}
}
}
catch (e_1_1) { e_1 = { error: e_1_1 }; }
finally {
try {
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
}
finally { if (e_1) throw e_1.error; }
}
return false;
};
EdgeGroupService.prototype.findPositionOf = function (group) {
var e_2, _a;
try {
for (var _b = __values(this._edgeGroups), _c = _b.next(); !_c.done; _c = _b.next()) {
var _d = __read(_c.value, 2), position = _d[0], edgeGroup = _d[1];
if (edgeGroup === group) {
return position;
}
}
}
catch (e_2_1) { e_2 = { error: e_2_1 }; }
finally {
try {
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
}
finally { if (e_2) throw e_2.error; }
}
return undefined;
};
EdgeGroupService.prototype.disposeAll = function () {
var e_3, _a;
try {
for (var _b = __values(this._edgeGroupDisposables.values()), _c = _b.next(); !_c.done; _c = _b.next()) {
var disposable = _c.value;
disposable.dispose();
}
}
catch (e_3_1) { e_3 = { error: e_3_1 }; }
finally {
try {
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
}
finally { if (e_3) throw e_3.error; }
}
this._edgeGroupDisposables.clear();
this._edgeGroups.clear();
};
EdgeGroupService.prototype.dispose = function () {
this.disposeAll();
};
return EdgeGroupService;
}());
exports.EdgeGroupService = EdgeGroupService;
exports.EdgeGroupModule = (0, modules_1.defineModule)({
name: 'EdgeGroup',
serviceKey: 'edgeGroupService',
create: function () { return new EdgeGroupService(); },
});