@mlightcad/cad-simple-viewer 1.5.8 → 1.5.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/README.md +12 -4
- package/dist/cad-simple-viewer.js +8556 -6655
- package/dist/cad-simple-viewer.umd.cjs +200 -37
- package/dist/libredwg-parser-worker.js +2061 -2059
- package/dist/mtext-renderer-worker.js +1878 -1865
- package/lib/app/AcApBrand.d.ts +36 -0
- package/lib/app/AcApBrand.d.ts.map +1 -0
- package/lib/app/AcApBrand.js +63 -0
- package/lib/app/AcApBrand.js.map +1 -0
- package/lib/app/AcApBusyIndicator.d.ts.map +1 -1
- package/lib/app/AcApBusyIndicator.js +2 -2
- package/lib/app/AcApBusyIndicator.js.map +1 -1
- package/lib/app/AcApDocManager.d.ts +11 -15
- package/lib/app/AcApDocManager.d.ts.map +1 -1
- package/lib/app/AcApDocManager.js +60 -35
- package/lib/app/AcApDocManager.js.map +1 -1
- package/lib/app/AcApOpenFileDialog.d.ts.map +1 -1
- package/lib/app/AcApOpenFileDialog.js +8 -4
- package/lib/app/AcApOpenFileDialog.js.map +1 -1
- package/lib/app/AcApOpenFileProfiler.d.ts +58 -0
- package/lib/app/AcApOpenFileProfiler.d.ts.map +1 -0
- package/lib/app/AcApOpenFileProfiler.js +353 -0
- package/lib/app/AcApOpenFileProfiler.js.map +1 -0
- package/lib/app/AcApOpenFileProgressController.d.ts +12 -0
- package/lib/app/AcApOpenFileProgressController.d.ts.map +1 -1
- package/lib/app/AcApOpenFileProgressController.js +85 -5
- package/lib/app/AcApOpenFileProgressController.js.map +1 -1
- package/lib/app/AcApProgress.d.ts +9 -2
- package/lib/app/AcApProgress.d.ts.map +1 -1
- package/lib/app/AcApProgress.js +40 -12
- package/lib/app/AcApProgress.js.map +1 -1
- package/lib/app/AcApWebworkerReadiness.d.ts.map +1 -1
- package/lib/app/AcApWebworkerReadiness.js +6 -7
- package/lib/app/AcApWebworkerReadiness.js.map +1 -1
- package/lib/app/AcApWorkerAssets.d.ts +27 -0
- package/lib/app/AcApWorkerAssets.d.ts.map +1 -0
- package/lib/app/AcApWorkerAssets.js +27 -0
- package/lib/app/AcApWorkerAssets.js.map +1 -0
- package/lib/app/index.d.ts +3 -0
- package/lib/app/index.d.ts.map +1 -1
- package/lib/app/index.js +3 -0
- package/lib/app/index.js.map +1 -1
- package/lib/command/AcApAboutCmd.d.ts +21 -0
- package/lib/command/AcApAboutCmd.d.ts.map +1 -0
- package/lib/command/AcApAboutCmd.js +119 -0
- package/lib/command/AcApAboutCmd.js.map +1 -0
- package/lib/command/AcApSysVarCmd.d.ts.map +1 -1
- package/lib/command/AcApSysVarCmd.js +6 -4
- package/lib/command/AcApSysVarCmd.js.map +1 -1
- package/lib/command/convert/AcApConvertToPngCmd.js +1 -1
- package/lib/command/convert/AcApConvertToPngCmd.js.map +1 -1
- package/lib/command/convert/AcApDxfConvertor.d.ts.map +1 -1
- package/lib/command/convert/AcApDxfConvertor.js +2 -1
- package/lib/command/convert/AcApDxfConvertor.js.map +1 -1
- package/lib/command/convert/AcApEntityPreviewCmd.js +1 -1
- package/lib/command/convert/AcApEntityPreviewCmd.js.map +1 -1
- package/lib/command/draw/AcApHatchCmd.js +12 -10
- package/lib/command/draw/AcApHatchCmd.js.map +1 -1
- package/lib/command/draw/AcApImageAttachCmd.js +2 -2
- package/lib/command/draw/AcApImageAttachCmd.js.map +1 -1
- package/lib/command/draw/AcApInsertCmd.js +2 -2
- package/lib/command/draw/AcApInsertCmd.js.map +1 -1
- package/lib/command/draw/AcApPolygonCmd.d.ts.map +1 -1
- package/lib/command/draw/AcApPolygonCmd.js +3 -1
- package/lib/command/draw/AcApPolygonCmd.js.map +1 -1
- package/lib/command/draw/AcApXAttachCmd.d.ts.map +1 -1
- package/lib/command/draw/AcApXAttachCmd.js +10 -5
- package/lib/command/draw/AcApXAttachCmd.js.map +1 -1
- package/lib/command/index.d.ts +1 -0
- package/lib/command/index.d.ts.map +1 -1
- package/lib/command/index.js +1 -0
- package/lib/command/index.js.map +1 -1
- package/lib/command/modify/AcApCopyCmd.d.ts.map +1 -1
- package/lib/command/modify/AcApCopyCmd.js +6 -2
- package/lib/command/modify/AcApCopyCmd.js.map +1 -1
- package/lib/command/modify/AcApOffsetCmd.d.ts.map +1 -1
- package/lib/command/modify/AcApOffsetCmd.js +1 -4
- package/lib/command/modify/AcApOffsetCmd.js.map +1 -1
- package/lib/editor/global/AcEdUiTheme.d.ts +12 -0
- package/lib/editor/global/AcEdUiTheme.d.ts.map +1 -1
- package/lib/editor/global/AcEdUiTheme.js +26 -0
- package/lib/editor/global/AcEdUiTheme.js.map +1 -1
- package/lib/editor/input/prompt/AcEdPromptAngleOptions.d.ts +1 -0
- package/lib/editor/input/prompt/AcEdPromptAngleOptions.d.ts.map +1 -1
- package/lib/editor/input/prompt/AcEdPromptAngleOptions.js +5 -0
- package/lib/editor/input/prompt/AcEdPromptAngleOptions.js.map +1 -1
- package/lib/editor/input/prompt/AcEdPromptKeywordOptions.d.ts +10 -0
- package/lib/editor/input/prompt/AcEdPromptKeywordOptions.d.ts.map +1 -1
- package/lib/editor/input/prompt/AcEdPromptKeywordOptions.js +19 -0
- package/lib/editor/input/prompt/AcEdPromptKeywordOptions.js.map +1 -1
- package/lib/editor/input/prompt/AcEdPromptNumericalOptions.d.ts +1 -0
- package/lib/editor/input/prompt/AcEdPromptNumericalOptions.d.ts.map +1 -1
- package/lib/editor/input/prompt/AcEdPromptNumericalOptions.js +5 -0
- package/lib/editor/input/prompt/AcEdPromptNumericalOptions.js.map +1 -1
- package/lib/editor/input/prompt/AcEdPromptOptions.d.ts +20 -0
- package/lib/editor/input/prompt/AcEdPromptOptions.d.ts.map +1 -1
- package/lib/editor/input/prompt/AcEdPromptOptions.js +29 -0
- package/lib/editor/input/prompt/AcEdPromptOptions.js.map +1 -1
- package/lib/editor/input/prompt/AcEdPromptPointOptions.d.ts +18 -0
- package/lib/editor/input/prompt/AcEdPromptPointOptions.d.ts.map +1 -1
- package/lib/editor/input/prompt/AcEdPromptPointOptions.js +49 -0
- package/lib/editor/input/prompt/AcEdPromptPointOptions.js.map +1 -1
- package/lib/editor/input/prompt/AcEdPromptStringOptions.d.ts +1 -0
- package/lib/editor/input/prompt/AcEdPromptStringOptions.d.ts.map +1 -1
- package/lib/editor/input/prompt/AcEdPromptStringOptions.js +5 -0
- package/lib/editor/input/prompt/AcEdPromptStringOptions.js.map +1 -1
- package/lib/editor/input/ui/AcEdCommandLine.d.ts.map +1 -1
- package/lib/editor/input/ui/AcEdCommandLine.js +6 -5
- package/lib/editor/input/ui/AcEdCommandLine.js.map +1 -1
- package/lib/editor/input/ui/AcEdInputManager.d.ts.map +1 -1
- package/lib/editor/input/ui/AcEdInputManager.js +3 -1
- package/lib/editor/input/ui/AcEdInputManager.js.map +1 -1
- package/lib/i18n/AcApI18n.d.ts +1 -1
- package/lib/i18n/AcApI18n.d.ts.map +1 -1
- package/lib/i18n/AcApI18n.js +2 -1
- package/lib/i18n/AcApI18n.js.map +1 -1
- package/lib/i18n/cs/command.d.ts +390 -0
- package/lib/i18n/cs/command.d.ts.map +1 -0
- package/lib/i18n/cs/command.js +389 -0
- package/lib/i18n/cs/command.js.map +1 -0
- package/lib/i18n/cs/jig.d.ts +2 -0
- package/lib/i18n/cs/jig.d.ts.map +1 -0
- package/lib/i18n/cs/jig.js +7 -0
- package/lib/i18n/cs/jig.js.map +1 -0
- package/lib/i18n/cs/main.d.ts +58 -0
- package/lib/i18n/cs/main.d.ts.map +1 -0
- package/lib/i18n/cs/main.js +57 -0
- package/lib/i18n/cs/main.js.map +1 -0
- package/lib/i18n/en/command.d.ts +49 -1
- package/lib/i18n/en/command.d.ts.map +1 -1
- package/lib/i18n/en/command.js +49 -1
- package/lib/i18n/en/command.js.map +1 -1
- package/lib/i18n/en/main.d.ts +11 -0
- package/lib/i18n/en/main.d.ts.map +1 -1
- package/lib/i18n/en/main.js +11 -0
- package/lib/i18n/en/main.js.map +1 -1
- package/lib/i18n/index.d.ts.map +1 -1
- package/lib/i18n/index.js +8 -0
- package/lib/i18n/index.js.map +1 -1
- package/lib/i18n/tr/command.d.ts +49 -1
- package/lib/i18n/tr/command.d.ts.map +1 -1
- package/lib/i18n/tr/command.js +49 -1
- package/lib/i18n/tr/command.js.map +1 -1
- package/lib/i18n/tr/main.d.ts +11 -0
- package/lib/i18n/tr/main.d.ts.map +1 -1
- package/lib/i18n/tr/main.js +11 -0
- package/lib/i18n/tr/main.js.map +1 -1
- package/lib/i18n/zh/command.d.ts +49 -1
- package/lib/i18n/zh/command.d.ts.map +1 -1
- package/lib/i18n/zh/command.js +49 -1
- package/lib/i18n/zh/command.js.map +1 -1
- package/lib/i18n/zh/main.d.ts +11 -0
- package/lib/i18n/zh/main.d.ts.map +1 -1
- package/lib/i18n/zh/main.js +11 -0
- package/lib/i18n/zh/main.js.map +1 -1
- package/lib/index.d.ts +1 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +1 -0
- package/lib/index.js.map +1 -1
- package/lib/ui/AcUiAboutDialog.d.ts +25 -0
- package/lib/ui/AcUiAboutDialog.d.ts.map +1 -0
- package/lib/ui/AcUiAboutDialog.js +120 -0
- package/lib/ui/AcUiAboutDialog.js.map +1 -0
- package/lib/ui/AcUiDialog.d.ts +101 -0
- package/lib/ui/AcUiDialog.d.ts.map +1 -0
- package/lib/ui/AcUiDialog.js +182 -0
- package/lib/ui/AcUiDialog.js.map +1 -0
- package/lib/ui/index.d.ts +3 -0
- package/lib/ui/index.d.ts.map +1 -0
- package/lib/ui/index.js +3 -0
- package/lib/ui/index.js.map +1 -0
- package/lib/util/index.d.ts +0 -1
- package/lib/util/index.d.ts.map +1 -1
- package/lib/util/index.js +0 -1
- package/lib/util/index.js.map +1 -1
- package/lib/view/AcTrEntityDisplayController.d.ts +9 -0
- package/lib/view/AcTrEntityDisplayController.d.ts.map +1 -1
- package/lib/view/AcTrEntityDisplayController.js +18 -5
- package/lib/view/AcTrEntityDisplayController.js.map +1 -1
- package/lib/view/AcTrLayout.d.ts +19 -0
- package/lib/view/AcTrLayout.d.ts.map +1 -1
- package/lib/view/AcTrLayout.js +79 -9
- package/lib/view/AcTrLayout.js.map +1 -1
- package/lib/view/AcTrProgressiveOpenFitController.d.ts +1 -4
- package/lib/view/AcTrProgressiveOpenFitController.d.ts.map +1 -1
- package/lib/view/AcTrProgressiveOpenFitController.js +3 -8
- package/lib/view/AcTrProgressiveOpenFitController.js.map +1 -1
- package/lib/view/AcTrScene.d.ts +4 -1
- package/lib/view/AcTrScene.d.ts.map +1 -1
- package/lib/view/AcTrScene.js +79 -44
- package/lib/view/AcTrScene.js.map +1 -1
- package/lib/view/AcTrView2d.d.ts +23 -3
- package/lib/view/AcTrView2d.d.ts.map +1 -1
- package/lib/view/AcTrView2d.js +145 -57
- package/lib/view/AcTrView2d.js.map +1 -1
- package/package.json +8 -9
- package/dist/dxf-parser-worker.js +0 -2357
- package/lib/util/yieldToMain.d.ts +0 -5
- package/lib/util/yieldToMain.d.ts.map +0 -1
- package/lib/util/yieldToMain.js +0 -11
- package/lib/util/yieldToMain.js.map +0 -1
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
import { applyUiTheme, resolveUiTheme } from '../editor/global/AcEdUiTheme';
|
|
2
|
+
/**
|
|
3
|
+
* Framework-free modal dialog base built with pure HTML and CSS.
|
|
4
|
+
*
|
|
5
|
+
* Subclasses fill {@link bodyEl} / {@link footerEl} and call {@link show}.
|
|
6
|
+
*/
|
|
7
|
+
var AcUiDialog = /** @class */ (function () {
|
|
8
|
+
/**
|
|
9
|
+
* Builds backdrop, header, body, and footer shell (not yet shown as a promise).
|
|
10
|
+
*
|
|
11
|
+
* @param options - Title, host, and close behavior
|
|
12
|
+
*/
|
|
13
|
+
function AcUiDialog(options) {
|
|
14
|
+
var _this = this;
|
|
15
|
+
var _a, _b, _c, _d, _e, _f;
|
|
16
|
+
this.disposed = false;
|
|
17
|
+
AcUiDialog.ensureStyles();
|
|
18
|
+
var host = (_a = options.host) !== null && _a !== void 0 ? _a : document.body;
|
|
19
|
+
var titleId = (_b = options.titleId) !== null && _b !== void 0 ? _b : "ml-ui-dialog-title-".concat(AcUiDialog.nextTitleId++);
|
|
20
|
+
this.closeOnEscape = (_c = options.closeOnEscape) !== null && _c !== void 0 ? _c : true;
|
|
21
|
+
this.previouslyFocused =
|
|
22
|
+
document.activeElement instanceof HTMLElement
|
|
23
|
+
? document.activeElement
|
|
24
|
+
: null;
|
|
25
|
+
this.backdrop = document.createElement('div');
|
|
26
|
+
this.backdrop.className = 'ml-ui-dialog-backdrop';
|
|
27
|
+
applyUiTheme((_d = options.theme) !== null && _d !== void 0 ? _d : resolveUiTheme(host), this.backdrop);
|
|
28
|
+
if ((_e = options.closeOnBackdrop) !== null && _e !== void 0 ? _e : true) {
|
|
29
|
+
this.backdrop.addEventListener('mousedown', function (event) {
|
|
30
|
+
if (event.target === _this.backdrop)
|
|
31
|
+
_this.close();
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
this.dialog = document.createElement('div');
|
|
35
|
+
this.dialog.className = ['ml-ui-dialog', options.dialogClassName]
|
|
36
|
+
.filter(Boolean)
|
|
37
|
+
.join(' ');
|
|
38
|
+
this.dialog.setAttribute('role', 'dialog');
|
|
39
|
+
this.dialog.setAttribute('aria-modal', 'true');
|
|
40
|
+
this.dialog.setAttribute('aria-labelledby', titleId);
|
|
41
|
+
this.dialog.tabIndex = -1;
|
|
42
|
+
this.dialog.addEventListener('mousedown', function (event) { return event.stopPropagation(); });
|
|
43
|
+
var header = document.createElement('div');
|
|
44
|
+
header.className = 'ml-ui-dialog-header';
|
|
45
|
+
this.titleEl = document.createElement('div');
|
|
46
|
+
this.titleEl.id = titleId;
|
|
47
|
+
this.titleEl.className = 'ml-ui-dialog-title';
|
|
48
|
+
this.titleEl.textContent = options.title;
|
|
49
|
+
var closeBtn = document.createElement('button');
|
|
50
|
+
closeBtn.type = 'button';
|
|
51
|
+
closeBtn.className = 'ml-ui-dialog-close';
|
|
52
|
+
closeBtn.setAttribute('aria-label', (_f = options.closeLabel) !== null && _f !== void 0 ? _f : 'Close');
|
|
53
|
+
closeBtn.textContent = '×';
|
|
54
|
+
closeBtn.addEventListener('click', function () { return _this.close(); });
|
|
55
|
+
header.appendChild(this.titleEl);
|
|
56
|
+
header.appendChild(closeBtn);
|
|
57
|
+
this.bodyEl = document.createElement('div');
|
|
58
|
+
this.bodyEl.className = 'ml-ui-dialog-body';
|
|
59
|
+
this.footerEl = document.createElement('div');
|
|
60
|
+
this.footerEl.className = 'ml-ui-dialog-footer';
|
|
61
|
+
this.dialog.appendChild(header);
|
|
62
|
+
this.dialog.appendChild(this.bodyEl);
|
|
63
|
+
this.dialog.appendChild(this.footerEl);
|
|
64
|
+
this.backdrop.appendChild(this.dialog);
|
|
65
|
+
host.appendChild(this.backdrop);
|
|
66
|
+
this.onKeyDown = function (event) {
|
|
67
|
+
if (event.key === 'Escape') {
|
|
68
|
+
if (!_this.closeOnEscape)
|
|
69
|
+
return;
|
|
70
|
+
event.preventDefault();
|
|
71
|
+
_this.close();
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
if (event.key === 'Tab') {
|
|
75
|
+
_this.trapFocus(event);
|
|
76
|
+
}
|
|
77
|
+
};
|
|
78
|
+
window.addEventListener('keydown', this.onKeyDown);
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Returns a promise that resolves when the dialog is closed.
|
|
82
|
+
* Safe to call multiple times; subsequent calls return the same promise.
|
|
83
|
+
*/
|
|
84
|
+
AcUiDialog.prototype.show = function () {
|
|
85
|
+
var _this = this;
|
|
86
|
+
if (!this.openPromise) {
|
|
87
|
+
this.openPromise = new Promise(function (resolve) {
|
|
88
|
+
_this.resolve = resolve;
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
return this.openPromise;
|
|
92
|
+
};
|
|
93
|
+
/**
|
|
94
|
+
* Closes the dialog, removes DOM, and resolves the {@link show} promise.
|
|
95
|
+
* Safe to call multiple times.
|
|
96
|
+
*/
|
|
97
|
+
AcUiDialog.prototype.close = function () {
|
|
98
|
+
var _a, _b;
|
|
99
|
+
if (this.disposed)
|
|
100
|
+
return;
|
|
101
|
+
this.disposed = true;
|
|
102
|
+
window.removeEventListener('keydown', this.onKeyDown);
|
|
103
|
+
if (this.backdrop.parentNode) {
|
|
104
|
+
this.backdrop.parentNode.removeChild(this.backdrop);
|
|
105
|
+
}
|
|
106
|
+
(_a = this.previouslyFocused) === null || _a === void 0 ? void 0 : _a.focus();
|
|
107
|
+
(_b = this.resolve) === null || _b === void 0 ? void 0 : _b.call(this);
|
|
108
|
+
this.resolve = undefined;
|
|
109
|
+
};
|
|
110
|
+
/**
|
|
111
|
+
* Focuses an element after the current microtask (once the dialog is in the DOM).
|
|
112
|
+
*
|
|
113
|
+
* @param element - Element to focus
|
|
114
|
+
*/
|
|
115
|
+
AcUiDialog.prototype.focusAfterOpen = function (element) {
|
|
116
|
+
queueMicrotask(function () { return element.focus(); });
|
|
117
|
+
};
|
|
118
|
+
/**
|
|
119
|
+
* Keeps Tab / Shift+Tab focus cycling inside the dialog panel.
|
|
120
|
+
*/
|
|
121
|
+
AcUiDialog.prototype.trapFocus = function (event) {
|
|
122
|
+
var focusable = this.getFocusableElements();
|
|
123
|
+
if (focusable.length === 0) {
|
|
124
|
+
event.preventDefault();
|
|
125
|
+
this.dialog.focus();
|
|
126
|
+
return;
|
|
127
|
+
}
|
|
128
|
+
var first = focusable[0];
|
|
129
|
+
var last = focusable[focusable.length - 1];
|
|
130
|
+
var active = document.activeElement;
|
|
131
|
+
if (event.shiftKey) {
|
|
132
|
+
if (active === first || !this.dialog.contains(active)) {
|
|
133
|
+
event.preventDefault();
|
|
134
|
+
last.focus();
|
|
135
|
+
}
|
|
136
|
+
return;
|
|
137
|
+
}
|
|
138
|
+
if (active === last || !this.dialog.contains(active)) {
|
|
139
|
+
event.preventDefault();
|
|
140
|
+
first.focus();
|
|
141
|
+
}
|
|
142
|
+
};
|
|
143
|
+
AcUiDialog.prototype.getFocusableElements = function () {
|
|
144
|
+
var selector = [
|
|
145
|
+
'a[href]',
|
|
146
|
+
'button:not([disabled])',
|
|
147
|
+
'textarea:not([disabled])',
|
|
148
|
+
'input:not([disabled]):not([type="hidden"])',
|
|
149
|
+
'select:not([disabled])',
|
|
150
|
+
'[tabindex]:not([tabindex="-1"])'
|
|
151
|
+
].join(',');
|
|
152
|
+
return Array.from(this.dialog.querySelectorAll(selector)).filter(function (el) {
|
|
153
|
+
return !el.hasAttribute('disabled') &&
|
|
154
|
+
el.getAttribute('aria-hidden') !== 'true' &&
|
|
155
|
+
el.tabIndex >= 0 &&
|
|
156
|
+
el.offsetParent !== null;
|
|
157
|
+
});
|
|
158
|
+
};
|
|
159
|
+
/**
|
|
160
|
+
* Injects shared dialog chrome CSS once per document.
|
|
161
|
+
*/
|
|
162
|
+
AcUiDialog.ensureStyles = function () {
|
|
163
|
+
if (AcUiDialog.stylesInjected)
|
|
164
|
+
return;
|
|
165
|
+
if (document.getElementById(AcUiDialog.styleId)) {
|
|
166
|
+
AcUiDialog.stylesInjected = true;
|
|
167
|
+
return;
|
|
168
|
+
}
|
|
169
|
+
var style = document.createElement('style');
|
|
170
|
+
style.id = AcUiDialog.styleId;
|
|
171
|
+
style.textContent = "\n.ml-ui-dialog-backdrop {\n position: fixed;\n inset: 0;\n z-index: 10050;\n display: flex;\n align-items: center;\n justify-content: center;\n background: var(--ml-ui-overlay, rgba(0, 0, 0, 0.45));\n font-family: system-ui, -apple-system, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif;\n}\n\n.ml-ui-dialog {\n width: min(360px, calc(100vw - 32px));\n box-sizing: border-box;\n padding: 16px 18px 14px;\n border-radius: 10px;\n border: 1px solid var(--ml-ui-border, #dcdfe6);\n background: var(--ml-ui-bg, #ffffff);\n color: var(--ml-ui-text, #303133);\n box-shadow: var(--ml-ui-shadow, 0 8px 28px rgba(0, 0, 0, 0.28));\n}\n\n.ml-ui-dialog-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin-bottom: 14px;\n}\n\n.ml-ui-dialog-title {\n font-size: 14px;\n font-weight: 600;\n}\n\n.ml-ui-dialog-close {\n border: none;\n background: transparent;\n color: var(--ml-ui-text-muted, #606266);\n cursor: pointer;\n font-size: 18px;\n line-height: 1;\n padding: 2px 6px;\n}\n\n.ml-ui-dialog-body {\n min-width: 0;\n}\n\n.ml-ui-dialog-footer:empty {\n display: none;\n}\n\n.ml-ui-dialog-footer:not(:empty) {\n display: flex;\n justify-content: flex-end;\n margin-top: 16px;\n gap: 8px;\n}\n\n.ml-ui-dialog-btn {\n min-width: 72px;\n padding: 6px 14px;\n border-radius: 4px;\n border: 1px solid var(--ml-ui-accent, #0b84ff);\n background: var(--ml-ui-accent, #0b84ff);\n color: #fff;\n cursor: pointer;\n font-size: 12px;\n}\n\n.ml-ui-dialog-btn:hover {\n filter: brightness(1.05);\n}\n".trim();
|
|
172
|
+
document.head.appendChild(style);
|
|
173
|
+
AcUiDialog.stylesInjected = true;
|
|
174
|
+
};
|
|
175
|
+
/** ID of the shared base style element. */
|
|
176
|
+
AcUiDialog.styleId = 'ml-ui-dialog-styles';
|
|
177
|
+
AcUiDialog.stylesInjected = false;
|
|
178
|
+
AcUiDialog.nextTitleId = 0;
|
|
179
|
+
return AcUiDialog;
|
|
180
|
+
}());
|
|
181
|
+
export { AcUiDialog };
|
|
182
|
+
//# sourceMappingURL=AcUiDialog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AcUiDialog.js","sourceRoot":"","sources":["../../src/ui/AcUiDialog.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,mBAAmB,CAAA"}
|
package/lib/ui/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,mBAAmB,CAAA"}
|
package/lib/util/index.d.ts
CHANGED
package/lib/util/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/util/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAA;AAClC,cAAc,mBAAmB,CAAA;AACjC,cAAc,0BAA0B,CAAA;AACxC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,mCAAmC,CAAA;AACjD,cAAc,yBAAyB,CAAA;AACvC,cAAc,oBAAoB,CAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/util/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAA;AAClC,cAAc,mBAAmB,CAAA;AACjC,cAAc,0BAA0B,CAAA;AACxC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,mCAAmC,CAAA;AACjD,cAAc,yBAAyB,CAAA;AACvC,cAAc,oBAAoB,CAAA"}
|
package/lib/util/index.js
CHANGED
package/lib/util/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/util/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAA;AAClC,cAAc,mBAAmB,CAAA;AACjC,cAAc,0BAA0B,CAAA;AACxC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,mCAAmC,CAAA;AACjD,cAAc,yBAAyB,CAAA;AACvC,cAAc,oBAAoB,CAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/util/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAA;AAClC,cAAc,mBAAmB,CAAA;AACjC,cAAc,0BAA0B,CAAA;AACxC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,mCAAmC,CAAA;AACjD,cAAc,yBAAyB,CAAA;AACvC,cAAc,oBAAoB,CAAA"}
|
|
@@ -9,6 +9,11 @@ type AcTrEntityDisplayCandidate = Pick<AcDbEntity, 'visibility' | 'layer'>;
|
|
|
9
9
|
* so off-layer content can be skipped at open time and converted later when the
|
|
10
10
|
* layer becomes visible again.
|
|
11
11
|
*
|
|
12
|
+
* Block references (INSERTs) are special: freezing the INSERT layer hides the
|
|
13
|
+
* entire reference, but turning the INSERT layer **off** must still convert the
|
|
14
|
+
* block so nested geometry on other layers can remain visible (AutoCAD Off vs
|
|
15
|
+
* Freeze semantics).
|
|
16
|
+
*
|
|
12
17
|
* The host view ({@link AcTrView2d}) supplies layer metadata and performs batch
|
|
13
18
|
* conversion through its existing entity pipeline.
|
|
14
19
|
*/
|
|
@@ -33,6 +38,9 @@ export declare class AcTrEntityDisplayController {
|
|
|
33
38
|
/**
|
|
34
39
|
* Collects entities on the given layer that were skipped while the layer was
|
|
35
40
|
* off/frozen and therefore are not yet present in the scene.
|
|
41
|
+
*
|
|
42
|
+
* For INSERTs, entities are collected when the INSERT layer is no longer
|
|
43
|
+
* frozen (Off alone does not skip conversion).
|
|
36
44
|
*/
|
|
37
45
|
collectMissingEntitiesOnLayer(layerName: string, blockTableRecord: AcDbBlockTableRecord, hasEntity: (objectId: AcDbObjectId) => boolean): AcDbEntity[];
|
|
38
46
|
/**
|
|
@@ -40,6 +48,7 @@ export declare class AcTrEntityDisplayController {
|
|
|
40
48
|
* including entities on off/frozen layers skipped during interactive viewing.
|
|
41
49
|
*/
|
|
42
50
|
collectMissingEntitiesForExport(blockTableRecord: AcDbBlockTableRecord, hasEntity: (objectId: AcDbObjectId) => boolean, includeInvisibleLayers?: boolean): AcDbEntity[];
|
|
51
|
+
private isBlockReference;
|
|
43
52
|
private collectMissingEntities;
|
|
44
53
|
}
|
|
45
54
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AcTrEntityDisplayController.d.ts","sourceRoot":"","sources":["../../src/view/AcTrEntityDisplayController.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"AcTrEntityDisplayController.d.ts","sourceRoot":"","sources":["../../src/view/AcTrEntityDisplayController.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,oBAAoB,EACpB,UAAU,EACV,yBAAyB,EACzB,YAAY,EACb,MAAM,uBAAuB,CAAA;AAE9B,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AAGzC,KAAK,0BAA0B,GAAG,IAAI,CAAC,UAAU,EAAE,YAAY,GAAG,OAAO,CAAC,CAAA;AAE1E;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,2BAA2B;IAEpC,OAAO,CAAC,QAAQ,CAAC,YAAY;gBAAZ,YAAY,EAAE,CAC7B,SAAS,EAAE,MAAM,KACd,aAAa,GAAG,SAAS;IAGhC;;OAEG;IACH,aAAa,CAAC,MAAM,EAAE,0BAA0B,GAAG,OAAO;IAmB1D;;;;;OAKG;IACH,sBAAsB,CACpB,MAAM,EAAE,0BAA0B,EAClC,sBAAsB,UAAO,GAC5B,OAAO;IAYV;;OAEG;IACH,6BAA6B,CAC3B,OAAO,EAAE,OAAO,CAAC,yBAAyB,CAAC,GAC1C,OAAO;IAIV;;;;;;OAMG;IACH,6BAA6B,CAC3B,SAAS,EAAE,MAAM,EACjB,gBAAgB,EAAE,oBAAoB,EACtC,SAAS,EAAE,CAAC,QAAQ,EAAE,YAAY,KAAK,OAAO,GAC7C,UAAU,EAAE;IAQf;;;OAGG;IACH,+BAA+B,CAC7B,gBAAgB,EAAE,oBAAoB,EACtC,SAAS,EAAE,CAAC,QAAQ,EAAE,YAAY,KAAK,OAAO,EAC9C,sBAAsB,UAAO,GAC5B,UAAU,EAAE;IAMf,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,sBAAsB;CAkB/B"}
|
|
@@ -9,6 +9,7 @@ var __values = (this && this.__values) || function(o) {
|
|
|
9
9
|
};
|
|
10
10
|
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
11
11
|
};
|
|
12
|
+
import { AcDbBlockReference } from '@mlightcad/data-model';
|
|
12
13
|
import { AcTrLayer } from './AcTrLayer';
|
|
13
14
|
/**
|
|
14
15
|
* Resolves whether database entities should be converted into scene geometry.
|
|
@@ -18,6 +19,11 @@ import { AcTrLayer } from './AcTrLayer';
|
|
|
18
19
|
* so off-layer content can be skipped at open time and converted later when the
|
|
19
20
|
* layer becomes visible again.
|
|
20
21
|
*
|
|
22
|
+
* Block references (INSERTs) are special: freezing the INSERT layer hides the
|
|
23
|
+
* entire reference, but turning the INSERT layer **off** must still convert the
|
|
24
|
+
* block so nested geometry on other layers can remain visible (AutoCAD Off vs
|
|
25
|
+
* Freeze semantics).
|
|
26
|
+
*
|
|
21
27
|
* The host view ({@link AcTrView2d}) supplies layer metadata and performs batch
|
|
22
28
|
* conversion through its existing entity pipeline.
|
|
23
29
|
*/
|
|
@@ -36,6 +42,11 @@ var AcTrEntityDisplayController = /** @class */ (function () {
|
|
|
36
42
|
if (!layer) {
|
|
37
43
|
return true;
|
|
38
44
|
}
|
|
45
|
+
if (this.isBlockReference(entity)) {
|
|
46
|
+
// INSERT: skip only when frozen. Off still converts so multi-layer
|
|
47
|
+
// contents on other layers can show.
|
|
48
|
+
return !layer.isFrozen;
|
|
49
|
+
}
|
|
39
50
|
return AcTrLayer.isLayerVisible(layer);
|
|
40
51
|
};
|
|
41
52
|
/**
|
|
@@ -52,11 +63,7 @@ var AcTrEntityDisplayController = /** @class */ (function () {
|
|
|
52
63
|
if (includeInvisibleLayers) {
|
|
53
64
|
return true;
|
|
54
65
|
}
|
|
55
|
-
|
|
56
|
-
if (!layer) {
|
|
57
|
-
return true;
|
|
58
|
-
}
|
|
59
|
-
return AcTrLayer.isLayerVisible(layer);
|
|
66
|
+
return this.shouldConvert(entity);
|
|
60
67
|
};
|
|
61
68
|
/**
|
|
62
69
|
* Returns true when a layer visibility change may have made entities drawable.
|
|
@@ -67,6 +74,9 @@ var AcTrEntityDisplayController = /** @class */ (function () {
|
|
|
67
74
|
/**
|
|
68
75
|
* Collects entities on the given layer that were skipped while the layer was
|
|
69
76
|
* off/frozen and therefore are not yet present in the scene.
|
|
77
|
+
*
|
|
78
|
+
* For INSERTs, entities are collected when the INSERT layer is no longer
|
|
79
|
+
* frozen (Off alone does not skip conversion).
|
|
70
80
|
*/
|
|
71
81
|
AcTrEntityDisplayController.prototype.collectMissingEntitiesOnLayer = function (layerName, blockTableRecord, hasEntity) {
|
|
72
82
|
var _this = this;
|
|
@@ -83,6 +93,9 @@ var AcTrEntityDisplayController = /** @class */ (function () {
|
|
|
83
93
|
return _this.shouldConvertForExport(entity, includeInvisibleLayers);
|
|
84
94
|
});
|
|
85
95
|
};
|
|
96
|
+
AcTrEntityDisplayController.prototype.isBlockReference = function (entity) {
|
|
97
|
+
return entity instanceof AcDbBlockReference;
|
|
98
|
+
};
|
|
86
99
|
AcTrEntityDisplayController.prototype.collectMissingEntities = function (blockTableRecord, hasEntity, includeEntity) {
|
|
87
100
|
var e_1, _a;
|
|
88
101
|
var pending = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AcTrEntityDisplayController.js","sourceRoot":"","sources":["../../src/view/AcTrEntityDisplayController.ts"],"names":[],"mappings":";;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"AcTrEntityDisplayController.js","sourceRoot":"","sources":["../../src/view/AcTrEntityDisplayController.ts"],"names":[],"mappings":"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"}
|
package/lib/view/AcTrLayout.d.ts
CHANGED
|
@@ -90,6 +90,11 @@ export declare class AcTrLayout {
|
|
|
90
90
|
private _extentExcludedObjectIds;
|
|
91
91
|
/** Map of layers indexed by layer name */
|
|
92
92
|
private _layers;
|
|
93
|
+
/**
|
|
94
|
+
* INSERT object id → INSERT's own layer name. Used when freezing an INSERT
|
|
95
|
+
* layer to hide fragments that were bucketed onto other layers.
|
|
96
|
+
*/
|
|
97
|
+
private _insertLayerByObjectId;
|
|
93
98
|
/** The flag indicating whether the layout is loaded/activated */
|
|
94
99
|
private _isLoaded;
|
|
95
100
|
/**
|
|
@@ -285,6 +290,20 @@ export declare class AcTrLayout {
|
|
|
285
290
|
* @returns Returns the updated layer group.
|
|
286
291
|
*/
|
|
287
292
|
updateLayer(info: AcEdLayerInfo): AcTrLayer | undefined;
|
|
293
|
+
/**
|
|
294
|
+
* Applies AutoCAD INSERT-layer freeze semantics across decomposed fragments.
|
|
295
|
+
*
|
|
296
|
+
* Freezing the INSERT's own layer hides every scene bucket that shares that
|
|
297
|
+
* INSERT object id, including geometry bucketed onto other layers — even when
|
|
298
|
+
* the INSERT has no fragment on its own layer (only other-layer buckets).
|
|
299
|
+
* Thawing restores those other-layer buckets (the INSERT layer group
|
|
300
|
+
* visibility is handled separately by {@link updateLayer}).
|
|
301
|
+
*
|
|
302
|
+
* @param insertLayerName - Layer being frozen or thawed.
|
|
303
|
+
* @param frozen - True when the layer is now frozen.
|
|
304
|
+
* @returns Object ids whose cross-layer visibility was changed.
|
|
305
|
+
*/
|
|
306
|
+
applyInsertLayerFreeze(insertLayerName: string, frozen: boolean): AcDbObjectId[];
|
|
288
307
|
/**
|
|
289
308
|
* Hover the specified entities.
|
|
290
309
|
* Applies hover highlighting to the entities with the given IDs.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AcTrLayout.d.ts","sourceRoot":"","sources":["../../src/view/AcTrLayout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AAC1E,OAAO,EACL,UAAU,EAIX,MAAM,2BAA2B,CAAA;AAClC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,EAAE,aAAa,EAA8B,MAAM,WAAW,CAAA;AAGrE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAA;AAChF,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAEvD,8DAA8D;AAC9D,MAAM,WAAW,4BAA4B;IAC3C;;;;;OAKG;IACH,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAC/B,+DAA+D;IAC/D,kBAAkB,CAAC,EAAE,OAAO,CAAA;CAC7B;AAED;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,8CAA8C;IAC9C,MAAM,EAAE,cAAc,EAAE,CAAA;IACxB,+CAA+C;IAC/C,OAAO,EAAE;QACP,iDAAiD;QACjD,WAAW,EAAE,MAAM,CAAA;QACnB,4CAA4C;QAC5C,SAAS,EAAE;YACT,6CAA6C;YAC7C,IAAI,EAAE,MAAM,CAAA;YACZ,6CAA6C;YAC7C,IAAI,EAAE,MAAM,CAAA;YACZ,8CAA8C;YAC9C,KAAK,EAAE,MAAM,CAAA;YACb,kDAAkD;YAClD,SAAS,EAAE,MAAM,CAAA;YACjB,0CAA0C;YAC1C,QAAQ,EAAE,MAAM,CAAA;YAChB,6CAA6C;YAC7C,OAAO,EAAE,MAAM,CAAA;YACf,kCAAkC;YAClC,cAAc,EAAE,MAAM,CAAA;YACtB,qCAAqC;YACrC,eAAe,EAAE;gBACf,IAAI,EAAE,MAAM,CAAA;gBACZ,IAAI,EAAE,MAAM,CAAA;gBACZ,KAAK,EAAE,MAAM,CAAA;gBACb,KAAK,EAAE,MAAM,CAAA;aACd,CAAA;SACF,CAAA;KACF,CAAA;CACF;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBAAa,UAAU;IACrB,0DAA0D;IAC1D,OAAO,CAAC,MAAM,CAAa;IAC3B,sDAAsD;IACtD,OAAO,CAAC,aAAa,CAA8B;IACnD,oEAAoE;IACpE,OAAO,CAAC,UAAU,CAAY;IAC9B,4EAA4E;IAC5E,OAAO,CAAC,SAAS,CAAS;IAC1B,8DAA8D;IAC9D,OAAO,CAAC,wBAAwB,CAAmB;IACnD,0CAA0C;IAC1C,OAAO,CAAC,OAAO,CAAwB;IACvC,iEAAiE;IACjE,OAAO,CAAC,SAAS,CAAS;IAC1B;;;;OAIG;IACH,WAAW,UAAQ;IAEnB;;;OAGG;;
|
|
1
|
+
{"version":3,"file":"AcTrLayout.d.ts","sourceRoot":"","sources":["../../src/view/AcTrLayout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AAC1E,OAAO,EACL,UAAU,EAIX,MAAM,2BAA2B,CAAA;AAClC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,EAAE,aAAa,EAA8B,MAAM,WAAW,CAAA;AAGrE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAA;AAChF,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAEvD,8DAA8D;AAC9D,MAAM,WAAW,4BAA4B;IAC3C;;;;;OAKG;IACH,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAC/B,+DAA+D;IAC/D,kBAAkB,CAAC,EAAE,OAAO,CAAA;CAC7B;AAED;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,8CAA8C;IAC9C,MAAM,EAAE,cAAc,EAAE,CAAA;IACxB,+CAA+C;IAC/C,OAAO,EAAE;QACP,iDAAiD;QACjD,WAAW,EAAE,MAAM,CAAA;QACnB,4CAA4C;QAC5C,SAAS,EAAE;YACT,6CAA6C;YAC7C,IAAI,EAAE,MAAM,CAAA;YACZ,6CAA6C;YAC7C,IAAI,EAAE,MAAM,CAAA;YACZ,8CAA8C;YAC9C,KAAK,EAAE,MAAM,CAAA;YACb,kDAAkD;YAClD,SAAS,EAAE,MAAM,CAAA;YACjB,0CAA0C;YAC1C,QAAQ,EAAE,MAAM,CAAA;YAChB,6CAA6C;YAC7C,OAAO,EAAE,MAAM,CAAA;YACf,kCAAkC;YAClC,cAAc,EAAE,MAAM,CAAA;YACtB,qCAAqC;YACrC,eAAe,EAAE;gBACf,IAAI,EAAE,MAAM,CAAA;gBACZ,IAAI,EAAE,MAAM,CAAA;gBACZ,KAAK,EAAE,MAAM,CAAA;gBACb,KAAK,EAAE,MAAM,CAAA;aACd,CAAA;SACF,CAAA;KACF,CAAA;CACF;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBAAa,UAAU;IACrB,0DAA0D;IAC1D,OAAO,CAAC,MAAM,CAAa;IAC3B,sDAAsD;IACtD,OAAO,CAAC,aAAa,CAA8B;IACnD,oEAAoE;IACpE,OAAO,CAAC,UAAU,CAAY;IAC9B,4EAA4E;IAC5E,OAAO,CAAC,SAAS,CAAS;IAC1B,8DAA8D;IAC9D,OAAO,CAAC,wBAAwB,CAAmB;IACnD,0CAA0C;IAC1C,OAAO,CAAC,OAAO,CAAwB;IACvC;;;OAGG;IACH,OAAO,CAAC,sBAAsB,CAA2B;IACzD,iEAAiE;IACjE,OAAO,CAAC,SAAS,CAAS;IAC1B;;;;OAIG;IACH,WAAW,UAAQ;IAEnB;;;OAGG;;IAYH;;;OAGG;IACH,IAAI,cAAc,wCAEjB;IAED;;;;OAIG;IACH,IAAI,MAAM,2BAET;IAED;;;;;;;OAOG;IACH,IAAI,GAAG,eAKN;IAED;;OAEG;IACH,uBAAuB,CAAC,MAAM,aAAmB;IAOjD,OAAO,CAAC,YAAY;IAYpB,OAAO,CAAC,aAAa;IAIrB;;;;OAIG;IACH,IAAI,QAAQ,IASQ,OAAO,CAP1B;IAED;;;;OAIG;IACH,IAAI,QAAQ,CAAC,KAAK,EAAE,OAAO,EAE1B;IAED;;;OAGG;IACH,IAAI,OAAO,IAGQ,OAAO,CADzB;IACD,IAAI,OAAO,CAAC,KAAK,EAAE,OAAO,EAEzB;IAED;;;OAGG;IACH,IAAI,WAAW,WAId;IAED;;OAEG;IACH,IAAI,iBAAiB,oDAEpB;IAED;;;OAGG;IACH,IAAI,KAAK,IAgDF,eAAe,CACrB;IAED;;;;;OAKG;IACH,KAAK;IAaL;;;;;OAKG;IACH,cAAc,CAAC,WAAW,EAAE,MAAM;IAMlC;;;;;;OAMG;IACH,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS;IAS5D,gBAAgB,CAAC,QAAQ,EAAE,YAAY;IAIvC;;;;;;;;;;OAUG;IACH,SAAS,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,GAAE,OAAc;IAgCxD;;;;;OAKG;IACH,YAAY,CAAC,QAAQ,EAAE,YAAY;IAgBnC;;;;;OAKG;IACH,YAAY,CAAC,MAAM,EAAE,UAAU;IAgB/B;;OAEG;IACH,SAAS,CAAC,QAAQ,EAAE,YAAY;IAShC;;OAEG;IACH,gBAAgB,CAAC,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO;IAazD;;OAEG;IACH,gBAAgB,CAAC,QAAQ,EAAE,YAAY;IAUvC;;;;;;;;OAQG;IACH,sBAAsB,CACpB,SAAS,EAAE,YAAY,EAAE,EACzB,OAAO,CAAC,EAAE,IAAI,CAAC,4BAA4B,EAAE,oBAAoB,CAAC,GACjE,OAAO;IAuBV;;;;OAIG;IACH,wBAAwB,CAAC,SAAS,EAAE,YAAY,EAAE,GAAG,YAAY,EAAE;IAenE;;;;;;;;OAQG;IACH,6BAA6B,CAC3B,SAAS,EAAE,YAAY,EAAE,EACzB,MAAM,aAAmB;IAkB3B;;;;;OAKG;IACH,4BAA4B,CAC1B,SAAS,EAAE,YAAY,EAAE,EACzB,MAAM,SAAM,GACX,SAAS,GAAG,IAAI;IAKnB;;;;;;;;OAQG;IACH,uBAAuB,CACrB,SAAS,EAAE,YAAY,EAAE,EACzB,OAAO,CAAC,EAAE,4BAA4B,GACrC,KAAK,CAAC,KAAK,GAAG,IAAI;IA6DrB;;;;OAIG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM;IAIrB;;;;;;OAMG;IACH,QAAQ,CAAC,IAAI,EAAE,aAAa;IAW5B;;;;OAIG;IACH,WAAW,CAAC,IAAI,EAAE,aAAa;IAa/B;;;;;;;;;;;;OAYG;IACH,sBAAsB,CACpB,eAAe,EAAE,MAAM,EACvB,MAAM,EAAE,OAAO,GACd,YAAY,EAAE;IA0BjB;;;;;OAKG;IACH,KAAK,CAAC,GAAG,EAAE,YAAY,EAAE;IAMzB;;;;;OAKG;IACH,OAAO,CAAC,GAAG,EAAE,YAAY,EAAE;IAM3B;;;;;OAKG;IACH,MAAM,CAAC,GAAG,EAAE,YAAY,EAAE;IAM1B;;;;;OAKG;IACH,QAAQ,CAAC,GAAG,EAAE,YAAY,EAAE;IAM5B;;;;;OAKG;IACH,OAAO,CAAC,sBAAsB;IAmB9B;;;;;;OAMG;IACH,MAAM,CAAC,GAAG,EAAE,SAAS,GAAG,SAAS,EAAE,OAAO,CAAC,EAAE,wBAAwB;IAYrE;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,mBAAmB;IAU3B;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,yBAAyB;IAcjC;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,OAAO,CAAC,0BAA0B;CAyEnC"}
|
package/lib/view/AcTrLayout.js
CHANGED
|
@@ -80,6 +80,7 @@ var AcTrLayout = /** @class */ (function () {
|
|
|
80
80
|
this._boxDirty = true;
|
|
81
81
|
this._extentExcludedObjectIds = new Set();
|
|
82
82
|
this._layers = new Map();
|
|
83
|
+
this._insertLayerByObjectId = new Map();
|
|
83
84
|
this._isLoaded = false;
|
|
84
85
|
}
|
|
85
86
|
Object.defineProperty(AcTrLayout.prototype, "internalObject", {
|
|
@@ -277,6 +278,7 @@ var AcTrLayout = /** @class */ (function () {
|
|
|
277
278
|
this._cachedBox.makeEmpty();
|
|
278
279
|
this._boxDirty = true;
|
|
279
280
|
this._extentExcludedObjectIds.clear();
|
|
281
|
+
this._insertLayerByObjectId.clear();
|
|
280
282
|
this._spatialIndex.clear();
|
|
281
283
|
return this;
|
|
282
284
|
};
|
|
@@ -334,6 +336,10 @@ var AcTrLayout = /** @class */ (function () {
|
|
|
334
336
|
throw new Error("layer '".concat(entity.layerName, "' doesn't exist!"));
|
|
335
337
|
}
|
|
336
338
|
layer.addEntity(entity);
|
|
339
|
+
var insertLayerName = entity.userData.insertLayerName;
|
|
340
|
+
if (insertLayerName) {
|
|
341
|
+
this._insertLayerByObjectId.set(entity.objectId, insertLayerName);
|
|
342
|
+
}
|
|
337
343
|
if (!extendBbox) {
|
|
338
344
|
this._extentExcludedObjectIds.add(entity.objectId);
|
|
339
345
|
}
|
|
@@ -371,6 +377,7 @@ var AcTrLayout = /** @class */ (function () {
|
|
|
371
377
|
if (result) {
|
|
372
378
|
this._spatialIndex.removeById(objectId);
|
|
373
379
|
this._extentExcludedObjectIds.delete(objectId);
|
|
380
|
+
this._insertLayerByObjectId.delete(objectId);
|
|
374
381
|
this.invalidateBox();
|
|
375
382
|
}
|
|
376
383
|
return result;
|
|
@@ -387,6 +394,10 @@ var AcTrLayout = /** @class */ (function () {
|
|
|
387
394
|
for (var _b = __values(this._layers), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
388
395
|
var _d = __read(_c.value, 2), _2 = _d[0], layer = _d[1];
|
|
389
396
|
if (layer.updateEntity(entity)) {
|
|
397
|
+
var insertLayerName = entity.userData.insertLayerName;
|
|
398
|
+
if (insertLayerName) {
|
|
399
|
+
this._insertLayerByObjectId.set(entity.objectId, insertLayerName);
|
|
400
|
+
}
|
|
390
401
|
this._spatialIndex.removeById(entity.objectId);
|
|
391
402
|
this.registerEntitySpatialIndex(entity);
|
|
392
403
|
this.invalidateBox();
|
|
@@ -739,6 +750,65 @@ var AcTrLayout = /** @class */ (function () {
|
|
|
739
750
|
}
|
|
740
751
|
return layer;
|
|
741
752
|
};
|
|
753
|
+
/**
|
|
754
|
+
* Applies AutoCAD INSERT-layer freeze semantics across decomposed fragments.
|
|
755
|
+
*
|
|
756
|
+
* Freezing the INSERT's own layer hides every scene bucket that shares that
|
|
757
|
+
* INSERT object id, including geometry bucketed onto other layers — even when
|
|
758
|
+
* the INSERT has no fragment on its own layer (only other-layer buckets).
|
|
759
|
+
* Thawing restores those other-layer buckets (the INSERT layer group
|
|
760
|
+
* visibility is handled separately by {@link updateLayer}).
|
|
761
|
+
*
|
|
762
|
+
* @param insertLayerName - Layer being frozen or thawed.
|
|
763
|
+
* @param frozen - True when the layer is now frozen.
|
|
764
|
+
* @returns Object ids whose cross-layer visibility was changed.
|
|
765
|
+
*/
|
|
766
|
+
AcTrLayout.prototype.applyInsertLayerFreeze = function (insertLayerName, frozen) {
|
|
767
|
+
var e_13, _a, e_14, _b;
|
|
768
|
+
var touched = [];
|
|
769
|
+
try {
|
|
770
|
+
for (var _c = __values(this._insertLayerByObjectId), _d = _c.next(); !_d.done; _d = _c.next()) {
|
|
771
|
+
var _e = __read(_d.value, 2), objectId = _e[0], layerName = _e[1];
|
|
772
|
+
if (layerName !== insertLayerName) {
|
|
773
|
+
continue;
|
|
774
|
+
}
|
|
775
|
+
var changed = false;
|
|
776
|
+
try {
|
|
777
|
+
for (var _f = (e_14 = void 0, __values(this.getLayersByObjectId(objectId))), _g = _f.next(); !_g.done; _g = _f.next()) {
|
|
778
|
+
var layer = _g.value;
|
|
779
|
+
// INSERT-layer bucket visibility comes from the layer group itself.
|
|
780
|
+
if (layer.name === insertLayerName) {
|
|
781
|
+
continue;
|
|
782
|
+
}
|
|
783
|
+
if (layer.setEntityVisible(objectId, !frozen)) {
|
|
784
|
+
changed = true;
|
|
785
|
+
}
|
|
786
|
+
}
|
|
787
|
+
}
|
|
788
|
+
catch (e_14_1) { e_14 = { error: e_14_1 }; }
|
|
789
|
+
finally {
|
|
790
|
+
try {
|
|
791
|
+
if (_g && !_g.done && (_b = _f.return)) _b.call(_f);
|
|
792
|
+
}
|
|
793
|
+
finally { if (e_14) throw e_14.error; }
|
|
794
|
+
}
|
|
795
|
+
if (changed) {
|
|
796
|
+
touched.push(objectId);
|
|
797
|
+
}
|
|
798
|
+
}
|
|
799
|
+
}
|
|
800
|
+
catch (e_13_1) { e_13 = { error: e_13_1 }; }
|
|
801
|
+
finally {
|
|
802
|
+
try {
|
|
803
|
+
if (_d && !_d.done && (_a = _c.return)) _a.call(_c);
|
|
804
|
+
}
|
|
805
|
+
finally { if (e_13) throw e_13.error; }
|
|
806
|
+
}
|
|
807
|
+
if (touched.length > 0) {
|
|
808
|
+
this.invalidateBox();
|
|
809
|
+
}
|
|
810
|
+
return touched;
|
|
811
|
+
};
|
|
742
812
|
/**
|
|
743
813
|
* Hover the specified entities.
|
|
744
814
|
* Applies hover highlighting to the entities with the given IDs.
|
|
@@ -790,14 +860,14 @@ var AcTrLayout = /** @class */ (function () {
|
|
|
790
860
|
* @param apply - Layer callback invoked once per layer with its grouped entity ids.
|
|
791
861
|
*/
|
|
792
862
|
AcTrLayout.prototype.applyHighlightToLayers = function (ids, apply) {
|
|
793
|
-
var
|
|
863
|
+
var e_15, _a, e_16, _b;
|
|
794
864
|
var layerToIds = new Map();
|
|
795
865
|
try {
|
|
796
866
|
for (var ids_1 = __values(ids), ids_1_1 = ids_1.next(); !ids_1_1.done; ids_1_1 = ids_1.next()) {
|
|
797
867
|
var id = ids_1_1.value;
|
|
798
868
|
var layers = this.getLayersByObjectId(id);
|
|
799
869
|
try {
|
|
800
|
-
for (var layers_2 = (
|
|
870
|
+
for (var layers_2 = (e_16 = void 0, __values(layers)), layers_2_1 = layers_2.next(); !layers_2_1.done; layers_2_1 = layers_2.next()) {
|
|
801
871
|
var layer = layers_2_1.value;
|
|
802
872
|
var bucket = layerToIds.get(layer);
|
|
803
873
|
if (bucket) {
|
|
@@ -808,21 +878,21 @@ var AcTrLayout = /** @class */ (function () {
|
|
|
808
878
|
}
|
|
809
879
|
}
|
|
810
880
|
}
|
|
811
|
-
catch (
|
|
881
|
+
catch (e_16_1) { e_16 = { error: e_16_1 }; }
|
|
812
882
|
finally {
|
|
813
883
|
try {
|
|
814
884
|
if (layers_2_1 && !layers_2_1.done && (_b = layers_2.return)) _b.call(layers_2);
|
|
815
885
|
}
|
|
816
|
-
finally { if (
|
|
886
|
+
finally { if (e_16) throw e_16.error; }
|
|
817
887
|
}
|
|
818
888
|
}
|
|
819
889
|
}
|
|
820
|
-
catch (
|
|
890
|
+
catch (e_15_1) { e_15 = { error: e_15_1 }; }
|
|
821
891
|
finally {
|
|
822
892
|
try {
|
|
823
893
|
if (ids_1_1 && !ids_1_1.done && (_a = ids_1.return)) _a.call(ids_1);
|
|
824
894
|
}
|
|
825
|
-
finally { if (
|
|
895
|
+
finally { if (e_15) throw e_15.error; }
|
|
826
896
|
}
|
|
827
897
|
layerToIds.forEach(function (entityIds, layer) { return apply(layer, entityIds); });
|
|
828
898
|
};
|
|
@@ -857,7 +927,7 @@ var AcTrLayout = /** @class */ (function () {
|
|
|
857
927
|
* returns an empty array if no matching layers are found
|
|
858
928
|
*/
|
|
859
929
|
AcTrLayout.prototype.getLayersByObjectId = function (objectId) {
|
|
860
|
-
var
|
|
930
|
+
var e_17, _a;
|
|
861
931
|
var layers = [];
|
|
862
932
|
try {
|
|
863
933
|
for (var _b = __values(this._layers), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
@@ -867,12 +937,12 @@ var AcTrLayout = /** @class */ (function () {
|
|
|
867
937
|
}
|
|
868
938
|
}
|
|
869
939
|
}
|
|
870
|
-
catch (
|
|
940
|
+
catch (e_17_1) { e_17 = { error: e_17_1 }; }
|
|
871
941
|
finally {
|
|
872
942
|
try {
|
|
873
943
|
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
874
944
|
}
|
|
875
|
-
finally { if (
|
|
945
|
+
finally { if (e_17) throw e_17.error; }
|
|
876
946
|
}
|
|
877
947
|
return layers;
|
|
878
948
|
};
|