@bixi/label
Version:
1,264 lines • 63 kB
JavaScript
/**
* @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