Skip to content

Commit b94958b

Browse files
committed
Add options to filter actions
1 parent ff892d1 commit b94958b

File tree

2 files changed

+24
-4
lines changed

2 files changed

+24
-4
lines changed

src/browser/extension/options/index.js

Lines changed: 21 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,11 @@ chrome.runtime.getBackgroundPage( background => {
55
const syncOptions = background.syncOptions;
66

77
const saveOption = e => {
8-
syncOptions.save(e.target.id, e.target.type === 'checkbox' ? e.target.checked : Number(e.target.value));
8+
let value;
9+
if (e.target.type === 'checkbox') value = e.target.checked;
10+
else if (e.target.type === 'input') value = Number(e.target.value);
11+
else value = e.target.value;
12+
syncOptions.save(e.target.id, value);
913
};
1014

1115
const isValidRegex = str => {
@@ -35,15 +39,28 @@ chrome.runtime.getBackgroundPage( background => {
3539
<span className="comment">(autocommit when exceeds, 0 - no limit)</span>
3640
</div>
3741
<div className="input">
38-
<span className="caption">Maximum delay:</span>
39-
<input id="timeout" type="text" defaultValue={items.timeout} onChange={saveOption}/>
40-
<span className="comment">(seconds: bigger - better performance)</span>
42+
<span className="caption">Filter spec. actions:</span>
43+
<input id="filter" type="checkbox" defaultChecked={items.filter} onChange={saveOption}/>
44+
<span className="comment">(enable to show/hide the actions bellow)</span>
45+
</div>
46+
<div className="input">
47+
<span className="caption">Actions to hide from DevTools (from new line):</span>
48+
<textarea onChange={saveOption} id="blacklist" defaultValue={items.blacklist}/>
49+
</div>
50+
<div className="input">
51+
<span className="caption">Actions to show (previous option will be ignored):</span>
52+
<textarea onChange={saveOption} id="whitelist" defaultValue={items.whitelist}/>
4153
</div>
4254
<div className="input">
4355
<span className="caption">States serialization:</span>
4456
<input id="serialize" type="checkbox" defaultChecked={items.serialize} onChange={saveOption}/>
4557
<span className="comment">(required for circular references)</span>
4658
</div>
59+
<div className="input">
60+
<span className="caption">Maximum delay:</span>
61+
<input id="timeout" type="text" defaultValue={items.timeout} onChange={saveOption}/>
62+
<span className="comment">(seconds: bigger - better performance)</span>
63+
</div>
4764
<div className="input">
4865
<span className="caption">Inject in all pages:</span>
4966
<input id="inject" type="checkbox" defaultChecked={items.inject} onChange={saveOption}/>

src/browser/extension/options/syncOptions.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,9 @@ const get = callback => {
1919
else {
2020
chrome.storage.sync.get({
2121
limit: 50,
22+
filter: false,
23+
whitelist: '',
24+
blacklist: '',
2225
timeout: 1,
2326
serialize: true,
2427
inject: true,

0 commit comments

Comments
 (0)