@mlightcad/cad-simple-viewer 1.4.12 → 1.4.13
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/dist/index.js +15901 -10590
- package/dist/index.umd.cjs +55 -48
- package/dist/libredwg-parser-worker.js +4724 -4762
- package/lib/app/AcApDocManager.d.ts +60 -4
- package/lib/app/AcApDocManager.d.ts.map +1 -1
- package/lib/app/AcApDocManager.js +160 -33
- package/lib/app/AcApDocManager.js.map +1 -1
- package/lib/command/AcApArcCmd.d.ts.map +1 -1
- package/lib/command/AcApArcCmd.js +1 -1
- package/lib/command/AcApArcCmd.js.map +1 -1
- package/lib/command/AcApCircleCmd.d.ts +59 -0
- package/lib/command/AcApCircleCmd.d.ts.map +1 -1
- package/lib/command/AcApCircleCmd.js +489 -18
- package/lib/command/AcApCircleCmd.js.map +1 -1
- package/lib/command/AcApConvertToPngCmd.d.ts +35 -0
- package/lib/command/AcApConvertToPngCmd.d.ts.map +1 -0
- package/lib/command/{AcApZoomToBoxCmd.js → AcApConvertToPngCmd.js} +50 -26
- package/lib/command/AcApConvertToPngCmd.js.map +1 -0
- package/lib/command/AcApEllipseCmd.d.ts +87 -0
- package/lib/command/AcApEllipseCmd.d.ts.map +1 -0
- package/lib/command/AcApEllipseCmd.js +583 -0
- package/lib/command/AcApEllipseCmd.js.map +1 -0
- package/lib/command/AcApHatchCmd.d.ts +210 -0
- package/lib/command/AcApHatchCmd.d.ts.map +1 -0
- package/lib/command/AcApHatchCmd.js +808 -0
- package/lib/command/AcApHatchCmd.js.map +1 -0
- package/lib/command/AcApLayerCmd.d.ts +217 -0
- package/lib/command/AcApLayerCmd.d.ts.map +1 -0
- package/lib/command/AcApLayerCmd.js +768 -0
- package/lib/command/AcApLayerCmd.js.map +1 -0
- package/lib/command/AcApLineCmd.d.ts +36 -1
- package/lib/command/AcApLineCmd.d.ts.map +1 -1
- package/lib/command/AcApLineCmd.js +157 -20
- package/lib/command/AcApLineCmd.js.map +1 -1
- package/lib/command/AcApMeasureAreaCmd.d.ts.map +1 -1
- package/lib/command/AcApMeasureAreaCmd.js +3 -0
- package/lib/command/AcApMeasureAreaCmd.js.map +1 -1
- package/lib/command/AcApMoveCmd.d.ts +16 -0
- package/lib/command/AcApMoveCmd.d.ts.map +1 -0
- package/lib/command/AcApMoveCmd.js +278 -0
- package/lib/command/AcApMoveCmd.js.map +1 -0
- package/lib/command/AcApPngConvertor.d.ts +95 -0
- package/lib/command/AcApPngConvertor.d.ts.map +1 -0
- package/lib/command/AcApPngConvertor.js +205 -0
- package/lib/command/AcApPngConvertor.js.map +1 -0
- package/lib/command/AcApPolygonCmd.d.ts +69 -0
- package/lib/command/AcApPolygonCmd.d.ts.map +1 -0
- package/lib/command/AcApPolygonCmd.js +422 -0
- package/lib/command/AcApPolygonCmd.js.map +1 -0
- package/lib/command/AcApRectCmd.d.ts +149 -4
- package/lib/command/AcApRectCmd.d.ts.map +1 -1
- package/lib/command/AcApRectCmd.js +716 -34
- package/lib/command/AcApRectCmd.js.map +1 -1
- package/lib/command/AcApRevCircleCmd.d.ts +8 -0
- package/lib/command/AcApRevCircleCmd.d.ts.map +1 -1
- package/lib/command/AcApRevCircleCmd.js +30 -6
- package/lib/command/AcApRevCircleCmd.js.map +1 -1
- package/lib/command/AcApRevRectCmd.d.ts +8 -0
- package/lib/command/AcApRevRectCmd.d.ts.map +1 -1
- package/lib/command/AcApRevRectCmd.js +78 -6
- package/lib/command/AcApRevRectCmd.js.map +1 -1
- package/lib/command/AcApSplineCmd.d.ts +66 -1
- package/lib/command/AcApSplineCmd.d.ts.map +1 -1
- package/lib/command/AcApSplineCmd.js +466 -59
- package/lib/command/AcApSplineCmd.js.map +1 -1
- package/lib/command/AcApZoomCmd.d.ts +91 -20
- package/lib/command/AcApZoomCmd.d.ts.map +1 -1
- package/lib/command/AcApZoomCmd.js +288 -23
- package/lib/command/AcApZoomCmd.js.map +1 -1
- package/lib/command/index.d.ts +7 -1
- package/lib/command/index.d.ts.map +1 -1
- package/lib/command/index.js +7 -1
- package/lib/command/index.js.map +1 -1
- package/lib/editor/command/AcEdCommandStack.d.ts +54 -1
- package/lib/editor/command/AcEdCommandStack.d.ts.map +1 -1
- package/lib/editor/command/AcEdCommandStack.js +207 -25
- package/lib/editor/command/AcEdCommandStack.js.map +1 -1
- package/lib/editor/input/AcEdSelectionFilter.d.ts +79 -0
- package/lib/editor/input/AcEdSelectionFilter.d.ts.map +1 -0
- package/lib/editor/input/AcEdSelectionFilter.js +231 -0
- package/lib/editor/input/AcEdSelectionFilter.js.map +1 -0
- package/lib/editor/input/AcEditor.d.ts +20 -2
- package/lib/editor/input/AcEditor.d.ts.map +1 -1
- package/lib/editor/input/AcEditor.js +66 -0
- package/lib/editor/input/AcEditor.js.map +1 -1
- package/lib/editor/input/index.d.ts +1 -0
- package/lib/editor/input/index.d.ts.map +1 -1
- package/lib/editor/input/index.js +1 -0
- package/lib/editor/input/index.js.map +1 -1
- package/lib/editor/input/prompt/AcEdKeywordCollection.d.ts +47 -0
- package/lib/editor/input/prompt/AcEdKeywordCollection.d.ts.map +1 -1
- package/lib/editor/input/prompt/AcEdKeywordCollection.js +19 -0
- package/lib/editor/input/prompt/AcEdKeywordCollection.js.map +1 -1
- package/lib/editor/input/prompt/AcEdPromptAngleOptions.d.ts +7 -0
- package/lib/editor/input/prompt/AcEdPromptAngleOptions.d.ts.map +1 -1
- package/lib/editor/input/prompt/AcEdPromptAngleOptions.js +17 -0
- package/lib/editor/input/prompt/AcEdPromptAngleOptions.js.map +1 -1
- package/lib/editor/input/prompt/AcEdPromptEntityOptions.d.ts +17 -0
- package/lib/editor/input/prompt/AcEdPromptEntityOptions.d.ts.map +1 -1
- package/lib/editor/input/prompt/AcEdPromptEntityOptions.js +30 -3
- package/lib/editor/input/prompt/AcEdPromptEntityOptions.js.map +1 -1
- package/lib/editor/input/prompt/AcEdPromptOptions.d.ts +6 -1
- package/lib/editor/input/prompt/AcEdPromptOptions.d.ts.map +1 -1
- package/lib/editor/input/prompt/AcEdPromptOptions.js +7 -0
- package/lib/editor/input/prompt/AcEdPromptOptions.js.map +1 -1
- package/lib/editor/input/session/AcEdKeywordSession.d.ts +65 -0
- package/lib/editor/input/session/AcEdKeywordSession.d.ts.map +1 -1
- package/lib/editor/input/session/AcEdKeywordSession.js +71 -0
- package/lib/editor/input/session/AcEdKeywordSession.js.map +1 -1
- package/lib/editor/input/ui/AcEdCommandLine.d.ts +23 -0
- package/lib/editor/input/ui/AcEdCommandLine.d.ts.map +1 -1
- package/lib/editor/input/ui/AcEdCommandLine.js +42 -6
- package/lib/editor/input/ui/AcEdCommandLine.js.map +1 -1
- package/lib/editor/input/ui/AcEdFloatingInput.d.ts +1 -0
- package/lib/editor/input/ui/AcEdFloatingInput.d.ts.map +1 -1
- package/lib/editor/input/ui/AcEdFloatingInput.js +8 -2
- package/lib/editor/input/ui/AcEdFloatingInput.js.map +1 -1
- package/lib/editor/input/ui/AcEdFloatingInputBoxes.d.ts +23 -1
- package/lib/editor/input/ui/AcEdFloatingInputBoxes.d.ts.map +1 -1
- package/lib/editor/input/ui/AcEdFloatingInputBoxes.js +32 -9
- package/lib/editor/input/ui/AcEdFloatingInputBoxes.js.map +1 -1
- package/lib/editor/input/ui/AcEdFloatingInputTypes.d.ts +28 -0
- package/lib/editor/input/ui/AcEdFloatingInputTypes.d.ts.map +1 -1
- package/lib/editor/input/ui/AcEdInputManager.d.ts +356 -16
- package/lib/editor/input/ui/AcEdInputManager.d.ts.map +1 -1
- package/lib/editor/input/ui/AcEdInputManager.js +964 -529
- package/lib/editor/input/ui/AcEdInputManager.js.map +1 -1
- package/lib/editor/input/ui/AcEdRubberBand.d.ts +15 -1
- package/lib/editor/input/ui/AcEdRubberBand.d.ts.map +1 -1
- package/lib/editor/input/ui/AcEdRubberBand.js +42 -10
- package/lib/editor/input/ui/AcEdRubberBand.js.map +1 -1
- package/lib/i18n/en/command.d.ts +21 -3
- package/lib/i18n/en/command.d.ts.map +1 -1
- package/lib/i18n/en/command.js +21 -3
- package/lib/i18n/en/command.js.map +1 -1
- package/lib/i18n/en/jig.d.ts +443 -0
- package/lib/i18n/en/jig.d.ts.map +1 -1
- package/lib/i18n/en/jig.js +452 -9
- package/lib/i18n/en/jig.js.map +1 -1
- package/lib/i18n/zh/command.d.ts +21 -3
- package/lib/i18n/zh/command.d.ts.map +1 -1
- package/lib/i18n/zh/command.js +21 -3
- package/lib/i18n/zh/command.js.map +1 -1
- package/lib/i18n/zh/jig.d.ts +443 -0
- package/lib/i18n/zh/jig.d.ts.map +1 -1
- package/lib/i18n/zh/jig.js +452 -9
- package/lib/i18n/zh/jig.js.map +1 -1
- package/lib/plugin/AcApPluginManager.d.ts.map +1 -1
- package/lib/plugin/AcApPluginManager.js.map +1 -1
- package/lib/view/AcTrLayer.d.ts.map +1 -1
- package/lib/view/AcTrLayer.js +5 -3
- package/lib/view/AcTrLayer.js.map +1 -1
- package/lib/view/AcTrView2d.d.ts +0 -1
- package/lib/view/AcTrView2d.d.ts.map +1 -1
- package/lib/view/AcTrView2d.js +17 -4
- package/lib/view/AcTrView2d.js.map +1 -1
- package/package.json +11 -9
- package/lib/command/AcApZoomToBoxCmd.d.ts +0 -29
- package/lib/command/AcApZoomToBoxCmd.d.ts.map +0 -1
- package/lib/command/AcApZoomToBoxCmd.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AcEdCommandStack.d.ts","sourceRoot":"","sources":["../../../src/editor/command/AcEdCommandStack.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EACL,mBAAmB,EACnB,uBAAuB,EACxB,MAAM,uBAAuB,CAAA;AAE9B;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,oCAAoC;IACpC,SAAS,EAAE,MAAM,CAAA;IACjB,oDAAoD;IACpD,oBAAoB,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;IAC9C,mDAAmD;IACnD,mBAAmB,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"AcEdCommandStack.d.ts","sourceRoot":"","sources":["../../../src/editor/command/AcEdCommandStack.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EACL,mBAAmB,EACnB,uBAAuB,EACxB,MAAM,uBAAuB,CAAA;AAE9B;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,oCAAoC;IACpC,SAAS,EAAE,MAAM,CAAA;IACjB,oDAAoD;IACpD,oBAAoB,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;IAC9C,mDAAmD;IACnD,mBAAmB,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;IAC7C;;;;;OAKG;IACH,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;IACzC;;;;;;OAMG;IACH,gBAAgB,EAAE,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAA;CAChD;AAED;;;;;;;;;;;;;GAaG;AACH,qBAAa,gBAAgB;IAC3B,2CAA2C;IAC3C,MAAM,CAAC,0BAA0B,SAAS;IAC1C,iDAAiD;IACjD,MAAM,CAAC,yBAAyB,SAAS;IAEzC,+CAA+C;IAC/C,OAAO,CAAC,gBAAgB,CAAoB;IAC5C,4CAA4C;IAC5C,OAAO,CAAC,mBAAmB,CAAkB;IAC7C,kDAAkD;IAClD,OAAO,CAAC,oBAAoB,CAAkB;IAE9C;;;OAGG;;IAqBH;;;;;;;;;;;;;;;;OAgBG;IACH,UAAU,CACR,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,MAAM,EACrB,YAAY,EAAE,MAAM,EACpB,GAAG,EAAE,WAAW,EAChB,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE;IAsE9B;;;;;;OAMG;IACH,QAAQ;IAIR;;;;;;;;;;;;;;;;;;;OAmBG;IACH,sBAAsB,CACpB,MAAM,EAAE,MAAM,EACd,IAAI,CAAC,EAAE,YAAY,GAClB,uBAAuB,EAAE;IAwB5B;;;;;;;;;;;;;OAaG;IACH,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,YAAY;IAoBpD;;;;;;;;;;;;;OAaG;IACH,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,YAAY;IAoBnD;;;;;;;;;OASG;IACH,SAAS,CAAC,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM;IAsBrD;;;;;;OAMG;IACH,WAAW,CAAC,SAAS,EAAE,MAAM;IAY7B;;OAEG;IACH,SAAS;IAeT;;;;;;OAMG;IACH,iBAAiB,CAAC,OAAO,EAAE,WAAW,EAAE,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE;IAmB5E;;;;;;;;;;OAUG;IACH,OAAO,CAAC,sBAAsB;IAuB9B;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,gBAAgB;IAoBxB;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,gBAAgB;CAOzB"}
|
|
@@ -9,6 +9,31 @@ 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
|
+
var __read = (this && this.__read) || function (o, n) {
|
|
13
|
+
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
14
|
+
if (!m) return o;
|
|
15
|
+
var i = m.call(o), r, ar = [], e;
|
|
16
|
+
try {
|
|
17
|
+
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
18
|
+
}
|
|
19
|
+
catch (error) { e = { error: error }; }
|
|
20
|
+
finally {
|
|
21
|
+
try {
|
|
22
|
+
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
23
|
+
}
|
|
24
|
+
finally { if (e) throw e.error; }
|
|
25
|
+
}
|
|
26
|
+
return ar;
|
|
27
|
+
};
|
|
28
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
29
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
30
|
+
if (ar || !(i in from)) {
|
|
31
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
32
|
+
ar[i] = from[i];
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
36
|
+
};
|
|
12
37
|
import { AcEdCommandIterator } from './AcEdCommandIterator';
|
|
13
38
|
/**
|
|
14
39
|
* The class to create, define, and register command objects.
|
|
@@ -34,12 +59,16 @@ var AcEdCommandStack = /** @class */ (function () {
|
|
|
34
59
|
this._systemCommandGroup = {
|
|
35
60
|
groupName: AcEdCommandStack.SYSTEMT_COMMAND_GROUP_NAME,
|
|
36
61
|
commandsByGlobalName: new Map(),
|
|
37
|
-
commandsByLocalName: new Map()
|
|
62
|
+
commandsByLocalName: new Map(),
|
|
63
|
+
commandsByAlias: new Map(),
|
|
64
|
+
aliasesByCommand: new Map()
|
|
38
65
|
};
|
|
39
66
|
this._defaultCommandGroup = {
|
|
40
67
|
groupName: AcEdCommandStack.DEFAUT_COMMAND_GROUP_NAME,
|
|
41
68
|
commandsByGlobalName: new Map(),
|
|
42
|
-
commandsByLocalName: new Map()
|
|
69
|
+
commandsByLocalName: new Map(),
|
|
70
|
+
commandsByAlias: new Map(),
|
|
71
|
+
aliasesByCommand: new Map()
|
|
43
72
|
};
|
|
44
73
|
this._commandsByGroup.push(this._systemCommandGroup);
|
|
45
74
|
this._commandsByGroup.push(this._defaultCommandGroup);
|
|
@@ -51,6 +80,8 @@ var AcEdCommandStack = /** @class */ (function () {
|
|
|
51
80
|
* @param cmdGlobalName - The global (untranslated) name of the command. Must be unique within the group.
|
|
52
81
|
* @param cmdLocalName - The local (translated) name of the command. Defaults to global name if empty.
|
|
53
82
|
* @param cmd - The command object to add to the stack.
|
|
83
|
+
* @param cmdAlias - Optional command alias or alias list. Aliases are case-insensitive and
|
|
84
|
+
* normalized to uppercase during registration.
|
|
54
85
|
*
|
|
55
86
|
* @throws {Error} When the global name is empty or when a command with the same name already exists
|
|
56
87
|
*
|
|
@@ -59,7 +90,8 @@ var AcEdCommandStack = /** @class */ (function () {
|
|
|
59
90
|
* commandStack.addCommand('USER', 'LINE', 'ligne', new LineCommand());
|
|
60
91
|
* ```
|
|
61
92
|
*/
|
|
62
|
-
AcEdCommandStack.prototype.addCommand = function (cmdGroupName, cmdGlobalName, cmdLocalName, cmd) {
|
|
93
|
+
AcEdCommandStack.prototype.addCommand = function (cmdGroupName, cmdGlobalName, cmdLocalName, cmd, cmdAlias) {
|
|
94
|
+
var e_1, _a;
|
|
63
95
|
cmdGroupName = cmdGroupName.toUpperCase();
|
|
64
96
|
cmdGlobalName = cmdGlobalName.toUpperCase();
|
|
65
97
|
cmdLocalName = cmdLocalName.toUpperCase();
|
|
@@ -76,8 +108,11 @@ var AcEdCommandStack = /** @class */ (function () {
|
|
|
76
108
|
commandGroup = {
|
|
77
109
|
groupName: cmdGroupName,
|
|
78
110
|
commandsByGlobalName: new Map(),
|
|
79
|
-
commandsByLocalName: new Map()
|
|
111
|
+
commandsByLocalName: new Map(),
|
|
112
|
+
commandsByAlias: new Map(),
|
|
113
|
+
aliasesByCommand: new Map()
|
|
80
114
|
};
|
|
115
|
+
this._commandsByGroup.push(commandGroup);
|
|
81
116
|
}
|
|
82
117
|
else {
|
|
83
118
|
commandGroup = tmp;
|
|
@@ -89,8 +124,32 @@ var AcEdCommandStack = /** @class */ (function () {
|
|
|
89
124
|
if (commandGroup.commandsByLocalName.has(cmdLocalName)) {
|
|
90
125
|
throw new Error("[AcEdCommandStack] The command with local name '".concat(cmdLocalName, "' already exists!"));
|
|
91
126
|
}
|
|
127
|
+
var aliases = this.normalizeAliases(cmdAlias, cmdGlobalName, cmdLocalName);
|
|
128
|
+
try {
|
|
129
|
+
for (var aliases_1 = __values(aliases), aliases_1_1 = aliases_1.next(); !aliases_1_1.done; aliases_1_1 = aliases_1.next()) {
|
|
130
|
+
var alias = aliases_1_1.value;
|
|
131
|
+
if (commandGroup.commandsByAlias.has(alias)) {
|
|
132
|
+
throw new Error("[AcEdCommandStack] The command alias '".concat(alias, "' already exists!"));
|
|
133
|
+
}
|
|
134
|
+
if (commandGroup.commandsByGlobalName.has(alias) ||
|
|
135
|
+
commandGroup.commandsByLocalName.has(alias)) {
|
|
136
|
+
throw new Error("[AcEdCommandStack] The command alias '".concat(alias, "' conflicts with existing command name!"));
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
141
|
+
finally {
|
|
142
|
+
try {
|
|
143
|
+
if (aliases_1_1 && !aliases_1_1.done && (_a = aliases_1.return)) _a.call(aliases_1);
|
|
144
|
+
}
|
|
145
|
+
finally { if (e_1) throw e_1.error; }
|
|
146
|
+
}
|
|
92
147
|
commandGroup.commandsByGlobalName.set(cmdGlobalName, cmd);
|
|
93
148
|
commandGroup.commandsByLocalName.set(cmdLocalName, cmd);
|
|
149
|
+
aliases.forEach(function (alias) {
|
|
150
|
+
commandGroup.commandsByAlias.set(alias, cmd);
|
|
151
|
+
});
|
|
152
|
+
commandGroup.aliasesByCommand.set(cmd, new Set(aliases));
|
|
94
153
|
cmd.globalName = cmdGlobalName;
|
|
95
154
|
cmd.localName = cmdLocalName;
|
|
96
155
|
};
|
|
@@ -132,7 +191,8 @@ var AcEdCommandStack = /** @class */ (function () {
|
|
|
132
191
|
while (!item.done) {
|
|
133
192
|
var command = item.value.command;
|
|
134
193
|
if (command.globalName.startsWith(prefix) ||
|
|
135
|
-
command.localName.startsWith(prefix)
|
|
194
|
+
command.localName.startsWith(prefix) ||
|
|
195
|
+
this.commandAliasStartsWith(item.value.commandGroup, command, prefix)) {
|
|
136
196
|
// Check mode compatibility if mode is specified
|
|
137
197
|
if (mode === undefined || this.isModeCompatible(mode, command.mode)) {
|
|
138
198
|
results.push(item.value);
|
|
@@ -157,13 +217,16 @@ var AcEdCommandStack = /** @class */ (function () {
|
|
|
157
217
|
* @returns Return the matched AcEdCommand object if a match is found and compatible with the mode. Otherwise, return undefined.
|
|
158
218
|
*/
|
|
159
219
|
AcEdCommandStack.prototype.lookupGlobalCmd = function (cmdName, mode) {
|
|
160
|
-
var
|
|
220
|
+
var e_2, _a;
|
|
161
221
|
cmdName = cmdName.toUpperCase();
|
|
162
222
|
var result = undefined;
|
|
163
223
|
try {
|
|
164
224
|
for (var _b = __values(this._commandsByGroup), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
165
225
|
var group = _c.value;
|
|
166
226
|
result = group.commandsByGlobalName.get(cmdName);
|
|
227
|
+
if (!result) {
|
|
228
|
+
result = group.commandsByAlias.get(cmdName);
|
|
229
|
+
}
|
|
167
230
|
if (result) {
|
|
168
231
|
// Check mode compatibility if mode is specified
|
|
169
232
|
if (mode === undefined || this.isModeCompatible(mode, result.mode)) {
|
|
@@ -175,12 +238,12 @@ var AcEdCommandStack = /** @class */ (function () {
|
|
|
175
238
|
}
|
|
176
239
|
}
|
|
177
240
|
}
|
|
178
|
-
catch (
|
|
241
|
+
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
179
242
|
finally {
|
|
180
243
|
try {
|
|
181
244
|
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
182
245
|
}
|
|
183
|
-
finally { if (
|
|
246
|
+
finally { if (e_2) throw e_2.error; }
|
|
184
247
|
}
|
|
185
248
|
return result;
|
|
186
249
|
};
|
|
@@ -199,13 +262,16 @@ var AcEdCommandStack = /** @class */ (function () {
|
|
|
199
262
|
* @returns Return the matched AcEdCommand object if a match is found and compatible with the mode. Otherwise, return undefined.
|
|
200
263
|
*/
|
|
201
264
|
AcEdCommandStack.prototype.lookupLocalCmd = function (cmdName, mode) {
|
|
202
|
-
var
|
|
265
|
+
var e_3, _a;
|
|
203
266
|
cmdName = cmdName.toUpperCase();
|
|
204
267
|
var result = undefined;
|
|
205
268
|
try {
|
|
206
269
|
for (var _b = __values(this._commandsByGroup), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
207
270
|
var group = _c.value;
|
|
208
271
|
result = group.commandsByLocalName.get(cmdName);
|
|
272
|
+
if (!result) {
|
|
273
|
+
result = group.commandsByAlias.get(cmdName);
|
|
274
|
+
}
|
|
209
275
|
if (result) {
|
|
210
276
|
// Check mode compatibility if mode is specified
|
|
211
277
|
if (mode === undefined || this.isModeCompatible(mode, result.mode)) {
|
|
@@ -217,12 +283,12 @@ var AcEdCommandStack = /** @class */ (function () {
|
|
|
217
283
|
}
|
|
218
284
|
}
|
|
219
285
|
}
|
|
220
|
-
catch (
|
|
286
|
+
catch (e_3_1) { e_3 = { error: e_3_1 }; }
|
|
221
287
|
finally {
|
|
222
288
|
try {
|
|
223
289
|
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
224
290
|
}
|
|
225
|
-
finally { if (
|
|
291
|
+
finally { if (e_3) throw e_3.error; }
|
|
226
292
|
}
|
|
227
293
|
return result;
|
|
228
294
|
};
|
|
@@ -237,23 +303,39 @@ var AcEdCommandStack = /** @class */ (function () {
|
|
|
237
303
|
* name `cmdGlobalName` is found in the `cmdGroupName` command group.
|
|
238
304
|
*/
|
|
239
305
|
AcEdCommandStack.prototype.removeCmd = function (cmdGroupName, cmdGlobalName) {
|
|
240
|
-
var
|
|
306
|
+
var e_4, _a;
|
|
241
307
|
cmdGroupName = cmdGroupName.toUpperCase();
|
|
242
308
|
cmdGlobalName = cmdGlobalName.toUpperCase();
|
|
309
|
+
var _loop_1 = function (group) {
|
|
310
|
+
if (group.groupName == cmdGroupName) {
|
|
311
|
+
var command = group.commandsByGlobalName.get(cmdGlobalName);
|
|
312
|
+
if (!command) {
|
|
313
|
+
return { value: false };
|
|
314
|
+
}
|
|
315
|
+
group.commandsByGlobalName.delete(cmdGlobalName);
|
|
316
|
+
group.commandsByLocalName.delete(command.localName);
|
|
317
|
+
var aliases = group.aliasesByCommand.get(command);
|
|
318
|
+
aliases === null || aliases === void 0 ? void 0 : aliases.forEach(function (alias) {
|
|
319
|
+
group.commandsByAlias.delete(alias);
|
|
320
|
+
});
|
|
321
|
+
group.aliasesByCommand.delete(command);
|
|
322
|
+
return { value: true };
|
|
323
|
+
}
|
|
324
|
+
};
|
|
243
325
|
try {
|
|
244
326
|
for (var _b = __values(this._commandsByGroup), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
245
327
|
var group = _c.value;
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
328
|
+
var state_1 = _loop_1(group);
|
|
329
|
+
if (typeof state_1 === "object")
|
|
330
|
+
return state_1.value;
|
|
249
331
|
}
|
|
250
332
|
}
|
|
251
|
-
catch (
|
|
333
|
+
catch (e_4_1) { e_4 = { error: e_4_1 }; }
|
|
252
334
|
finally {
|
|
253
335
|
try {
|
|
254
336
|
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
255
337
|
}
|
|
256
|
-
finally { if (
|
|
338
|
+
finally { if (e_4) throw e_4.error; }
|
|
257
339
|
}
|
|
258
340
|
return false;
|
|
259
341
|
};
|
|
@@ -266,13 +348,9 @@ var AcEdCommandStack = /** @class */ (function () {
|
|
|
266
348
|
*/
|
|
267
349
|
AcEdCommandStack.prototype.removeGroup = function (groupName) {
|
|
268
350
|
groupName = groupName.toUpperCase();
|
|
269
|
-
var
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
return group.groupName == groupName;
|
|
273
|
-
});
|
|
274
|
-
if (tmp >= 0) {
|
|
275
|
-
this._commandsByGroup.splice(tmp, 1);
|
|
351
|
+
var index = this._commandsByGroup.findIndex(function (group) { return group.groupName === groupName; });
|
|
352
|
+
if (index >= 0) {
|
|
353
|
+
this._commandsByGroup.splice(index, 1);
|
|
276
354
|
return true;
|
|
277
355
|
}
|
|
278
356
|
return false;
|
|
@@ -281,11 +359,115 @@ var AcEdCommandStack = /** @class */ (function () {
|
|
|
281
359
|
* Removes all of registered commands
|
|
282
360
|
*/
|
|
283
361
|
AcEdCommandStack.prototype.removeAll = function () {
|
|
284
|
-
this._commandsByGroup = [];
|
|
285
362
|
this._defaultCommandGroup.commandsByGlobalName.clear();
|
|
286
363
|
this._defaultCommandGroup.commandsByLocalName.clear();
|
|
364
|
+
this._defaultCommandGroup.commandsByAlias.clear();
|
|
365
|
+
this._defaultCommandGroup.aliasesByCommand.clear();
|
|
287
366
|
this._systemCommandGroup.commandsByGlobalName.clear();
|
|
288
367
|
this._systemCommandGroup.commandsByLocalName.clear();
|
|
368
|
+
this._systemCommandGroup.commandsByAlias.clear();
|
|
369
|
+
this._systemCommandGroup.aliasesByCommand.clear();
|
|
370
|
+
this._commandsByGroup = [
|
|
371
|
+
this._systemCommandGroup,
|
|
372
|
+
this._defaultCommandGroup
|
|
373
|
+
];
|
|
374
|
+
};
|
|
375
|
+
/**
|
|
376
|
+
* Gets all aliases of the specified command in a command group.
|
|
377
|
+
*
|
|
378
|
+
* @param command - Target command object
|
|
379
|
+
* @param commandGroupName - Optional command group name. If omitted, the first matching group is used.
|
|
380
|
+
* @returns Alias list in registration order
|
|
381
|
+
*/
|
|
382
|
+
AcEdCommandStack.prototype.getCommandAliases = function (command, commandGroupName) {
|
|
383
|
+
var e_5, _a;
|
|
384
|
+
var normalizedGroupName = commandGroupName === null || commandGroupName === void 0 ? void 0 : commandGroupName.trim().toUpperCase();
|
|
385
|
+
var groups = normalizedGroupName
|
|
386
|
+
? this._commandsByGroup.filter(function (group) { return group.groupName === normalizedGroupName; })
|
|
387
|
+
: this._commandsByGroup;
|
|
388
|
+
try {
|
|
389
|
+
for (var groups_1 = __values(groups), groups_1_1 = groups_1.next(); !groups_1_1.done; groups_1_1 = groups_1.next()) {
|
|
390
|
+
var group = groups_1_1.value;
|
|
391
|
+
var aliases = group.aliasesByCommand.get(command);
|
|
392
|
+
if (aliases) {
|
|
393
|
+
return __spreadArray([], __read(aliases), false);
|
|
394
|
+
}
|
|
395
|
+
}
|
|
396
|
+
}
|
|
397
|
+
catch (e_5_1) { e_5 = { error: e_5_1 }; }
|
|
398
|
+
finally {
|
|
399
|
+
try {
|
|
400
|
+
if (groups_1_1 && !groups_1_1.done && (_a = groups_1.return)) _a.call(groups_1);
|
|
401
|
+
}
|
|
402
|
+
finally { if (e_5) throw e_5.error; }
|
|
403
|
+
}
|
|
404
|
+
return [];
|
|
405
|
+
};
|
|
406
|
+
/**
|
|
407
|
+
* Checks whether any alias of the given command starts with the input prefix.
|
|
408
|
+
*
|
|
409
|
+
* This helper is used by prefix search so alias names can participate in
|
|
410
|
+
* command auto-complete matching together with global/local command names.
|
|
411
|
+
*
|
|
412
|
+
* @param commandGroupName - Name of the command group containing the command
|
|
413
|
+
* @param command - Command instance whose aliases are inspected
|
|
414
|
+
* @param prefix - Uppercase prefix to match
|
|
415
|
+
* @returns True if any alias starts with the prefix
|
|
416
|
+
*/
|
|
417
|
+
AcEdCommandStack.prototype.commandAliasStartsWith = function (commandGroupName, command, prefix) {
|
|
418
|
+
var e_6, _a;
|
|
419
|
+
var group = this._commandsByGroup.find(function (value) { return value.groupName === commandGroupName; });
|
|
420
|
+
if (!group) {
|
|
421
|
+
return false;
|
|
422
|
+
}
|
|
423
|
+
var aliases = group.aliasesByCommand.get(command);
|
|
424
|
+
if (!aliases) {
|
|
425
|
+
return false;
|
|
426
|
+
}
|
|
427
|
+
try {
|
|
428
|
+
for (var aliases_2 = __values(aliases), aliases_2_1 = aliases_2.next(); !aliases_2_1.done; aliases_2_1 = aliases_2.next()) {
|
|
429
|
+
var alias = aliases_2_1.value;
|
|
430
|
+
if (alias.startsWith(prefix)) {
|
|
431
|
+
return true;
|
|
432
|
+
}
|
|
433
|
+
}
|
|
434
|
+
}
|
|
435
|
+
catch (e_6_1) { e_6 = { error: e_6_1 }; }
|
|
436
|
+
finally {
|
|
437
|
+
try {
|
|
438
|
+
if (aliases_2_1 && !aliases_2_1.done && (_a = aliases_2.return)) _a.call(aliases_2);
|
|
439
|
+
}
|
|
440
|
+
finally { if (e_6) throw e_6.error; }
|
|
441
|
+
}
|
|
442
|
+
return false;
|
|
443
|
+
};
|
|
444
|
+
/**
|
|
445
|
+
* Normalizes raw alias input into a validated alias list for registration.
|
|
446
|
+
*
|
|
447
|
+
* Processing rules:
|
|
448
|
+
* - Accepts one alias string or a list of alias strings.
|
|
449
|
+
* - Trims whitespace and converts aliases to uppercase.
|
|
450
|
+
* - Removes empty aliases.
|
|
451
|
+
* - Removes aliases that are identical to command global/local names.
|
|
452
|
+
* - Removes duplicates while preserving insertion order.
|
|
453
|
+
*
|
|
454
|
+
* @param aliases - Raw alias input from caller
|
|
455
|
+
* @param cmdGlobalName - Command global name in uppercase
|
|
456
|
+
* @param cmdLocalName - Command local name in uppercase
|
|
457
|
+
* @returns Normalized alias list
|
|
458
|
+
*/
|
|
459
|
+
AcEdCommandStack.prototype.normalizeAliases = function (aliases, cmdGlobalName, cmdLocalName) {
|
|
460
|
+
var values = Array.isArray(aliases) ? aliases : aliases ? [aliases] : [];
|
|
461
|
+
var result = new Set();
|
|
462
|
+
values.forEach(function (alias) {
|
|
463
|
+
var normalized = alias.trim().toUpperCase();
|
|
464
|
+
if (normalized &&
|
|
465
|
+
normalized !== cmdGlobalName &&
|
|
466
|
+
normalized !== cmdLocalName) {
|
|
467
|
+
result.add(normalized);
|
|
468
|
+
}
|
|
469
|
+
});
|
|
470
|
+
return __spreadArray([], __read(result), false);
|
|
289
471
|
};
|
|
290
472
|
/**
|
|
291
473
|
* Checks if a document mode is compatible with a command's required mode.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AcEdCommandStack.js","sourceRoot":"","sources":["../../../src/editor/command/AcEdCommandStack.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AcEdCommandStack.js","sourceRoot":"","sources":["../../../src/editor/command/AcEdCommandStack.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { AcDbEntity, AcDbTypedValue } from '@mlightcad/data-model';
|
|
2
|
+
/**
|
|
3
|
+
* Represents one entity filter expression for selection operations.
|
|
4
|
+
*
|
|
5
|
+
* This class is inspired by AutoCAD .NET `SelectionFilter`, where filter clauses
|
|
6
|
+
* are expressed by typed DXF values. Conditions are evaluated with AND semantics.
|
|
7
|
+
*
|
|
8
|
+
* Supported typed values:
|
|
9
|
+
* - `AcDbDxfCode.Start` => entity type (DXF type or runtime type)
|
|
10
|
+
* - `AcDbDxfCode.LayerName` => layer name
|
|
11
|
+
* - `AcDbDxfCode.ColorName` => `entity.color.toString()`
|
|
12
|
+
* - `AcDbDxfCode.LinetypeName` => line type name
|
|
13
|
+
* - `AcDbDxfCode.LineWeight` => lineweight
|
|
14
|
+
* - `AcDbDxfCode.Operator` => comparison operator for next clause
|
|
15
|
+
*
|
|
16
|
+
* Supported operator tokens:
|
|
17
|
+
* - `=`, `==`
|
|
18
|
+
* - `!=`, `<>`
|
|
19
|
+
* - `>`, `>=`, `<`, `<=`
|
|
20
|
+
*/
|
|
21
|
+
export declare class AcEdSelectionFilter {
|
|
22
|
+
private readonly _typedValues;
|
|
23
|
+
constructor(values?: AcDbTypedValue[]);
|
|
24
|
+
/**
|
|
25
|
+
* Returns typed values used by this filter.
|
|
26
|
+
*/
|
|
27
|
+
get typedValues(): AcDbTypedValue<unknown>[];
|
|
28
|
+
/**
|
|
29
|
+
* Returns whether the specified entity satisfies all filter clauses.
|
|
30
|
+
*/
|
|
31
|
+
matches(entity: AcDbEntity): boolean;
|
|
32
|
+
/**
|
|
33
|
+
* Parses one operator token from typed-value input.
|
|
34
|
+
*
|
|
35
|
+
* Accepted tokens follow common AutoCAD comparison syntax. Unknown values
|
|
36
|
+
* safely fall back to equality.
|
|
37
|
+
*
|
|
38
|
+
* @param raw - Raw operator token (usually from `AcDbDxfCode.Operator`)
|
|
39
|
+
* @returns Normalized internal comparison operator
|
|
40
|
+
*/
|
|
41
|
+
private parseOperator;
|
|
42
|
+
/**
|
|
43
|
+
* Evaluates whether one typed-value clause matches the given entity.
|
|
44
|
+
*
|
|
45
|
+
* The method first resolves an entity-side value by DXF code, then compares
|
|
46
|
+
* it with the filter value using the operator currently in effect.
|
|
47
|
+
*
|
|
48
|
+
* @param entity - Entity being tested
|
|
49
|
+
* @param tv - Typed-value clause (`code` + `value`)
|
|
50
|
+
* @param op - Comparison operator for this clause
|
|
51
|
+
* @returns `true` if the clause matches; otherwise `false`
|
|
52
|
+
*/
|
|
53
|
+
private matchTypedValue;
|
|
54
|
+
/**
|
|
55
|
+
* Resolves the entity property value associated with one DXF group code.
|
|
56
|
+
*
|
|
57
|
+
* Only codes used by current Quick Select flow are mapped. Unsupported
|
|
58
|
+
* codes return `undefined` and are treated as non-matching clauses.
|
|
59
|
+
*
|
|
60
|
+
* @param entity - Source entity
|
|
61
|
+
* @param code - DXF code indicating which property to read
|
|
62
|
+
* @returns Resolved value for comparison, or `undefined` if unsupported
|
|
63
|
+
*/
|
|
64
|
+
private resolveEntityValue;
|
|
65
|
+
/**
|
|
66
|
+
* Compares runtime value and filter value with the given operator.
|
|
67
|
+
*
|
|
68
|
+
* Comparison strategy:
|
|
69
|
+
* - Numeric path: when both values are finite numbers
|
|
70
|
+
* - String path: case-insensitive lexicographic comparison otherwise
|
|
71
|
+
*
|
|
72
|
+
* @param actual - Runtime value resolved from entity
|
|
73
|
+
* @param expected - Target value from filter clause
|
|
74
|
+
* @param op - Comparison operator
|
|
75
|
+
* @returns `true` when comparison succeeds; otherwise `false`
|
|
76
|
+
*/
|
|
77
|
+
private compare;
|
|
78
|
+
}
|
|
79
|
+
//# sourceMappingURL=AcEdSelectionFilter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AcEdSelectionFilter.d.ts","sourceRoot":"","sources":["../../../src/editor/input/AcEdSelectionFilter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,UAAU,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAU/E;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAkB;gBAEnC,MAAM,GAAE,cAAc,EAAO;IAIzC;;OAEG;IACH,IAAI,WAAW,8BAEd;IAED;;OAEG;IACH,OAAO,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO;IAqBpC;;;;;;;;OAQG;IACH,OAAO,CAAC,aAAa;IAqBrB;;;;;;;;;;OAUG;IACH,OAAO,CAAC,eAAe;IAYvB;;;;;;;;;OASG;IACH,OAAO,CAAC,kBAAkB;IAiB1B;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,OAAO;CA+ChB"}
|