Merge pull request #314 from ueokande/qa-0.9

QA 0.9
jh-changes
Shin'ya Ueoka 7 years ago committed by GitHub
commit 857d7be700
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 16
      QA.md
  2. 23
      README.md
  3. 3057
      package-lock.json
  4. 4
      package.json
  5. 4
      src/shared/utils/dom.js

16
QA.md

@ -12,6 +12,9 @@ Test operations with default key maps.
- [ ] <kbd>Ctrl</kbd>+<kbd>B</kbd>, <kbd>Ctrl</kbd>+<kbd>F</kbd>: scroll up and down by a screen - [ ] <kbd>Ctrl</kbd>+<kbd>B</kbd>, <kbd>Ctrl</kbd>+<kbd>F</kbd>: scroll up and down by a screen
- [ ] <kbd>0</kbd>, <kbd>$</kbd>: scroll to leftmost and rightmost - [ ] <kbd>0</kbd>, <kbd>$</kbd>: scroll to leftmost and rightmost
- [ ] <kbd>g</kbd><kbd>g</kbd>, <kbd>G</kbd>: scroll to top and bottom - [ ] <kbd>g</kbd><kbd>g</kbd>, <kbd>G</kbd>: scroll to top and bottom
- [ ] Smooth scroll by `:set smoothscroll`
- [ ] Non-smooth scroll by `:set nosmoothscroll`
- [ ] Configure custom hint character by settings `"smoothscroll": true`, `"smoothscroll": false`
#### Console #### Console
@ -24,7 +27,8 @@ The behaviors of the console are tested in [Console section](#consoles).
#### Tabs #### Tabs
- [ ] <kbd>d</kbd>: delete current tab - [ ] <kbd>d</kbd>: delete current tab, unable to remove pinnned tab
- [ ] <kbd>!d</kbd>: delete current tab and pinned tab
- [ ] <kbd>u</kbd>: reopen close tab - [ ] <kbd>u</kbd>: reopen close tab
- [ ] <kbd>K</kbd>, <kbd>J</kbd>: select prev and next tab - [ ] <kbd>K</kbd>, <kbd>J</kbd>: select prev and next tab
- [ ] <kbd>g0</kbd>, <kbd>g$</kbd>: select first and last tab - [ ] <kbd>g0</kbd>, <kbd>g$</kbd>: select first and last tab
@ -32,6 +36,7 @@ The behaviors of the console are tested in [Console section](#consoles).
- [ ] <kbd>R</kbd>: reload current tab without cache - [ ] <kbd>R</kbd>: reload current tab without cache
- [ ] <kbd>zd</kbd>: duplicate current tab - [ ] <kbd>zd</kbd>: duplicate current tab
- [ ] <kbd>zp</kbd>: toggle pin/unpin state on current tab - [ ] <kbd>zp</kbd>: toggle pin/unpin state on current tab
- [ ] <kbd>Ctrl</kbd>+<kbd>6</kbd>: select previous selected tab
#### Navigation #### Navigation
@ -62,6 +67,8 @@ The behaviors of the console are tested in [Console section](#consoles).
- [ ] Select link and open it in the frame in `<iframe>`/`<frame`> on following by <kbd>f</kbd> - [ ] Select link and open it in the frame in `<iframe>`/`<frame`> on following by <kbd>f</kbd>
- [ ] Select link and open it in new tab in `<iframe>`/`<frame`> on following by <kbd>F</kbd> - [ ] Select link and open it in new tab in `<iframe>`/`<frame`> on following by <kbd>F</kbd>
- [ ] Select link and open it in `<area>` tags, for <kbd>f</kbd> and <kbd>F</kbd> - [ ] Select link and open it in `<area>` tags, for <kbd>f</kbd> and <kbd>F</kbd>
- [ ] Configure custom hint character by `:set hintchars=012345678`
- [ ] Configure custom hint character by settings `"hintchars": "012345678"`
### Consoles ### Consoles
@ -117,7 +124,7 @@ The behaviors of the console are tested in [Console section](#consoles).
##### Validations ##### Validations
- [ ] show error on invalid json - [ ] show error on invalid json
- [ ] show error when top-level keys has keys other than `keymaps`, `search`, and `blacklist` - [ ] show error when top-level keys has keys other than `keymaps`, `search`, `blacklist`, and `properties`
###### `"keymaps"` section ###### `"keymaps"` section
@ -142,6 +149,11 @@ The behaviors of the console are tested in [Console section](#consoles).
- [ ] keymap settings are applied to open tabs without reload - [ ] keymap settings are applied to open tabs without reload
- [ ] search settings are applied to open tabs without reload - [ ] search settings are applied to open tabs without reload
##### Properties
- [ ] show errors when invalid property name
- [ ] show errors when invalid property type
#### Form Settings #### Form Settings
<!-- validation on form settings does not implement in 0.7 --> <!-- validation on form settings does not implement in 0.7 -->

@ -34,6 +34,7 @@ The default mappings are as follows:
#### Tabs #### Tabs
- <kbd>d</kbd>: delete current tab - <kbd>d</kbd>: delete current tab
- <kbd>!</kbd><kbd>d</kbd>: delete pinned tab
- <kbd>u</kbd>: reopen close tab - <kbd>u</kbd>: reopen close tab
- <kbd>K</kbd>, <kbd>J</kbd>: select prev or next tab - <kbd>K</kbd>, <kbd>J</kbd>: select prev or next tab
- <kbd>g0</kbd>, <kbd>g$</kbd>: select first or last tab - <kbd>g0</kbd>, <kbd>g$</kbd>: select first or last tab
@ -50,7 +51,7 @@ The default mappings are as follows:
- <kbd>[</kbd><kbd>[</kbd>, <kbd>]</kbd><kbd>]</kbd>: find prev or next links and open it - <kbd>[</kbd><kbd>[</kbd>, <kbd>]</kbd><kbd>]</kbd>: find prev or next links and open it
- <kbd>g</kbd><kbd>u</kbd>: go to parent directory - <kbd>g</kbd><kbd>u</kbd>: go to parent directory
- <kbd>g</kbd><kbd>U</kbd>: go to root directory - <kbd>g</kbd><kbd>U</kbd>: go to root directory
- <kbd>g</kbd><kbd>i</kbd>, <kbd>G</kbd>: focus first input - <kbd>g</kbd><kbd>i</kbd>: focus first input
#### Misc #### Misc
- <kbd>z</kbd><kbd>i</kbd>, <kbd>z</kbd><kbd>o</kbd>: zoom-in/zoom-out - <kbd>z</kbd><kbd>i</kbd>, <kbd>z</kbd><kbd>o</kbd>: zoom-in/zoom-out
@ -102,6 +103,26 @@ Open a URL or search keywords by search engine in new window.
Select tabs by URL or title matched by keywords. Select tabs by URL or title matched by keywords.
#### `:set` command
`:set` command can set properties on console.
##### `smoothscroll` property
Enable/disable smooth scroll.
```
:set smoothscroll " enable smooth scroll
:set nosmoothscroll " disable smooth scroll
```
##### `hintchars` property
Set hint characters
```
:set hintchars=0123456789
```
### Search engines ### Search engines
Vim Vixen supports search by search engines like Google and Yahoo. Vim Vixen supports search by search engines like Google and Yahoo.

3057
package-lock.json generated

File diff suppressed because it is too large Load Diff

@ -31,14 +31,14 @@
"eslint": "^4.7.0", "eslint": "^4.7.0",
"eslint-plugin-react": "^7.4.0", "eslint-plugin-react": "^7.4.0",
"html-webpack-plugin": "^2.30.1", "html-webpack-plugin": "^2.30.1",
"karma": "^1.7.0", "karma": "^2.0.0",
"karma-firefox-launcher": "^1.0.1", "karma-firefox-launcher": "^1.0.1",
"karma-html2js-preprocessor": "^1.1.0", "karma-html2js-preprocessor": "^1.1.0",
"karma-mocha": "^1.3.0", "karma-mocha": "^1.3.0",
"karma-mocha-reporter": "^2.2.3", "karma-mocha-reporter": "^2.2.3",
"karma-sourcemap-loader": "^0.3.7", "karma-sourcemap-loader": "^0.3.7",
"karma-webpack": "^2.0.4", "karma-webpack": "^2.0.4",
"mocha": "^4.0.1", "mocha": "^5.0.0",
"node-sass": "^4.5.3", "node-sass": "^4.5.3",
"preact": "^8.2.6", "preact": "^8.2.6",
"sass-loader": "^6.0.6", "sass-loader": "^6.0.6",

@ -83,7 +83,9 @@ const viewportRect = (e) => {
const isVisible = (element) => { const isVisible = (element) => {
let rect = element.getBoundingClientRect(); let rect = element.getBoundingClientRect();
if (rect.width === 0 || rect.height === 0) { let style = window.getComputedStyle(element);
if (style.overflow !== 'visible' && (rect.width === 0 || rect.height === 0)) {
return false; return false;
} }
if (rect.right < 0 && rect.bottom < 0) { if (rect.right < 0 && rect.bottom < 0) {