kfb-view 3.2.9 → 3.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/kfb-view.js +1 -1
- package/package.json +1 -1
- package/src/components/shape/index.js +1 -0
- package/src/model/label.model.js +1 -0
- package/src/view.js +23 -11
package/package.json
CHANGED
|
@@ -60,6 +60,7 @@ export class Shape extends ViewerCommon {
|
|
|
60
60
|
// 区域标注列表
|
|
61
61
|
const labelList = this.labelList.filter((item) => {
|
|
62
62
|
if (item.show === false) return false;
|
|
63
|
+
if (item.custom) return false;
|
|
63
64
|
if (!this[item.tool]) return false;
|
|
64
65
|
if (!this.isInCanvas(item.region, bounds)) return false;
|
|
65
66
|
if ((REGION_TYPES.includes(item.tool) || item.isClose && item.tool ===
|
package/src/model/label.model.js
CHANGED
|
@@ -25,6 +25,7 @@ export class LabelModel {
|
|
|
25
25
|
this.resize = data.resize; // 是否可拖动大小
|
|
26
26
|
this.isROI = data.isROI ?? false; // 是否是ROI
|
|
27
27
|
this.isClose = data.isClose ?? true; // 是否是闭合标注
|
|
28
|
+
this.custom = data.custom ?? false; // 是否是自定义的标注
|
|
28
29
|
this.select = data.select ?? false; // 是否是选中状态
|
|
29
30
|
this.show = data.show ?? true; // 是否显示
|
|
30
31
|
this.__other__ = data.__other__ || {}; // 其他信息
|
package/src/view.js
CHANGED
|
@@ -2,7 +2,7 @@ import openSeadragon from './plugin/openseadragon/openseadragon';
|
|
|
2
2
|
import './util/canvas';
|
|
3
3
|
import {EventEmitter} from './util/event-emitter';
|
|
4
4
|
import {$, dataType, deepClone} from './util';
|
|
5
|
-
import {pointsToRegion} from './util/calculate';
|
|
5
|
+
import {pointsToRegion, regionToPoint} from './util/calculate';
|
|
6
6
|
import * as COMPONENTS from './const/component';
|
|
7
7
|
import * as EVENTS from './const/event';
|
|
8
8
|
import * as Components from './components';
|
|
@@ -133,11 +133,17 @@ export default class KfbView extends EventEmitter {
|
|
|
133
133
|
* @param {Array} list
|
|
134
134
|
*/
|
|
135
135
|
initLabelList(list) {
|
|
136
|
-
this.labelList = list.map((item) =>
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
136
|
+
this.labelList = list.map((item) => {
|
|
137
|
+
if (!item.points?.length) {
|
|
138
|
+
const {startPoint, endPoint} = regionToPoint(item.region);
|
|
139
|
+
item.points = [startPoint, endPoint];
|
|
140
|
+
}
|
|
141
|
+
return new LabelModel({
|
|
142
|
+
...item,
|
|
143
|
+
region: item.region || pointsToRegion(item.points),
|
|
144
|
+
__data__: deepClone(item),
|
|
145
|
+
});
|
|
146
|
+
});
|
|
141
147
|
this.board?.setLabelList?.(this.labelList);
|
|
142
148
|
this.shape?.setLabelList?.(this.labelList);
|
|
143
149
|
this.area?.setLabelList?.(this.labelList);
|
|
@@ -145,11 +151,17 @@ export default class KfbView extends EventEmitter {
|
|
|
145
151
|
|
|
146
152
|
appendLabelList(list) {
|
|
147
153
|
this.labelList = [
|
|
148
|
-
...this.labelList, ...list.map((item) =>
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
154
|
+
...this.labelList, ...list.map((item) => {
|
|
155
|
+
if (!item.points?.length) {
|
|
156
|
+
const {startPoint, endPoint} = regionToPoint(item.region);
|
|
157
|
+
item.points = [startPoint, endPoint];
|
|
158
|
+
}
|
|
159
|
+
return new LabelModel({
|
|
160
|
+
...item,
|
|
161
|
+
region: item.region || pointsToRegion(item.points),
|
|
162
|
+
__data__: deepClone(item),
|
|
163
|
+
});
|
|
164
|
+
})];
|
|
153
165
|
this.board?.setLabelList?.(this.labelList);
|
|
154
166
|
this.shape?.setLabelList?.(this.labelList);
|
|
155
167
|
this.area?.setLabelList?.(this.labelList);
|