This repository has been archived by the owner on Sep 11, 2024. It is now read-only.
-
-
Notifications
You must be signed in to change notification settings - Fork 831
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'develop' into issue_19724
- Loading branch information
Showing
217 changed files
with
5,894 additions
and
2,701 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
coverage: | ||
status: | ||
project: off | ||
patch: off | ||
comment: | ||
layout: "diff, files" | ||
behavior: default | ||
require_changes: false | ||
require_base: no | ||
require_head: no |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
name: Test coverage | ||
on: | ||
pull_request: {} | ||
push: | ||
branches: [develop, main, master] | ||
jobs: | ||
test-coverage: | ||
runs-on: ubuntu-latest | ||
env: | ||
# This must be set for fetchdep.sh to get the right branch | ||
PR_NUMBER: ${{github.event.number}} | ||
steps: | ||
- name: Checkout code | ||
uses: actions/checkout@v2 | ||
|
||
- name: Yarn cache | ||
uses: c-hive/gha-yarn-cache@v2 | ||
|
||
- name: Install Deps | ||
run: "./scripts/ci/install-deps.sh --ignore-scripts" | ||
|
||
- name: Run tests with coverage | ||
run: "yarn install && yarn reskindex && yarn coverage" | ||
|
||
- name: Upload coverage | ||
uses: codecov/codecov-action@v2 | ||
with: | ||
fail_ci_if_error: false | ||
verbose: true |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,20 +1,23 @@ | ||
const EventEmitter = require("events"); | ||
const { LngLat } = require('maplibre-gl'); | ||
const { LngLat, NavigationControl } = require('maplibre-gl'); | ||
|
||
class MockMap extends EventEmitter { | ||
addControl = jest.fn(); | ||
removeControl = jest.fn(); | ||
} | ||
class MockGeolocateControl extends EventEmitter { | ||
const MockMapInstance = new MockMap(); | ||
|
||
class MockGeolocateControl extends EventEmitter { | ||
trigger = jest.fn(); | ||
} | ||
class MockMarker extends EventEmitter { | ||
setLngLat = jest.fn().mockReturnValue(this); | ||
addTo = jest.fn(); | ||
} | ||
const MockGeolocateInstance = new MockGeolocateControl(); | ||
const MockMarker = {} | ||
MockMarker.setLngLat = jest.fn().mockReturnValue(MockMarker); | ||
MockMarker.addTo = jest.fn().mockReturnValue(MockMarker); | ||
module.exports = { | ||
Map: MockMap, | ||
GeolocateControl: MockGeolocateControl, | ||
Marker: MockMarker, | ||
Map: jest.fn().mockReturnValue(MockMapInstance), | ||
GeolocateControl: jest.fn().mockReturnValue(MockGeolocateInstance), | ||
Marker: jest.fn().mockReturnValue(MockMarker), | ||
LngLat, | ||
NavigationControl | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,59 @@ | ||
# Keyboard shortcuts | ||
|
||
## Using the `KeyBindingManger` | ||
|
||
The `KeyBindingManager` (accessible using `getKeyBindingManager()`) is a class | ||
with several methods that allow you to get a `KeyBindingAction` based on a | ||
`KeyboardEvent | React.KeyboardEvent`. | ||
|
||
The event passed to the `KeyBindingManager` gets compared to the list of | ||
shortcuts that are retrieved from the `IKeyBindingsProvider`s. The | ||
`IKeyBindingsProvider` is in `KeyBindingDefaults`. | ||
|
||
### Examples | ||
|
||
Let's say we want to close a menu when the correct keys were pressed: | ||
|
||
```ts | ||
const onKeyDown = (ev: KeyboardEvent): void => { | ||
let handled = true; | ||
const action = getKeyBindingManager().getAccessibilityAction(ev) | ||
switch (action) { | ||
case KeyBindingAction.Escape: | ||
closeMenu(); | ||
break; | ||
default: | ||
handled = false; | ||
break; | ||
} | ||
|
||
if (handled) { | ||
ev.preventDefault(); | ||
ev.stopPropagation(); | ||
} | ||
} | ||
``` | ||
|
||
## Managing keyboard shortcuts | ||
|
||
There are a few things at play when it comes to keyboard shortcuts. The | ||
`KeyBindingManager` gets `IKeyBindingsProvider`s one of which is | ||
`defaultBindingsProvider` defined in `KeyBindingDefaults`. In | ||
`KeyBindingDefaults` a `getBindingsByCategory()` method is used to create | ||
`KeyBinding`s based on `KeyboardShortcutSetting`s defined in | ||
`KeyboardShortcuts`. | ||
|
||
### Adding keyboard shortcuts | ||
|
||
To add a keyboard shortcut there are two files we have to look at: | ||
`KeyboardShortcuts.ts` and `KeyBindingDefaults.ts`. In most cases we only need | ||
to edit `KeyboardShortcuts.ts`: add a `KeyBindingAction` and add the | ||
`KeyBindingAction` to the `KEYBOARD_SHORTCUTS` object. | ||
|
||
Though, to make matters worse, sometimes we want to add a shortcut that has | ||
multiple keybindings associated with. This keyboard shortcut won't be | ||
customizable as it would be rather difficult to manage both from the point of | ||
the settings and the UI. To do this, we have to add a `KeyBindingAction` and add | ||
the UI representation of that keyboard shortcut to the `getUIOnlyShortcuts()` | ||
method. Then, we also need to add the keybinding to the correct method in | ||
`KeyBindingDefaults`. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -231,7 +231,8 @@ | |
"<rootDir>/src/**/*.{js,ts,tsx}" | ||
], | ||
"coverageReporters": [ | ||
"text" | ||
"text", | ||
"json" | ||
] | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
/* | ||
Copyright 2022 The Matrix.org Foundation C.I.C. | ||
Licensed under the Apache License, Version 2.0 (the "License"); | ||
you may not use this file except in compliance with the License. | ||
You may obtain a copy of the License at | ||
http://www.apache.org/licenses/LICENSE-2.0 | ||
Unless required by applicable law or agreed to in writing, software | ||
distributed under the License is distributed on an "AS IS" BASIS, | ||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
See the License for the specific language governing permissions and | ||
limitations under the License. | ||
*/ | ||
|
||
.mx_MapError { | ||
padding: 100px $spacing-32 0; | ||
text-align: center; | ||
|
||
p { | ||
margin: $spacing-16 0 $spacing-32; | ||
} | ||
} | ||
|
||
.mx_MapError_heading { | ||
padding-top: $spacing-24; | ||
} | ||
|
||
.mx_MapError_icon { | ||
height: 58px; | ||
|
||
path { | ||
fill: $secondary-content; | ||
} | ||
} |
Oops, something went wrong.