@itwin/ecschema-rpcinterface-tests 5.9.0-dev.10 → 5.9.0-dev.12
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/dist/bundled-tests.js +57 -6
- package/lib/dist/bundled-tests.js.map +1 -1
- package/package.json +15 -15
|
@@ -183701,12 +183701,26 @@ class ToolAdmin {
|
|
|
183701
183701
|
if (!ev.repeat) // we don't want repeated keyboard events. If we keep them they interfere with replacing mouse motion events, since they come as a stream.
|
|
183702
183702
|
ToolAdmin.addEvent(ev);
|
|
183703
183703
|
};
|
|
183704
|
+
/** Handler for modifier key transitions captured before focused UI elements can stop propagation. */
|
|
183705
|
+
static _keyEventCaptureHandler = async (event) => {
|
|
183706
|
+
const ev = event;
|
|
183707
|
+
if (!ev.repeat) {
|
|
183708
|
+
try {
|
|
183709
|
+
await _IModelApp__WEBPACK_IMPORTED_MODULE_5__.IModelApp.toolAdmin.onKeyTransitionCaptured(ev);
|
|
183710
|
+
}
|
|
183711
|
+
catch (err) {
|
|
183712
|
+
await ToolAdmin.exceptionHandler(err);
|
|
183713
|
+
}
|
|
183714
|
+
}
|
|
183715
|
+
};
|
|
183704
183716
|
/** @internal */
|
|
183705
183717
|
onInitialized() {
|
|
183706
183718
|
if (typeof document === "undefined")
|
|
183707
183719
|
return; // if document isn't defined, we're probably running in a test environment. At any rate, we can't have interactive tools.
|
|
183708
183720
|
this._idleTool = _IModelApp__WEBPACK_IMPORTED_MODULE_5__.IModelApp.tools.create("Idle");
|
|
183709
183721
|
["keydown", "keyup"].forEach((type) => {
|
|
183722
|
+
document.addEventListener(type, ToolAdmin._keyEventCaptureHandler, true);
|
|
183723
|
+
ToolAdmin._removals.push(() => document.removeEventListener(type, ToolAdmin._keyEventCaptureHandler, true));
|
|
183710
183724
|
document.addEventListener(type, ToolAdmin._keyEventHandler, false);
|
|
183711
183725
|
ToolAdmin._removals.push(() => document.removeEventListener(type, ToolAdmin._keyEventHandler, false));
|
|
183712
183726
|
});
|
|
@@ -184470,6 +184484,15 @@ class ToolAdmin {
|
|
|
184470
184484
|
this.updateDynamics(undefined, undefined, true); // Don't wait for motion to update dynamics...
|
|
184471
184485
|
}
|
|
184472
184486
|
}
|
|
184487
|
+
get _isFocusHome() {
|
|
184488
|
+
return (document.body === document.activeElement);
|
|
184489
|
+
}
|
|
184490
|
+
_setFocusHome() {
|
|
184491
|
+
const element = document.activeElement;
|
|
184492
|
+
if (element && element !== document.body)
|
|
184493
|
+
element.blur();
|
|
184494
|
+
document.body.focus();
|
|
184495
|
+
}
|
|
184473
184496
|
static getModifierKey(event) {
|
|
184474
184497
|
switch (event.key) {
|
|
184475
184498
|
case "Alt": return _Tool__WEBPACK_IMPORTED_MODULE_13__.BeModifierKeys.Alt;
|
|
@@ -184500,17 +184523,41 @@ class ToolAdmin {
|
|
|
184500
184523
|
}
|
|
184501
184524
|
return { handled, result };
|
|
184502
184525
|
}
|
|
184503
|
-
/**
|
|
184526
|
+
/** Sub-classes should override to process shortcut key events.
|
|
184527
|
+
* @return true if handled and no further processing of event should occur.
|
|
184528
|
+
*/
|
|
184504
184529
|
async processShortcutKey(_keyEvent, _wentDown) {
|
|
184505
184530
|
return false;
|
|
184506
184531
|
}
|
|
184507
|
-
/** Event for every key down and up transition.
|
|
184508
|
-
|
|
184509
|
-
|
|
184532
|
+
/** Event for every key down and up transition.
|
|
184533
|
+
* @note Called before processShortcutKey.
|
|
184534
|
+
* @return true if handled and no further processing of event should occur.
|
|
184535
|
+
*/
|
|
184536
|
+
processKeyboardEvent(keyEvent, _wentDown) {
|
|
184537
|
+
if (this._isFocusHome || undefined !== _IModelApp__WEBPACK_IMPORTED_MODULE_5__.IModelApp.accuDraw.getFocusItem())
|
|
184538
|
+
return false; // Focus is Home or AccuDraw, allow shortcuts...
|
|
184539
|
+
// NOTE: Provide a convenient way for the user to move focus to Home to use shortcuts.
|
|
184540
|
+
// Escape is the only practical choice with its default behavior that can cancel/close/blur.
|
|
184541
|
+
// Intentionally not checking wentDown as some ui elements stop propagation of down but not up (moving to capture is not a good option).
|
|
184542
|
+
// Apps that want to use Escape to start the default tool still can with Home focus in processShortcutKey.
|
|
184543
|
+
if (keyEvent.key === "Escape" && _ToolSettings__WEBPACK_IMPORTED_MODULE_14__.ToolSettings.escapeMovesFocusToHome && !keyEvent.defaultPrevented && !keyEvent.isComposing)
|
|
184544
|
+
this._setFocusHome();
|
|
184545
|
+
return true;
|
|
184546
|
+
}
|
|
184547
|
+
/** Need to check for modifier changes on capture phase as a ui element that calls stopPropagation
|
|
184548
|
+
* prevents onKeyTransition from being called when bubbling.
|
|
184549
|
+
*/
|
|
184550
|
+
async onKeyTransitionCaptured(keyEvent) {
|
|
184510
184551
|
this.currentInputState.setKeyQualifiers(keyEvent);
|
|
184511
184552
|
const modifierKey = ToolAdmin.getModifierKey(keyEvent);
|
|
184512
184553
|
if (_Tool__WEBPACK_IMPORTED_MODULE_13__.BeModifierKeys.None !== modifierKey)
|
|
184513
|
-
return this.onModifierKeyTransition(
|
|
184554
|
+
return this.onModifierKeyTransition("keydown" === keyEvent.type, modifierKey, keyEvent);
|
|
184555
|
+
}
|
|
184556
|
+
/** Event for every key down and up transition. */
|
|
184557
|
+
async onKeyTransition(event, wentDown) {
|
|
184558
|
+
const keyEvent = event.ev;
|
|
184559
|
+
if (this.processKeyboardEvent(keyEvent, wentDown))
|
|
184560
|
+
return _Tool__WEBPACK_IMPORTED_MODULE_13__.EventHandled.Yes;
|
|
184514
184561
|
if (wentDown && keyEvent.ctrlKey) {
|
|
184515
184562
|
const { handled, result } = await this.onCtrlKeyPressed(keyEvent);
|
|
184516
184563
|
if (handled)
|
|
@@ -185405,6 +185452,10 @@ class ToolSettings {
|
|
|
185405
185452
|
* @beta
|
|
185406
185453
|
*/
|
|
185407
185454
|
static enableVolumeSelection = false;
|
|
185455
|
+
/** If true, pressing Escape key sets focus to Home to allow shortcuts to be used.
|
|
185456
|
+
* @beta
|
|
185457
|
+
*/
|
|
185458
|
+
static escapeMovesFocusToHome = true;
|
|
185408
185459
|
}
|
|
185409
185460
|
|
|
185410
185461
|
|
|
@@ -326348,7 +326399,7 @@ var loadLanguages = instance.loadLanguages;
|
|
|
326348
326399
|
/***/ ((module) => {
|
|
326349
326400
|
|
|
326350
326401
|
"use strict";
|
|
326351
|
-
module.exports = /*#__PURE__*/JSON.parse('{"name":"@itwin/core-frontend","version":"5.9.0-dev.
|
|
326402
|
+
module.exports = /*#__PURE__*/JSON.parse('{"name":"@itwin/core-frontend","version":"5.9.0-dev.12","description":"iTwin.js frontend components","main":"lib/cjs/core-frontend.js","module":"lib/esm/core-frontend.js","typings":"lib/cjs/core-frontend","license":"MIT","scripts":{"build":"npm run -s copy:public && npm run -s build:cjs && npm run -s build:esm && npm run -s webpackWorkers && npm run -s copy:workers && npm run -s copy:draco","build:cjs":"npm run -s copy:js:cjs && tsc 1>&2 --outDir lib/cjs","build:esm":"npm run -s copy:js:esm && tsc 1>&2 --module ES2022 --outDir lib/esm","clean":"rimraf -g lib .rush/temp/package-deps*.json","copy:public":"cpx \\"./src/public/**/*\\" ./lib/public","copy:js:cjs":"cpx \\"./src/**/*.js\\" ./lib/cjs","copy:js:esm":"cpx \\"./src/**/*.js\\" ./lib/esm","copy:workers":"cpx \\"./lib/workers/webpack/parse-imdl-worker.js\\" ./lib/public/scripts","copy:draco":"cpx \\"./node_modules/@loaders.gl/draco/dist/libs/*\\" ./lib/public/scripts","docs":"betools docs --json=../../generated-docs/core/core-frontend/file.json --tsIndexFile=./core-frontend.ts --onlyJson --excludes=webgl/**/*,**/map/*.d.ts,**/tile/*.d.ts,**/*-css.ts && npm run -s extract","extract":"betools extract --fileExt=ts --extractFrom=./src/test/example-code --recursive --out=../../generated-docs/extract","extract-api":"betools extract-api --entry=core-frontend && npm run extract-extension-api","extract-extension-api":"eslint --no-inline-config -c extraction.eslint.config.js \\"./src/**/*.ts\\" 1>&2","lint":"eslint \\"./src/**/*.ts\\" 1>&2","lint-fix":"eslint --fix -f visualstudio \\"./src/**/*.ts\\" 1>&2","lint-deprecation":"eslint --fix -f visualstudio --no-inline-config -c ../../common/config/eslint/eslint.config.deprecation-policy.js \\"./src/**/*.ts\\"","pseudolocalize":"betools pseudolocalize --englishDir ./src/public/locales/en --out ./public/locales/en-PSEUDO","test":"npm run webpackTestWorker && vitest --run","cover":"npm run webpackTestWorker && vitest --run","webpackTests":"webpack --config ./src/test/utils/webpack.config.js 1>&2 && npm run -s webpackTestWorker","webpackTestWorker":"webpack --config ./src/test/worker/webpack.config.js 1>&2 && cpx \\"./lib/test/test-worker.js\\" ./lib/test","webpackWorkers":"webpack --config ./src/workers/ImdlParser/webpack.config.js 1>&2"},"repository":{"type":"git","url":"https://github.com/iTwin/itwinjs-core.git","directory":"core/frontend"},"keywords":["Bentley","BIM","iModel","digital-twin","iTwin"],"author":{"name":"Bentley Systems, Inc.","url":"http://www.bentley.com"},"peerDependencies":{"@itwin/appui-abstract":"workspace:*","@itwin/core-bentley":"workspace:*","@itwin/core-common":"workspace:*","@itwin/core-geometry":"workspace:*","@itwin/core-orbitgt":"workspace:*","@itwin/core-quantity":"workspace:*","@itwin/ecschema-metadata":"workspace:*","@itwin/ecschema-rpcinterface-common":"workspace:*"},"//devDependencies":["NOTE: All peerDependencies should also be listed as devDependencies since peerDependencies are not considered by npm install","NOTE: All tools used by scripts in this package must be listed as devDependencies"],"devDependencies":{"@bentley/aec-units-schema":"^1.0.3","@bentley/formats-schema":"^1.0.0","@bentley/units-schema":"^1.0.9","@itwin/appui-abstract":"workspace:*","@itwin/build-tools":"workspace:*","@itwin/core-bentley":"workspace:*","@itwin/core-common":"workspace:*","@itwin/core-geometry":"workspace:*","@itwin/core-orbitgt":"workspace:*","@itwin/core-quantity":"workspace:*","@itwin/ecschema-metadata":"workspace:*","@itwin/ecschema-rpcinterface-common":"workspace:*","@itwin/object-storage-core":"^3.0.4","@itwin/eslint-plugin":"^6.0.0","@types/chai-as-promised":"^7","@types/draco3d":"^1.4.10","@types/sinon":"^17.0.2","@vitest/browser":"^3.0.6","@vitest/coverage-v8":"^3.0.6","cpx2":"^8.0.0","eslint":"^9.31.0","glob":"^10.5.0","playwright":"~1.56.1","rimraf":"^6.0.1","sinon":"^17.0.2","source-map-loader":"^5.0.0","typescript":"~5.6.2","vitest":"^3.0.6","vite-multiple-assets":"^1.3.1","vite-plugin-static-copy":"2.2.0","webpack":"^5.97.1"},"//dependencies":["NOTE: these dependencies should be only for things that DO NOT APPEAR IN THE API","NOTE: core-frontend should remain UI technology agnostic, so no react/angular dependencies are allowed"],"dependencies":{"@itwin/core-i18n":"workspace:*","@itwin/webgl-compatibility":"workspace:*","@loaders.gl/core":"~4.3.4","@loaders.gl/draco":"~4.3.4","fuse.js":"^3.3.0","wms-capabilities":"0.4.0"}}');
|
|
326352
326403
|
|
|
326353
326404
|
/***/ })
|
|
326354
326405
|
|