kfb-view 3.0.7 → 3.0.9
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/lib/kfb-view.js.LICENSE.txt +3 -3
- package/package.json +3 -2
- package/src/components/area/index.js +38 -48
- package/src/components/board/index.js +1 -1
- package/src/components/common/common.js +0 -67
- package/src/components/grid/index.js +8 -3
- package/src/plugin/openseadragon/openseadragon.js +667 -126
- package/src/util/calculate.js +79 -35
- package/src/util/imageData.js +0 -5
- package/src/view.js +7 -6
- package/.idea/codeStyles/codeStyleConfig.xml +0 -5
- package/.idea/git_toolbox_prj.xml +0 -20
- package/.idea/inspectionProfiles/Project_Default.xml +0 -6
- package/.idea/inspectionProfiles/profiles_settings.xml +0 -5
- package/.idea/kfb-view.iml +0 -12
- package/.idea/misc.xml +0 -86
- package/.idea/modules.xml +0 -8
- package/.idea/vcs.xml +0 -6
- package/.idea/watcherTasks.xml +0 -4
- package/.idea/workspace.xml +0 -870
- package/config/utils.js +0 -77
- package/config/webpack.base.conf.js +0 -95
- package/config/webpack.dev.conf.js +0 -80
- package/config/webpack.lib.conf.js +0 -92
- package/config/webpack.prod.conf.js +0 -102
- package/config/webpack.test.conf.js +0 -0
- package/example/index.js +0 -546
- package/example/label/check.svg +0 -8
- package/example/label/check_empty.svg +0 -9
- package/example/label/cross.svg +0 -6
- package/example/label/cross_empty.svg +0 -6
- package/example/label/delete.svg +0 -8
- package/example/label/delete_empty.svg +0 -8
- package/example/label/hasAudit.svg +0 -26
- package/example/style/index.css +0 -153
- package/example/worker/canvas.worker.js +0 -28
- package/test.html +0 -246
- package/yarn.lock +0 -7508
package/src/util/calculate.js
CHANGED
|
@@ -51,8 +51,20 @@ function getRectPoint(startPoint, endPoint, deg = 0) {
|
|
|
51
51
|
}];
|
|
52
52
|
}
|
|
53
53
|
|
|
54
|
+
/*
|
|
55
|
+
* 叉乘计算公式 a×b =(x1y2-x2y1)
|
|
56
|
+
* @param {Object} p1
|
|
57
|
+
* @param {Object} p2
|
|
58
|
+
* @return {number}
|
|
59
|
+
*/
|
|
60
|
+
function crossProduct(p1, p2) {
|
|
61
|
+
return p1.x * p2.y - p2.x * p1.y;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
|
|
54
65
|
/**
|
|
55
|
-
* 判断一个点是否在某条线段的一边上,就可以利用叉乘的方向性,
|
|
66
|
+
* 判断一个点是否在某条线段的一边上,就可以利用叉乘的方向性,AB X AC
|
|
67
|
+
* (B.x - A.x) * (C.y - A.y) - (C.x - A.x) * (B.y - A.y);
|
|
56
68
|
* @param {Object} p1
|
|
57
69
|
* @param {Object} p2
|
|
58
70
|
* @param {Object} p
|
|
@@ -69,6 +81,9 @@ function getCross(p1, p2, p) {
|
|
|
69
81
|
* @param {Object} p3
|
|
70
82
|
* @param {Object} p4
|
|
71
83
|
* @param {Object} p
|
|
84
|
+
* p1————p2
|
|
85
|
+
* | |
|
|
86
|
+
* p3————p4
|
|
72
87
|
* @return {boolean}
|
|
73
88
|
*/
|
|
74
89
|
function isPointInMatrix(p1, p2, p3, p4, p) {
|
|
@@ -78,6 +93,7 @@ function isPointInMatrix(p1, p2, p3, p4, p) {
|
|
|
78
93
|
|
|
79
94
|
/**
|
|
80
95
|
* 判断p是否在椭圆中
|
|
96
|
+
* x² / a² + y² / b² = 1 椭圆计算公式, <1点在椭圆内
|
|
81
97
|
* @param {Object} point 点
|
|
82
98
|
* @param {Object} center 椭圆中心
|
|
83
99
|
* @param {Number} a 长轴
|
|
@@ -107,7 +123,6 @@ function pointInOtherPoint(point, currentPoint, width = 10) {
|
|
|
107
123
|
/**
|
|
108
124
|
* 判断一个点是否在闭合的曲线内
|
|
109
125
|
* 从目标点引一条射线,判断这条线与曲线的交点个数为奇数还是偶数,为奇数表示点在曲线内,偶数表示点在曲线外。
|
|
110
|
-
* 向Y轴正方向引射线,判断射线与曲线的交点个数。
|
|
111
126
|
* @param {Object} p
|
|
112
127
|
* @param {Object[]} poly
|
|
113
128
|
* @return {boolean}
|
|
@@ -115,37 +130,67 @@ function pointInOtherPoint(point, currentPoint, width = 10) {
|
|
|
115
130
|
function isPointInPolygon(p, poly) {
|
|
116
131
|
const px = p.x;
|
|
117
132
|
const py = p.y;
|
|
118
|
-
let
|
|
133
|
+
let count = 0;
|
|
119
134
|
|
|
120
135
|
for (let i = 0, l = poly.length, j = l - 1; i < l; j = i, i++) {
|
|
121
|
-
const
|
|
122
|
-
const
|
|
123
|
-
const
|
|
124
|
-
const
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
// 判断线段两端点是否在射线两侧
|
|
132
|
-
if ((sy < py && ty >= py) || (sy >= py && ty < py)) {
|
|
133
|
-
// 线段上与射线 Y 坐标相同的点的 X 坐标
|
|
134
|
-
const x = sx + (py - sy) * (tx - sx) / (ty - sy);
|
|
135
|
-
// 点在多边形的边上,8像素的偏差
|
|
136
|
-
if (Math.abs(x - px) < 10) {
|
|
137
|
-
return true;
|
|
138
|
-
}
|
|
136
|
+
const x0 = poly[j].x;
|
|
137
|
+
const y0 = poly[j].y;
|
|
138
|
+
const x1 = poly[i].x;
|
|
139
|
+
const y1 = poly[i].y;
|
|
140
|
+
const minY = Math.min(y0, y1);
|
|
141
|
+
const maxY = Math.max(y0, y1);
|
|
142
|
+
const minX = Math.min(x0, x1);
|
|
143
|
+
const maxX = Math.max(x0, x1);
|
|
139
144
|
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
145
|
+
if (py > maxY) {
|
|
146
|
+
// 无交点,与最小外接矩形不相交
|
|
147
|
+
} else if (py < minY) {
|
|
148
|
+
// 无交点,与最小外接矩形不相交
|
|
149
|
+
} else { // minY <= py && py <= maxY
|
|
150
|
+
if (px > maxX) {
|
|
151
|
+
// 无交点,与最小外接矩形不相交
|
|
152
|
+
} else if (px < minX) { // 有交点,但需要判断是否与最小外接矩形边界重合
|
|
153
|
+
if (minY === py && py < maxY) {
|
|
154
|
+
count++; // 交点计数,与最小外接矩形下边界重合
|
|
155
|
+
} else if (minY < py && py === maxY) {
|
|
156
|
+
// 交点不计,与最小外接矩形上边界重合
|
|
157
|
+
} else if (minY === py && py === maxY) {
|
|
158
|
+
// 交点不计,与最小外接矩形上下边界重合
|
|
159
|
+
} else {
|
|
160
|
+
count++; // 交点计数,不与最小外界矩形边界重合
|
|
161
|
+
}
|
|
162
|
+
} else { // minX <= px && px <= maxX
|
|
163
|
+
const p1 = {
|
|
164
|
+
x: x0 - px,
|
|
165
|
+
y: y0 - py,
|
|
166
|
+
};
|
|
167
|
+
const p2 = {
|
|
168
|
+
x: x1 - x0,
|
|
169
|
+
y: y1 - y0,
|
|
170
|
+
};
|
|
171
|
+
const p3 = {
|
|
172
|
+
x: x1 - x0 - 100000,
|
|
173
|
+
y: y1 - y0,
|
|
174
|
+
};
|
|
175
|
+
// (P1Q1 X Q2Q1) *(P2Q1 X Q2Q1)
|
|
176
|
+
if (crossProduct(p1, p2) * crossProduct(p3, p2) > 0) {
|
|
177
|
+
// 跨立判断不成立
|
|
178
|
+
} else { // 有交点,但需要判断是否与最小外接矩形边界重合
|
|
179
|
+
if (minY === py && py < maxY) {
|
|
180
|
+
count++; // 交点计数,与最小外接矩形下边界重合
|
|
181
|
+
} else if (minY < py && py === maxY) {
|
|
182
|
+
// 交点不计,与最小外接矩形上边界重合
|
|
183
|
+
} else if (minY === py && py === maxY) {
|
|
184
|
+
// 交点不计,与最小外接矩形上下边界重合
|
|
185
|
+
} else {
|
|
186
|
+
count++; // 交点计数,不与最小外界矩形边界重合
|
|
187
|
+
}
|
|
188
|
+
}
|
|
143
189
|
}
|
|
144
190
|
}
|
|
145
191
|
}
|
|
146
192
|
|
|
147
|
-
|
|
148
|
-
return flag;
|
|
193
|
+
return count % 2 === 1;
|
|
149
194
|
}
|
|
150
195
|
|
|
151
196
|
/**
|
|
@@ -155,15 +200,14 @@ function isPointInPolygon(p, poly) {
|
|
|
155
200
|
* @return {boolean}
|
|
156
201
|
*/
|
|
157
202
|
function isPointInLine(p, points) {
|
|
158
|
-
const
|
|
159
|
-
const
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
// 点在多边形的边上,8像素的偏差
|
|
203
|
+
const s1 = points[0];
|
|
204
|
+
const s2 = points[1];
|
|
205
|
+
if ((s1.y < p.y && s2.y >= p.y) ||
|
|
206
|
+
(s1.y >= p.y && s2.y < p.y)) {
|
|
207
|
+
// 叉乘计算
|
|
208
|
+
const x = s1.x + (p.y - s1.y) *
|
|
209
|
+
(s2.x - s1.x) / (s2.y - s1.y);
|
|
210
|
+
// 8像素的偏差
|
|
167
211
|
if (Math.abs(x - p.x) < 8) {
|
|
168
212
|
return true;
|
|
169
213
|
}
|
package/src/util/imageData.js
CHANGED
package/src/view.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import openSeadragon from './plugin/openseadragon/openseadragon';
|
|
2
2
|
import './util/canvas';
|
|
3
3
|
import {EventEmitter} from './util/event-emitter';
|
|
4
|
-
import {$, dataType, deepClone
|
|
4
|
+
import {$, dataType, deepClone} from './util';
|
|
5
5
|
import {pointsToRegion} from './util/calculate';
|
|
6
6
|
import * as COMPONENTS from './const/component';
|
|
7
7
|
import * as EVENTS from './const/event';
|
|
@@ -68,6 +68,7 @@ export default class KfbView extends EventEmitter {
|
|
|
68
68
|
* @param {boolean=} config.grid.disabled 是否禁用网格线
|
|
69
69
|
* @param {boolean=} config.grid.show 是否显示网格线
|
|
70
70
|
* @param {boolean=} config.grid.ruler 是否启用标尺
|
|
71
|
+
* @param {boolean=} config.grid.pxConversion 是否启用标尺
|
|
71
72
|
* @param {function=} config.measure.handler 标注信息的回调处理
|
|
72
73
|
* @param {function=} config.measure.selectHandler 标注信息选中时的回调处理
|
|
73
74
|
* @param {boolean=} config.measure.color 标注注释颜色
|
|
@@ -350,8 +351,8 @@ function initEvent(kv) {
|
|
|
350
351
|
kv.area.onCanvasRelease(e.position);
|
|
351
352
|
}
|
|
352
353
|
});
|
|
353
|
-
|
|
354
|
-
kv.viewer.addHandler('canvas-key',
|
|
354
|
+
|
|
355
|
+
kv.viewer.addHandler('canvas-key', (e) => {
|
|
355
356
|
const {originalEvent} = e;
|
|
356
357
|
e.preventDefaultAction = originalEvent.key.indexOf('Arrow') === -1;
|
|
357
358
|
handlerCacheEvent(originalEvent, kv);
|
|
@@ -366,7 +367,7 @@ function initEvent(kv) {
|
|
|
366
367
|
kv.area?.change?.(e);
|
|
367
368
|
kv.shape?.change?.(e);
|
|
368
369
|
}
|
|
369
|
-
}
|
|
370
|
+
});
|
|
370
371
|
|
|
371
372
|
kv.viewer.addHandler('canvas-double-click', (e) => {
|
|
372
373
|
if (kv.board?.isInDraw) {
|
|
@@ -392,9 +393,9 @@ function initEvent(kv) {
|
|
|
392
393
|
let isRightDown = false;
|
|
393
394
|
let dragPosition;
|
|
394
395
|
|
|
395
|
-
kv.viewer.
|
|
396
|
+
kv.viewer.addHandler('canvas-contextmenu', function(e) {
|
|
396
397
|
if (kv.board?.isInDraw) {
|
|
397
|
-
|
|
398
|
+
e.preventDefault = true;
|
|
398
399
|
}
|
|
399
400
|
});
|
|
400
401
|
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
-
<project version="4">
|
|
3
|
-
<component name="GitToolBoxProjectSettings">
|
|
4
|
-
<option name="commitMessageIssueKeyValidationOverride">
|
|
5
|
-
<BoolValueOverride>
|
|
6
|
-
<option name="enabled" value="true" />
|
|
7
|
-
</BoolValueOverride>
|
|
8
|
-
</option>
|
|
9
|
-
<option name="commitMessageValidationConfigOverride">
|
|
10
|
-
<CommitMessageValidationOverride>
|
|
11
|
-
<option name="enabled" value="true" />
|
|
12
|
-
</CommitMessageValidationOverride>
|
|
13
|
-
</option>
|
|
14
|
-
<option name="commitMessageValidationEnabledOverride">
|
|
15
|
-
<BoolValueOverride>
|
|
16
|
-
<option name="enabled" value="true" />
|
|
17
|
-
</BoolValueOverride>
|
|
18
|
-
</option>
|
|
19
|
-
</component>
|
|
20
|
-
</project>
|
package/.idea/kfb-view.iml
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
-
<module type="WEB_MODULE" version="4">
|
|
3
|
-
<component name="NewModuleRootManager">
|
|
4
|
-
<content url="file://$MODULE_DIR$">
|
|
5
|
-
<excludeFolder url="file://$MODULE_DIR$/.tmp" />
|
|
6
|
-
<excludeFolder url="file://$MODULE_DIR$/temp" />
|
|
7
|
-
<excludeFolder url="file://$MODULE_DIR$/tmp" />
|
|
8
|
-
</content>
|
|
9
|
-
<orderEntry type="inheritedJdk" />
|
|
10
|
-
<orderEntry type="sourceFolder" forTests="false" />
|
|
11
|
-
</component>
|
|
12
|
-
</module>
|
package/.idea/misc.xml
DELETED
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
-
<project version="4">
|
|
3
|
-
<component name="MarkdownProjectSettings" wasCopied="true">
|
|
4
|
-
<PreviewSettings splitEditorLayout="SPLIT" splitEditorPreview="PREVIEW" useGrayscaleRendering="false" zoomFactor="1.0" maxImageWidth="0" showGitHubPageIfSynced="false" allowBrowsingInPreview="false" synchronizePreviewPosition="true" highlightPreviewType="NONE" highlightFadeOut="5" highlightOnTyping="true" synchronizeSourcePosition="true" verticallyAlignSourceAndPreviewSyncPosition="true" showSearchHighlightsInPreview="false" showSelectionInPreview="true" openRemoteLinks="true" replaceUnicodeEmoji="false" lastLayoutSetsDefault="false">
|
|
5
|
-
<PanelProvider>
|
|
6
|
-
<provider providerId="com.vladsch.idea.multimarkdown.editor.swing.html.panel" providerName="Default - Swing" />
|
|
7
|
-
</PanelProvider>
|
|
8
|
-
</PreviewSettings>
|
|
9
|
-
<ParserSettings gitHubSyntaxChange="false" emojiShortcuts="1" emojiImages="0">
|
|
10
|
-
<PegdownExtensions>
|
|
11
|
-
<option name="ABBREVIATIONS" value="false" />
|
|
12
|
-
<option name="ANCHORLINKS" value="true" />
|
|
13
|
-
<option name="ASIDE" value="false" />
|
|
14
|
-
<option name="ATXHEADERSPACE" value="true" />
|
|
15
|
-
<option name="AUTOLINKS" value="true" />
|
|
16
|
-
<option name="DEFINITIONS" value="false" />
|
|
17
|
-
<option name="DEFINITION_BREAK_DOUBLE_BLANK_LINE" value="false" />
|
|
18
|
-
<option name="FENCED_CODE_BLOCKS" value="true" />
|
|
19
|
-
<option name="FOOTNOTES" value="false" />
|
|
20
|
-
<option name="HARDWRAPS" value="false" />
|
|
21
|
-
<option name="HTML_DEEP_PARSER" value="false" />
|
|
22
|
-
<option name="INSERTED" value="false" />
|
|
23
|
-
<option name="QUOTES" value="false" />
|
|
24
|
-
<option name="RELAXEDHRULES" value="true" />
|
|
25
|
-
<option name="SMARTS" value="false" />
|
|
26
|
-
<option name="STRIKETHROUGH" value="true" />
|
|
27
|
-
<option name="SUBSCRIPT" value="false" />
|
|
28
|
-
<option name="SUPERSCRIPT" value="false" />
|
|
29
|
-
<option name="SUPPRESS_HTML_BLOCKS" value="false" />
|
|
30
|
-
<option name="SUPPRESS_INLINE_HTML" value="false" />
|
|
31
|
-
<option name="TABLES" value="true" />
|
|
32
|
-
<option name="TASKLISTITEMS" value="true" />
|
|
33
|
-
<option name="TOC" value="false" />
|
|
34
|
-
<option name="WIKILINKS" value="false" />
|
|
35
|
-
</PegdownExtensions>
|
|
36
|
-
<ParserOptions>
|
|
37
|
-
<option name="ADMONITION_EXT" value="false" />
|
|
38
|
-
<option name="ATTRIBUTES_EXT" value="false" />
|
|
39
|
-
<option name="COMMONMARK_LISTS" value="true" />
|
|
40
|
-
<option name="DUMMY" value="false" />
|
|
41
|
-
<option name="EMOJI_SHORTCUTS" value="true" />
|
|
42
|
-
<option name="ENUMERATED_REFERENCES_EXT" value="false" />
|
|
43
|
-
<option name="FLEXMARK_FRONT_MATTER" value="false" />
|
|
44
|
-
<option name="GFM_LOOSE_BLANK_LINE_AFTER_ITEM_PARA" value="false" />
|
|
45
|
-
<option name="GFM_TABLE_RENDERING" value="true" />
|
|
46
|
-
<option name="GITBOOK_URL_ENCODING" value="false" />
|
|
47
|
-
<option name="GITHUB_LISTS" value="false" />
|
|
48
|
-
<option name="GITHUB_WIKI_LINKS" value="false" />
|
|
49
|
-
<option name="GITLAB_EXT" value="false" />
|
|
50
|
-
<option name="GITLAB_MATH_EXT" value="false" />
|
|
51
|
-
<option name="GITLAB_MERMAID_EXT" value="false" />
|
|
52
|
-
<option name="HEADER_ID_NON_ASCII_TO_LOWERCASE" value="false" />
|
|
53
|
-
<option name="HEADER_ID_NO_DUPED_DASHES" value="false" />
|
|
54
|
-
<option name="JEKYLL_FRONT_MATTER" value="false" />
|
|
55
|
-
<option name="MACROS_EXT" value="false" />
|
|
56
|
-
<option name="NO_TEXT_ATTRIBUTES" value="false" />
|
|
57
|
-
<option name="PARSE_HTML_ANCHOR_ID" value="false" />
|
|
58
|
-
<option name="PLANTUML_FENCED_CODE" value="false" />
|
|
59
|
-
<option name="PUML_FENCED_CODE" value="false" />
|
|
60
|
-
<option name="SIM_TOC_BLANK_LINE_SPACER" value="true" />
|
|
61
|
-
</ParserOptions>
|
|
62
|
-
</ParserSettings>
|
|
63
|
-
<HtmlSettings headerTopEnabled="false" headerBottomEnabled="false" bodyTopEnabled="false" bodyBottomEnabled="false" embedUrlContent="false" addPageHeader="true" embedImages="false" embedHttpImages="false" imageUriSerials="false" addDocTypeHtml="true" noParaTags="false" plantUmlConversion="0" mathConversion="-1">
|
|
64
|
-
<GeneratorProvider>
|
|
65
|
-
<provider providerId="com.vladsch.idea.multimarkdown.editor.swing.html.generator" providerName="Default Swing HTML Generator" />
|
|
66
|
-
</GeneratorProvider>
|
|
67
|
-
<headerTop />
|
|
68
|
-
<headerBottom />
|
|
69
|
-
<bodyTop />
|
|
70
|
-
<bodyBottom />
|
|
71
|
-
</HtmlSettings>
|
|
72
|
-
<CssSettings previewScheme="UI_SCHEME" cssUri="" isCssUriEnabled="false" isCssUriSerial="false" isCssTextEnabled="false" isDynamicPageWidth="true">
|
|
73
|
-
<StylesheetProvider>
|
|
74
|
-
<provider providerId="com.vladsch.idea.multimarkdown.editor.swing.html.css" providerName="Default Swing Stylesheet" />
|
|
75
|
-
</StylesheetProvider>
|
|
76
|
-
<ScriptProviders />
|
|
77
|
-
<cssText />
|
|
78
|
-
<cssUriHistory />
|
|
79
|
-
</CssSettings>
|
|
80
|
-
<AnnotatorSettings targetHasSpaces="true" linkCaseMismatch="true" wikiCaseMismatch="true" wikiLinkHasDashes="true" notUnderWikiHome="true" targetNotWikiPageExt="true" notUnderSourceWikiHome="true" targetNameHasAnchor="true" targetPathHasAnchor="true" wikiLinkHasSlash="true" wikiLinkHasSubdir="true" wikiLinkHasOnlyAnchor="true" linkTargetsWikiHasExt="true" linkTargetsWikiHasBadExt="true" notUnderSameRepo="true" targetNotUnderVcs="false" linkNeedsExt="true" linkHasBadExt="true" linkTargetNeedsExt="true" linkTargetHasBadExt="true" wikiLinkNotInWiki="true" imageTargetNotInRaw="true" repoRelativeAcrossVcsRoots="true" multipleWikiTargetsMatch="true" unresolvedLinkReference="true" linkIsIgnored="true" anchorIsIgnored="true" anchorIsUnresolved="true" anchorLineReferenceIsUnresolved="true" anchorLineReferenceFormat="true" anchorHasDuplicates="true" abbreviationDuplicates="true" abbreviationNotUsed="true" attributeIdDuplicateDefinition="true" attributeIdNotUsed="true" footnoteDuplicateDefinition="true" footnoteUnresolved="true" footnoteDuplicates="true" footnoteNotUsed="true" macroDuplicateDefinition="true" macroUnresolved="true" macroDuplicates="true" macroNotUsed="true" referenceDuplicateDefinition="true" referenceUnresolved="true" referenceDuplicates="true" referenceNotUsed="true" referenceUnresolvedNumericId="true" enumRefDuplicateDefinition="true" enumRefUnresolved="true" enumRefDuplicates="true" enumRefNotUsed="true" enumRefLinkUnresolved="true" enumRefLinkDuplicates="true" simTocUpdateNeeded="true" simTocTitleSpaceNeeded="true" />
|
|
81
|
-
<HtmlExportSettings updateOnSave="false" parentDir="" targetDir="" cssDir="css" scriptDir="js" plainHtml="false" imageDir="" copyLinkedImages="false" imageUniquifyType="0" targetPathType="2" targetExt="" useTargetExt="false" noCssNoScripts="false" useElementStyleAttribute="false" linkToExportedHtml="true" exportOnSettingsChange="true" regenerateOnProjectOpen="false" linkFormatType="HTTP_ABSOLUTE" />
|
|
82
|
-
<LinkMapSettings>
|
|
83
|
-
<textMaps />
|
|
84
|
-
</LinkMapSettings>
|
|
85
|
-
</component>
|
|
86
|
-
</project>
|
package/.idea/modules.xml
DELETED
package/.idea/vcs.xml
DELETED
package/.idea/watcherTasks.xml
DELETED