UNPKG

@bixi/label

Version:
1,264 lines 63 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { __assign, __decorate, __metadata } from "tslib"; import { BehaviorSubject, Subject } from 'rxjs'; import { LabelTextMode, PdfMode } from './label.type'; import { Log, Safe } from './label.util'; /** * @record */ function IOptions() { } if (false) { /** @type {?|undefined} */ IOptions.prototype.dev; /** @type {?|undefined} */ IOptions.prototype.logUnhandledEvents; /** @type {?|undefined} */ IOptions.prototype.logAllEvents; /** @type {?|undefined} */ IOptions.prototype.logIgnoreEvents; } var LabelHub = /** @class */ (function () { function LabelHub(options) { this._hoverInLabelsEvent = null; this._labelingEvent = null; this._dev = false; this._logUnhandledEvents = false; this._logAllEvents = false; this._logIgnoreEvents = []; this._ready = false; this._loaded = false; this._zoom = 1; this._pagination = { pageCount: 1, pageNumber: 1 }; /** * 标注器是否加载完成 */ this.loaded$ = new BehaviorSubject(this._loaded); /** * 标注器是否准备完毕 */ this.ready$ = new BehaviorSubject(this._ready); /** * 初始化数据流 */ this.init$ = new BehaviorSubject(null); /** * 搜索结果 */ this.searchResult$ = new BehaviorSubject({ keyword: '', caseSensitive: false, result: [] }); /** * Tooltip 信息 */ this.hoverInLabelsEvent$ = new Subject(); /** * 分页信息 * 默认 * { * page: 1, * total: 1 * } */ this.pagination$ = new BehaviorSubject(this._pagination); /** * 缩放 */ this.zoom$ = new BehaviorSubject(this._zoom); /** * 标注列表 */ this.labels$ = new BehaviorSubject(null); /** * 表格列表 */ this.tables$ = new BehaviorSubject(null); /** * 删除标注 */ this.deleteLabelsEvent$ = new Subject(); /** * 当前正在标注的标注 */ this.labelingEvent$ = new Subject(); /** * 尺寸变化 */ this.resize$ = new Subject(); /** * 日志流 */ this.log$ = new Subject(); this._dev = (options === null || options === void 0 ? void 0 : options.dev) || false; this._logUnhandledEvents = (options === null || options === void 0 ? void 0 : options.logUnhandledEvents) || false; this._logAllEvents = (options === null || options === void 0 ? void 0 : options.logAllEvents) || false; this._logIgnoreEvents = (options === null || options === void 0 ? void 0 : options.logIgnoreEvents) || []; } Object.defineProperty(LabelHub.prototype, "ready", { get: /** * @return {?} */ function () { return this._ready; }, enumerable: true, configurable: true }); Object.defineProperty(LabelHub.prototype, "dev", { get: /** * @return {?} */ function () { return this._dev; }, enumerable: true, configurable: true }); Object.defineProperty(LabelHub.prototype, "api", { get: /** * @return {?} */ function () { return this._api; }, enumerable: true, configurable: true }); Object.defineProperty(LabelHub.prototype, "loaded", { get: /** * @return {?} */ function () { return this._loaded; }, enumerable: true, configurable: true }); Object.defineProperty(LabelHub.prototype, "logUnhandledEvents", { get: /** * @return {?} */ function () { return this._logUnhandledEvents; }, enumerable: true, configurable: true }); Object.defineProperty(LabelHub.prototype, "logAllEvents", { get: /** * @return {?} */ function () { return this._logAllEvents; }, enumerable: true, configurable: true }); Object.defineProperty(LabelHub.prototype, "logIgnoreEvents", { get: /** * @return {?} */ function () { return this._logIgnoreEvents; }, enumerable: true, configurable: true }); Object.defineProperty(LabelHub.prototype, "hoverInLabelsEvent", { get: /** * @return {?} */ function () { return this._hoverInLabelsEvent; }, enumerable: true, configurable: true }); Object.defineProperty(LabelHub.prototype, "labelingEvent", { get: /** * @return {?} */ function () { return this._labelingEvent; }, enumerable: true, configurable: true }); Object.defineProperty(LabelHub.prototype, "labeling", { get: /** * @return {?} */ function () { return !!this._labelingEvent; }, enumerable: true, configurable: true }); /** * 设置标注器是否准备完毕 * @description 最好不要在外部调用,这可能会产生不可预期的效果 */ /** * 设置标注器是否准备完毕 * \@description 最好不要在外部调用,这可能会产生不可预期的效果 * @param {?} ready * @return {?} */ LabelHub.prototype.setReady = /** * 设置标注器是否准备完毕 * \@description 最好不要在外部调用,这可能会产生不可预期的效果 * @param {?} ready * @return {?} */ function (ready) { this._ready = ready; this.ready$.next(this._ready); }; /** * 设置标注器是否加载完成 * @description 最好不要在外部调用,这可能会产生不可预期的效果 */ /** * 设置标注器是否加载完成 * \@description 最好不要在外部调用,这可能会产生不可预期的效果 * @param {?} loaded * @return {?} */ LabelHub.prototype.setLoaded = /** * 设置标注器是否加载完成 * \@description 最好不要在外部调用,这可能会产生不可预期的效果 * @param {?} loaded * @return {?} */ function (loaded) { this._loaded = loaded; this.loaded$.next(this._loaded); }; /** * 初始化标注器 * @description 最好不要在外部调用,这可能会产生不可预期的效果 */ /** * 初始化标注器 * \@description 最好不要在外部调用,这可能会产生不可预期的效果 * @param {?} options * @return {?} */ LabelHub.prototype.init = /** * 初始化标注器 * \@description 最好不要在外部调用,这可能会产生不可预期的效果 * @param {?} options * @return {?} */ function (options) { this.id = options.id; // if ([LabelTextMode.textSlip, LabelTextMode.textFrame].includes(options.labelMode as LabelTextMode)) { if (options.labelMode in LabelTextMode) { if (options.labels) { this.setLabels(options.labels); } } else { if (options.tables) { this.setTables(options.tables); } } this.init$.next(options); }; /** * 设置标注 */ /** * 设置标注 * @param {?} labels * @return {?} */ LabelHub.prototype.setLabels = /** * 设置标注 * @param {?} labels * @return {?} */ function (labels) { this.labels$.next(labels); }; /** * 设置表格 */ /** * 设置表格 * @param {?} tables * @return {?} */ LabelHub.prototype.setTables = /** * 设置表格 * @param {?} tables * @return {?} */ function (tables) { this.tables$.next(tables); }; /** * 获取表格标注数据 */ /** * 获取表格标注数据 * @return {?} */ LabelHub.prototype.getTableMatrix = /** * 获取表格标注数据 * @return {?} */ function () { return this._api.getTableMatrix(); }; /** * 设置 Tooltip * @description 最好不要在外部调用,这可能会产生不可预期的效果 */ /** * 设置 Tooltip * \@description 最好不要在外部调用,这可能会产生不可预期的效果 * @param {?} event * @return {?} */ LabelHub.prototype.hoverInLabels = /** * 设置 Tooltip * \@description 最好不要在外部调用,这可能会产生不可预期的效果 * @param {?} event * @return {?} */ function (event) { this._hoverInLabelsEvent = event; this.hoverInLabelsEvent$.next(event); }; /** * 设置分页 */ /** * 设置分页 * @param {?} pagination * @return {?} */ LabelHub.prototype.setPagination = /** * 设置分页 * @param {?} pagination * @return {?} */ function (pagination) { /** @type {?} */ var p = __assign(__assign({}, this._pagination), pagination); if (p.pageCount < p.pageNumber || p.pageNumber < 1) return; this.pagination$.next(p); if (this._pagination.pageNumber !== pagination.pageNumber) { this._api.setPage(pagination.pageNumber); } this._pagination = p; }; /** * 获取分页信息 */ /** * 获取分页信息 * @return {?} */ LabelHub.prototype.getPagination = /** * 获取分页信息 * @return {?} */ function () { return this._pagination; }; /** * 设置分页(内部调用) * @description 同外部调用区别是,它不需要通知标注器更新,最好不要在外部调用,这可能会产生不可预期的效果 */ /** * 设置分页(内部调用) * \@description 同外部调用区别是,它不需要通知标注器更新,最好不要在外部调用,这可能会产生不可预期的效果 * @param {?} pagination * @return {?} */ LabelHub.prototype.innerSetPagination = /** * 设置分页(内部调用) * \@description 同外部调用区别是,它不需要通知标注器更新,最好不要在外部调用,这可能会产生不可预期的效果 * @param {?} pagination * @return {?} */ function (pagination) { this._pagination = __assign(__assign({}, this._pagination), pagination); this.pagination$.next(this._pagination); }; /** * 设置缩放 */ /** * 设置缩放 * @param {?} zoom * @return {?} */ LabelHub.prototype.setZoom = /** * 设置缩放 * @param {?} zoom * @return {?} */ function (zoom) { if (this._zoom !== zoom) { this._zoom = zoom; this.zoom$.next(zoom); this._api.setZoom(zoom); } }; /** * 获取缩放 */ /** * 获取缩放 * @return {?} */ LabelHub.prototype.getZoom = /** * 获取缩放 * @return {?} */ function () { return this._zoom; }; /** * 设置标注模式 */ /** * 设置标注模式 * @param {?} mode * @return {?} */ LabelHub.prototype.setLabelMode = /** * 设置标注模式 * @param {?} mode * @return {?} */ function (mode) { this._api.setLabelMode(mode); }; /** * 设置PDF模式 */ /** * 设置PDF模式 * @param {?} mode * @return {?} */ LabelHub.prototype.setPdfMode = /** * 设置PDF模式 * @param {?} mode * @return {?} */ function (mode) { this._api.setPdfMode(mode); }; /** * 打印日志 */ /** * 打印日志 * @param {?} log * @return {?} */ LabelHub.prototype.setLog = /** * 打印日志 * @param {?} log * @return {?} */ function (log) { var level = log.level, content = log.content; // tslint:disable-next-line: no-any /** @type {?} */ var logger = ((/** @type {?} */ (console)))[level]; if (logger) { logger(content); } else { console.error('[@bixi/label] 没有找到对应的日志等级', level, content); } this.log$.next({ level: level, content: content }); }; /** * 开始标注 * @description 最好不要在外部调用,这可能会产生不可预期的效果 */ /** * 开始标注 * \@description 最好不要在外部调用,这可能会产生不可预期的效果 * @param {?} labeling * @return {?} */ LabelHub.prototype.startLabeling = /** * 开始标注 * \@description 最好不要在外部调用,这可能会产生不可预期的效果 * @param {?} labeling * @return {?} */ function (labeling) { this._labelingEvent = labeling; this.labelingEvent$.next(labeling); }; /** * 清除当前标注 */ /** * 清除当前标注 * @return {?} */ LabelHub.prototype.stopLabeling = /** * 清除当前标注 * @return {?} */ function () { if (!this._labelingEvent) return; this._labelingEvent = null; this.labelingEvent$.next(null); }; /** * 删除标注 * @description 最好不要在外部调用,这可能会产生不可预期的效果 */ /** * 删除标注 * \@description 最好不要在外部调用,这可能会产生不可预期的效果 * @param {?} event * @return {?} */ LabelHub.prototype.deleteLabels = /** * 删除标注 * \@description 最好不要在外部调用,这可能会产生不可预期的效果 * @param {?} event * @return {?} */ function (event) { this.deleteLabelsEvent$.next(event); }; /** * 搜索 */ /** * 搜索 * @param {?} params * @return {?} */ LabelHub.prototype.search = /** * 搜索 * @param {?} params * @return {?} */ function (params) { this._api.search(params); }; /** * 设置搜索结果 */ /** * 设置搜索结果 * @param {?} result * @return {?} */ LabelHub.prototype.setSearchResult = /** * 设置搜索结果 * @param {?} result * @return {?} */ function (result) { this.searchResult$.next(result); }; /** * 强制标注器重新渲染 */ /** * 强制标注器重新渲染 * @return {?} */ LabelHub.prototype.restore = /** * 强制标注器重新渲染 * @return {?} */ function () { this._api.restore(); }; /** * 跳转到某个标签 */ /** * 跳转到某个标签 * @param {?} params * @return {?} */ LabelHub.prototype.scrollToLabelByUuid = /** * 跳转到某个标签 * @param {?} params * @return {?} */ function (params) { this._api.scrollToLabel(params); }; /** * 通过索引跳转到某个标签 */ /** * 通过索引跳转到某个标签 * @param {?} params * @return {?} */ LabelHub.prototype.scrollToLabelByIndex = /** * 通过索引跳转到某个标签 * @param {?} params * @return {?} */ function (params) { this._api.scrollToLabelByIdx(params); }; /** * 通过坐标跳转到表格单元格 */ /** * 通过坐标跳转到表格单元格 * @param {?=} params * @return {?} */ LabelHub.prototype.scrollToTableCell = /** * 通过坐标跳转到表格单元格 * @param {?=} params * @return {?} */ function (params) { this._api.scrollToTableCell(params); }; /** * 聚焦已高亮的单元格 */ /** * 聚焦已高亮的单元格 * @param {?} params * @return {?} */ LabelHub.prototype.focusTableCells = /** * 聚焦已高亮的单元格 * @param {?} params * @return {?} */ function (params) { this._api.focusTableCells(params); }; /** * 获取页面的显示相关信息 */ /** * 获取页面的显示相关信息 * @return {?} */ LabelHub.prototype.getViewport = /** * 获取页面的显示相关信息 * @return {?} */ function () { return this._api.getViewport(); }; /** * 获取所有被选中的 Labels */ /** * 获取所有被选中的 Labels * @return {?} */ LabelHub.prototype.getSelectedLabels = /** * 获取所有被选中的 Labels * @return {?} */ function () { return this._api.getSelectedLabels(); }; /** * @param {?} api * @return {?} */ LabelHub.prototype.setApi = /** * @param {?} api * @return {?} */ function (api) { this._api = api; }; /** * 重置已渲染标注填充色和边框 */ /** * 重置已渲染标注填充色和边框 * @param {?} params * @return {?} */ LabelHub.prototype.resetLabelsStyle = /** * 重置已渲染标注填充色和边框 * @param {?} params * @return {?} */ function (params) { this._api.resetLabelsStyle(params); }; /** * 重置选中的标注 */ /** * 重置选中的标注 * @param {?} params * @return {?} */ LabelHub.prototype.resetSelectedLabels = /** * 重置选中的标注 * @param {?} params * @return {?} */ function (params) { this._api.resetSelectedLabels(params); }; /** * 获取文档文本内容 */ /** * 获取文档文本内容 * @return {?} */ LabelHub.prototype.getDocContent = /** * 获取文档文本内容 * @return {?} */ function () { return this._api.getDocContent(); }; /** * enable merge|split cross page tables */ /** * enable merge|split cross page tables * @param {?=} enable * @return {?} */ LabelHub.prototype.enableMergeOrSplitTables = /** * enable merge|split cross page tables * @param {?=} enable * @return {?} */ function (enable) { if (enable === void 0) { enable = false; } this._api.enableMergeOrSplitTables(enable); }; /** * scroll to rect */ /** * scroll to rect * @param {?} params * @return {?} */ LabelHub.prototype.scrollToRect = /** * scroll to rect * @param {?} params * @return {?} */ function (params) { this._api.scrollToRect(params); }; /** * get split line info */ /** * get split line info * @return {?} */ LabelHub.prototype.getTableSplitLines = /** * get split line info * @return {?} */ function () { return this._api.getTableSplitLines(); }; /** * redirect to specific table status ( will reset table operation records ) */ /** * redirect to specific table status ( will reset table operation records ) * @param {?} recordId * @return {?} */ LabelHub.prototype.redirectToRecord = /** * redirect to specific table status ( will reset table operation records ) * @param {?} recordId * @return {?} */ function (recordId) { this._api.redirectToRecord(recordId); }; /** * delete table operation records */ /** * delete table operation records * @param {?} recordIds * @return {?} */ LabelHub.prototype.deleteTblRecords = /** * delete table operation records * @param {?} recordIds * @return {?} */ function (recordIds) { this._api.deleteTblRecords(recordIds); }; /** * ignore table operations */ /** * ignore table operations * @param {?} params * @return {?} */ LabelHub.prototype.ignoreTblOperations = /** * ignore table operations * @param {?} params * @return {?} */ function (params) { this._api.setIgnoreTblOperations(params); }; /** * get modified table line matrix */ /** * get modified table line matrix * @return {?} */ LabelHub.prototype.getModifiedTableLinesMatrix = /** * get modified table line matrix * @return {?} */ function () { return this._api.getModifiedTableLinesMatrix(); }; /** * 销毁 Hub * @description 最好不要在外部调用,这可能会产生不可预期的效果 */ /** * 销毁 Hub * \@description 最好不要在外部调用,这可能会产生不可预期的效果 * @return {?} */ LabelHub.prototype.destory = /** * 销毁 Hub * \@description 最好不要在外部调用,这可能会产生不可预期的效果 * @return {?} */ function () { this.loaded$.complete(); this.ready$.complete(); this.init$.complete(); this.searchResult$.complete(); this.hoverInLabelsEvent$.complete(); this.pagination$.complete(); this.zoom$.complete(); this.labels$.complete(); this.tables$.complete(); this.deleteLabelsEvent$.complete(); this.labelingEvent$.complete(); this.log$.complete(); }; __decorate([ Log(), __metadata("design:type", Function), __metadata("design:paramtypes", [Boolean]), __metadata("design:returntype", void 0) ], LabelHub.prototype, "setReady", null); __decorate([ Log(), __metadata("design:type", Function), __metadata("design:paramtypes", [Boolean]), __metadata("design:returntype", void 0) ], LabelHub.prototype, "setLoaded", null); __decorate([ Log(), __metadata("design:type", Function), __metadata("design:paramtypes", [Object]), __metadata("design:returntype", void 0) ], LabelHub.prototype, "init", null); __decorate([ Log(), __metadata("design:type", Function), __metadata("design:paramtypes", [Array]), __metadata("design:returntype", void 0) ], LabelHub.prototype, "setLabels", null); __decorate([ Log(), __metadata("design:type", Function), __metadata("design:paramtypes", [Object]), __metadata("design:returntype", void 0) ], LabelHub.prototype, "setTables", null); __decorate([ Log(), Safe(), __metadata("design:type", Function), __metadata("design:paramtypes", []), __metadata("design:returntype", void 0) ], LabelHub.prototype, "getTableMatrix", null); __decorate([ Log(), __metadata("design:type", Function), __metadata("design:paramtypes", [Object]), __metadata("design:returntype", void 0) ], LabelHub.prototype, "hoverInLabels", null); __decorate([ Log(), __metadata("design:type", Function), __metadata("design:paramtypes", [Object]), __metadata("design:returntype", void 0) ], LabelHub.prototype, "setPagination", null); __decorate([ Log(), __metadata("design:type", Function), __metadata("design:paramtypes", []), __metadata("design:returntype", Object) ], LabelHub.prototype, "getPagination", null); __decorate([ Log(), __metadata("design:type", Function), __metadata("design:paramtypes", [Object]), __metadata("design:returntype", void 0) ], LabelHub.prototype, "innerSetPagination", null); __decorate([ Log(), Safe(), __metadata("design:type", Function), __metadata("design:paramtypes", [Number]), __metadata("design:returntype", void 0) ], LabelHub.prototype, "setZoom", null); __decorate([ Log(), __metadata("design:type", Function), __metadata("design:paramtypes", []), __metadata("design:returntype", Number) ], LabelHub.prototype, "getZoom", null); __decorate([ Log(), Safe(), __metadata("design:type", Function), __metadata("design:paramtypes", [String]), __metadata("design:returntype", void 0) ], LabelHub.prototype, "setLabelMode", null); __decorate([ Log(), Safe(), __metadata("design:type", Function), __metadata("design:paramtypes", [String]), __metadata("design:returntype", void 0) ], LabelHub.prototype, "setPdfMode", null); __decorate([ Log(), __metadata("design:type", Function), __metadata("design:paramtypes", [Object]), __metadata("design:returntype", void 0) ], LabelHub.prototype, "setLog", null); __decorate([ Log(), __metadata("design:type", Function), __metadata("design:paramtypes", [Object]), __metadata("design:returntype", void 0) ], LabelHub.prototype, "startLabeling", null); __decorate([ Log(), __metadata("design:type", Function), __metadata("design:paramtypes", []), __metadata("design:returntype", void 0) ], LabelHub.prototype, "stopLabeling", null); __decorate([ Log(), __metadata("design:type", Function), __metadata("design:paramtypes", [Object]), __metadata("design:returntype", void 0) ], LabelHub.prototype, "deleteLabels", null); __decorate([ Log(), Safe(), __metadata("design:type", Function), __metadata("design:paramtypes", [Object]), __metadata("design:returntype", void 0) ], LabelHub.prototype, "search", null); __decorate([ Log(), __metadata("design:type", Function), __metadata("design:paramtypes", [Object]), __metadata("design:returntype", void 0) ], LabelHub.prototype, "setSearchResult", null); __decorate([ Log(), Safe(), __metadata("design:type", Function), __metadata("design:paramtypes", []), __metadata("design:returntype", void 0) ], LabelHub.prototype, "restore", null); __decorate([ Log(), Safe(), __metadata("design:type", Function), __metadata("design:paramtypes", [Object]), __metadata("design:returntype", void 0) ], LabelHub.prototype, "scrollToLabelByUuid", null); __decorate([ Log(), Safe(), __metadata("design:type", Function), __metadata("design:paramtypes", [Object]), __metadata("design:returntype", void 0) ], LabelHub.prototype, "scrollToLabelByIndex", null); __decorate([ Log(), Safe(), __metadata("design:type", Function), __metadata("design:paramtypes", [Object]), __metadata("design:returntype", void 0) ], LabelHub.prototype, "scrollToTableCell", null); __decorate([ Log(), Safe(), __metadata("design:type", Function), __metadata("design:paramtypes", [Object]), __metadata("design:returntype", void 0) ], LabelHub.prototype, "focusTableCells", null); __decorate([ Log(), Safe(), __metadata("design:type", Function), __metadata("design:paramtypes", []), __metadata("design:returntype", Array) ], LabelHub.prototype, "getViewport", null); __decorate([ Log(), Safe(), __metadata("design:type", Function), __metadata("design:paramtypes", []), __metadata("design:returntype", Array) ], LabelHub.prototype, "getSelectedLabels", null); __decorate([ Log(), Safe(), __metadata("design:type", Function), __metadata("design:paramtypes", [Array]), __metadata("design:returntype", void 0) ], LabelHub.prototype, "resetLabelsStyle", null); __decorate([ Log(), Safe(), __metadata("design:type", Function), __metadata("design:paramtypes", [Array]), __metadata("design:returntype", void 0) ], LabelHub.prototype, "resetSelectedLabels", null); __decorate([ Log(), Safe(), __metadata("design:type", Function), __metadata("design:paramtypes", []), __metadata("design:returntype", String) ], LabelHub.prototype, "getDocContent", null); __decorate([ Log(), Safe(), __metadata("design:type", Function), __metadata("design:paramtypes", [Object]), __metadata("design:returntype", void 0) ], LabelHub.prototype, "enableMergeOrSplitTables", null); __decorate([ Log(), Safe(), __metadata("design:type", Function), __metadata("design:paramtypes", [Object]), __metadata("design:returntype", void 0) ], LabelHub.prototype, "scrollToRect", null); __decorate([ Log(), Safe(), __metadata("design:type", Function), __metadata("design:paramtypes", []), __metadata("design:returntype", Array) ], LabelHub.prototype, "getTableSplitLines", null); __decorate([ Log(), Safe(), __metadata("design:type", Function), __metadata("design:paramtypes", [String]), __metadata("design:returntype", void 0) ], LabelHub.prototype, "redirectToRecord", null); __decorate([ Log(), Safe(), __metadata("design:type", Function), __metadata("design:paramtypes", [Object]), __metadata("design:returntype", void 0) ], LabelHub.prototype, "deleteTblRecords", null); __decorate([ Log(), Safe(), __metadata("design:type", Function), __metadata("design:paramtypes", [Array]), __metadata("design:returntype", void 0) ], LabelHub.prototype, "ignoreTblOperations", null); __decorate([ Log(), Safe(), __metadata("design:type", Function), __metadata("design:paramtypes", []), __metadata("design:returntype", Array) ], LabelHub.prototype, "getModifiedTableLinesMatrix", null); __decorate([ Log(), __metadata("design:type", Function), __metadata("design:paramtypes", []), __metadata("design:returntype", void 0) ], LabelHub.prototype, "destory", null); return LabelHub; }()); export { LabelHub }; if (false) { /** @type {?} */ LabelHub.prototype.id; /** * @type {?} * @protected */ LabelHub.prototype._hoverInLabelsEvent; /** * @type {?} * @protected */ LabelHub.prototype._labelingEvent; /** * @type {?} * @protected */ LabelHub.prototype._dev; /** * @type {?} * @protected */ LabelHub.prototype._logUnhandledEvents; /** * @type {?} * @protected */ LabelHub.prototype._logAllEvents; /** * @type {?} * @protected */ LabelHub.prototype._logIgnoreEvents; /** * @type {?} * @protected */ LabelHub.prototype._api; /** * @type {?} * @protected */ LabelHub.prototype._ready; /** * @type {?} * @protected */ LabelHub.prototype._loaded; /** * @type {?} * @protected */ LabelHub.prototype._zoom; /** * @type {?} * @protected */ LabelHub.prototype._pagination; /** * 标注器是否加载完成 * @type {?} */ LabelHub.prototype.loaded$; /** * 标注器是否准备完毕 * @type {?} */ LabelHub.prototype.ready$; /** * 初始化数据流 * @type {?} */ LabelHub.prototype.init$; /** * 搜索结果 * @type {?} */ LabelHub.prototype.searchResult$; /** * Tooltip 信息 * @type {?} */ LabelHub.prototype.hoverInLabelsEvent$; /** * 分页信息 * 默认 * { * page: 1, * total: 1 * } * @type {?} */ LabelHub.prototype.pagination$; /** * 缩放 * @type {?} */ LabelHub.prototype.zoom$; /** * 标注列表 * @type {?} */ LabelHub.prototype.labels$; /** * 表格列表 * @type {?} */ LabelHub.prototype.tables$; /** * 删除标注 * @type {?} */ LabelHub.prototype.deleteLabelsEvent$; /** * 当前正在标注的标注 * @type {?} */ LabelHub.prototype.labelingEvent$; /** * 尺寸变化 * @type {?} */ LabelHub.prototype.resize$; /** * 日志流 * @type {?} */ LabelHub.prototype.log$; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFiZWwuaHViLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGJpeGkvbGFiZWwvIiwic291cmNlcyI6WyJzcmMvbGFiZWwuaHViLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDaEQsT0FBTyxFQW1CTCxhQUFhLEVBQ2IsT0FBTyxFQUNSLE1BQU0sY0FBYyxDQUFDO0FBQ3RCLE9BQU8sRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLE1BQU0sY0FBYyxDQUFDOzs7O0FBRXpDLHVCQUtDOzs7SUFKQyx1QkFBYzs7SUFDZCxzQ0FBNkI7O0lBQzdCLGdDQUF1Qjs7SUFDdkIsbUNBQTJCOztBQUc3QjtJQThFRSxrQkFDRSxPQUFrQjtRQTdFVix3QkFBbUIsR0FBK0IsSUFBSSxDQUFDO1FBQ3ZELG1CQUFjLEdBQTBCLElBQUksQ0FBQztRQUM3QyxTQUFJLEdBQUcsS0FBSyxDQUFDO1FBQ2Isd0JBQW1CLEdBQUcsS0FBSyxDQUFDO1FBQzVCLGtCQUFhLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLHFCQUFnQixHQUFhLEVBQUUsQ0FBQztRQUVoQyxXQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ2YsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUNoQixVQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQ1YsZ0JBQVcsR0FBZ0I7WUFDbkMsU0FBUyxFQUFFLENBQUM7WUFDWixVQUFVLEVBQUUsQ0FBQztTQUNkLENBQUM7Ozs7UUFJTyxZQUFPLEdBQUcsSUFBSSxlQUFlLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDOzs7O1FBSTVDLFdBQU0sR0FBRyxJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7Ozs7UUFJMUMsVUFBSyxHQUFHLElBQUksZUFBZSxDQUFzQixJQUFJLENBQUMsQ0FBQzs7OztRQUl2RCxrQkFBYSxHQUFHLElBQUksZUFBZSxDQUFnQjtZQUMxRCxPQUFPLEVB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QUMxQyx3QkFBeUI7Ozs7O0lBQ3pCLDBCQUF5Qjs7Ozs7SUFDekIsMkJBQTBCOzs7OztJQUMxQix5QkFBb0I7Ozs7O0lBQ3BCLCtCQUdFOzs7OztJQUlGLDJCQUFxRDs7Ozs7SUFJckQsMEJBQW1EOzs7OztJQUluRCx5QkFBZ0U7Ozs7O0lBSWhFLGlDQUlHOzs7OztJQUlILHVDQUFrRjs7Ozs7Ozs7OztJQVNsRiwrQkFBMEU7Ozs7O0lBSTFFLHlCQUFpRDs7Ozs7SUFJakQsMkJBQThEOzs7OztJQUk5RCwyQkFBOEQ7Ozs7O0lBSTlELHNDQUFnRjs7Ozs7SUFJaEYsa0NBQXdFOzs7OztJQUl4RSwyQkFBdUM7Ozs7O0lBSXZDLHdCQUE4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgSURlbGV0ZUxhYmVsc0V2ZW50LFxuICBJSG92ZXJJbkxhYmVsc0V2ZW50LFxuICBJSW5pdE9wdGlvbnMsXG4gIElMYWJlbCxcbiAgSUxhYmVsaW5nRXZlbnQsXG4gIElMYWJlbFN0eWxlLFxuICBJTW9kaWZpZWRUYWJsZUxpbmVNYXRyaXgsXG4gIElQYWdpbmF0aW9uLFxuICBJU2FmZUFueSxcbiAgSVNlYXJjaExhYmVsQnlJbmRleFBhcmFtcyxcbiAgSVNlYXJjaExhYmVsQnlVdWlkUGFyYW1zLFxuICBJU2VhcmNoUmVjdFBhcmFtcyxcbiAgSVNlYXJjaFJlc3VsdCxcbiAgSVNlYXJjaFRhYmxlQ2VsbFBhcmFtcyxcbiAgSVNlcmFyY2hQYXJhbXMsXG4gIElUYWJsZVNwbGl0LFxuICBJVmlld1BvcnQsXG4gIExhYmVsVGFibGVNb2RlLFxuICBMYWJlbFRleHRNb2RlLFxuICBQZGZNb2RlXG59IGZyb20gJy4vbGFiZWwudHlwZSc7XG5pbXBvcnQgeyBMb2csIFNhZmUgfSBmcm9tICcuL2xhYmVsLnV0aWwnO1xuXG5pbnRlcmZhY2UgSU9wdGlvbnMge1xuICBkZXY/OiBib29sZWFuO1xuICBsb2dVbmhhbmRsZWRFdmVudHM/OiBib29sZWFuO1xuICBsb2dBbGxFdmVudHM/OiBib29sZWFuO1xuICBsb2dJZ25vcmVFdmVudHM/OiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGNsYXNzIExhYmVsSHViIHtcbiAgaWQ6IHN0cmluZztcbiAgcHJvdGVjdGVkIF9ob3ZlckluTGFiZWxzRXZlbnQ6IElIb3ZlckluTGFiZWxzRXZlbnQgfCBudWxsID0gbnVsbDtcbiAgcHJvdGVjdGVkIF9sYWJlbGluZ0V2ZW50OiBJTGFiZWxpbmdFdmVudCB8IG51bGwgPSBudWxsO1xuICBwcm90ZWN0ZWQgX2RldiA9IGZhbHNlO1xuICBwcm90ZWN0ZWQgX2xvZ1VuaGFuZGxlZEV2ZW50cyA9IGZhbHNlO1xuICBwcm90ZWN0ZWQgX2xvZ0FsbEV2ZW50cyA9IGZhbHNlO1xuICBwcm90ZWN0ZWQgX2xvZ0lnbm9yZUV2ZW50czogc3RyaW5nW10gPSBbXTtcbiAgcHJvdGVjdGVkIF9hcGk6IElTYWZlQW55O1xuICBwcm90ZWN0ZWQgX3JlYWR5ID0gZmFsc2U7XG4gIHByb3RlY3RlZCBfbG9hZGVkID0gZmFsc2U7XG4gIHByb3RlY3RlZCBfem9vbSA9IDE7XG4gIHByb3RlY3RlZCBfcGFnaW5hdGlvbjogSVBhZ2luYXRpb24gPSB7XG4gICAgcGFnZUNvdW50OiAxLFxuICAgIHBhZ2VOdW1iZXI6IDFcbiAgfTtcbiAgLyoqXG4gICAqIOagh+azqOWZqOaYr+WQpuWKoOi9veWujOaIkFxuICAgKi9cbiAgcmVhZG9ubHkgbG9hZGVkJCA9IG5ldyBCZWhhdmlvclN1YmplY3QodGhpcy5fbG9hZGVkKTtcbiAgLyoqXG4gICAqIOagh+azqOWZqOaYr+WQpuWHhuWkh+WujOavlVxuICAgKi9cbiAgcmVhZG9ubHkgcmVhZHkkID0gbmV3IEJlaGF2aW9yU3ViamVjdCh0aGlzLl9yZWFkeSk7XG4gIC8qKlxuICAgKiDliJ3lp4vljJbmlbDmja7mtYFcbiAgICovXG4gIHJlYWRvbmx5IGluaXQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxJSW5pdE9wdGlvbnMgfCBudWxsPihudWxsKTtcbiAgLyoqXG4gICAqIOaQnOe0oue7k+aenFxuICAgKi9cbiAgcmVhZG9ubHkgc2VhcmNoUmVzdWx0JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8SVNlYXJjaFJlc3VsdD4oe1xuICAgIGtleXdvcmQ6ICcnLFxuICAgIGNhc2VTZW5zaXRpdmU6IGZhbHNlLFxuICAgIHJlc3VsdDogW11cbiAgfSk7XG4gIC8qKlxuICAgKiBUb29sdGlwIOS/oeaBr1xuICAgKi9cbiAgcmVhZG9ubHkgaG92ZXJJbkxhYmVsc0V2ZW50JDogU3ViamVjdDxJSG92ZXJJbkxhYmVsc0V2ZW50IHwgbnVsbD4gPSBuZXcgU3ViamVjdCgpO1xuICAvKipcbiAgICog5YiG6aG15L+h5oGvXG4gICAqIOm7mOiupFxuICAgKiB7XG4gICAqICAgcGFnZTogMSxcbiAgICogICB0b3RhbDogMVxuICAgKiB9XG4gICAqL1xuICByZWFkb25seSBwYWdpbmF0aW9uJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8SVBhZ2luYXRpb24+KHRoaXMuX3BhZ2luYXRpb24pO1xuICAvKipcbiAgICog57yp5pS+XG4gICAqL1xuICByZWFkb25seSB6b29tJCA9IG5ldyBCZWhhdmlvclN1YmplY3QodGhpcy5fem9vbSk7XG4gIC8qKlxuICAgKiDmoIfms6jliJfooahcbiAgICovXG4gIHJlYWRvbmx5IGxhYmVscyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PElMYWJlbFtdIHwgbnVsbD4obnVsbCk7XG4gIC8qKlxuICAgKiDooajmoLzliJfooahcbiAgICovXG4gIHJlYWRvbmx5IHRhYmxlcyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PElTYWZlQW55IHwgbnVsbD4obnVsbCk7XG4gIC8qKlxuICAgKiAg5Yig6Zmk5qCH5rOoXG4gICAqL1xuICByZWFkb25seSBkZWxldGVMYWJlbHNFdmVudCQ6IFN1YmplY3Q8SURlbGV0ZUxhYmVsc0V2ZW50IHwgbnVsbD4gPSBuZXcgU3ViamVjdCgpO1xuICAvKipcbiAgICogIOW9k+WJjeato+WcqOagh+azqOeahOagh+azqFxuICAgKi9cbiAgcmVhZG9ubHkgbGFiZWxpbmdFdmVudCQ6IFN1YmplY3Q8SUxhYmVsaW5nRXZlbnQgfCBudWxsPiA9IG5ldyBTdWJqZWN0KCk7XG4gIC8qKlxuICAgKiDlsLrlr7jlj5jljJZcbiAgICovXG4gIHJlYWRvbmx5IHJlc2l6ZSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICAvKipcbiAgICogIOaXpeW/l+a1gVxuICAgKi9cbiAgcmVhZG9ubHkgbG9nJCA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgb3B0aW9ucz86IElPcHRpb25zXG4gICkge1xuICAgIHRoaXMuX2RldiA9IG9wdGlvbnM/LmRldiB8fCBmYWxzZTtcbiAgICB0aGlzLl9sb2dVbmhhbmRsZWRFdmVudHMgPSBvcHRpb25zPy5sb2dVbmhhbmRsZWRFdmVudHMgfHwgZmFsc2U7XG4gICAgdGhpcy5fbG9nQWxsRXZlbnRzID0gb3B0aW9ucz8ubG9nQWxsRXZlbnRzIHx8IGZhbHNlO1xuICAgIHRoaXMuX2xvZ0lnbm9yZUV2ZW50cyA9IG9wdGlvbnM/LmxvZ0lnbm9yZUV2ZW50cyB8fCBbXTtcbiAgfVxuXG4gIGdldCByZWFkeSgpIHtcbiAgICByZXR1cm4gdGhpcy5fcmVhZHk7XG4gIH1cblxuICBnZXQgZGV2KCkge1xuICAgIHJldHVybiB0aGlzLl9kZXY7XG4gIH1cblxuICBnZXQgYXBpKCkge1xuICAgIHJldHVybiB0aGlzLl9hcGk7XG4gIH1cblxuICBnZXQgbG9hZGVkKCkge1xuICAgIHJldHVybiB0aGlzLl9sb2FkZWQ7XG4gIH1cblxuICBnZXQgbG9nVW5oYW5kbGVkRXZlbnRzKCkge1xuICAgIHJldHVybiB0aGlzLl9sb2dVbmhhbmRsZWRFdmVudHM7XG4gIH1cblxuICBnZXQgbG9nQWxsRXZlbnRzKCkge1xuICAgIHJldHVybiB0aGlzLl9sb2dBbGxFdmVudHM7XG4gIH1cblxuICBnZXQgbG9nSWdub3JlRXZlbnRzKCkge1xuICAgIHJldHVybiB0aGlzLl9sb2dJZ25vcmVFdmVudHM7XG4gIH1cblxuICBnZXQgaG92ZXJJbkxhYmVsc0V2ZW50KCk6IElMYWJlbGluZ0V2ZW50IHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuX2hvdmVySW5MYWJlbHNFdmVudDtcbiAgfVxuXG4gIGdldCBsYWJlbGluZ0V2ZW50KCk6IElMYWJlbGluZ0V2ZW50IHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuX2xhYmVsaW5nRXZlbnQ7XG4gIH1cblxuICBnZXQgbGFiZWxpbmcoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5fbGFiZWxpbmdFdmVudDtcbiAgfVxuXG4gIC8qKlxuICAgKiDorr7nva7moIfms6jlmajmmK/lkKblh4blpIflrozmr5VcbiAgICogQGRlc2NyaXB0aW9uIOacgOWlveS4jeimgeWcqOWklumDqOiwg+eUqO+8jOi/meWPr+iDveS8muS6p+eUn+S4jeWPr+mihOacn+eahOaViOaenFxuICAgKi9cbiAgQExvZygpXG4gIHNldFJlYWR5KHJlYWR5OiBib29sZWFuKSB7XG4gICAgdGhpcy5fcmVhZHkgPSByZWFkeTtcbiAgICB0aGlzLnJlYWR5JC5uZXh0KHRoaXMuX3JlYWR5KTtcbiAgfVxuXG4gIC8qKlxuICAgKiDorr7nva7moIfms6jlmajmmK/lkKbliqDovb3lrozmiJBcbiAgICogQGRlc2NyaXB0aW9uIOacgOWlveS4jeimgeWcqOWklumDqOiwg+eUqO+8jOi/meWPr+iDveS8muS6p+eUn+S4jeWPr+mihOacn+eahOaViOaenFxuICAgKi9cbiAgQExvZygpXG4gIHNldExvYWRlZChsb2FkZWQ6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9sb2FkZWQgPSBsb2FkZWQ7XG4gICAgdGhpcy5sb2FkZWQkLm5leHQodGhpcy5fbG9hZGVkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiDliJ3lp4vljJbmoIfms6jlmahcbiAgICogQGRlc2NyaXB0aW9uIOacgOWlveS4jeimgeWcqOW