Skip to content

Commit e7f9be6

Browse files
committed
Save visible levels
1 parent 72d81dd commit e7f9be6

File tree

5 files changed

+52
-1
lines changed

5 files changed

+52
-1
lines changed

appinfo/routes.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,4 +13,6 @@
1313
['name' => 'page#index', 'url' => '/', 'verb' => 'GET'],
1414
['name' => 'log#get', 'url' => '/get', 'verb' => 'GET'],
1515
['name' => 'log#search', 'url' => '/search', 'verb' => 'GET'],
16+
['name' => 'log#getLevels', 'url' => '/levels', 'verb' => 'GET'],
17+
['name' => 'log#setLevels', 'url' => '/levels', 'verb' => 'PUT'],
1618
]];

controller/logcontroller.php

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,13 +26,27 @@
2626
use OCP\AppFramework\Controller;
2727
use OCP\AppFramework\Http\JSONResponse;
2828
use OCP\AppFramework\Http\TemplateResponse;
29+
use OCP\IConfig;
30+
use OCP\IRequest;
2931

3032
/**
3133
* Class LogController
3234
*
3335
* @package OCA\LogReader\Controller
3436
*/
3537
class LogController extends Controller {
38+
/**
39+
* @var IConfig
40+
*/
41+
private $config;
42+
43+
public function __construct($appName,
44+
IRequest $request,
45+
IConfig $config) {
46+
parent::__construct($appName, $request);
47+
$this->config = $config;
48+
}
49+
3650
/**
3751
* @param int $count
3852
* @param int $offset
@@ -55,6 +69,14 @@ public function search($query = '', $count = 50, $offset = 0) {
5569
return $this->responseFromIterator($iterator, $count, $offset);
5670
}
5771

72+
public function getLevels() {
73+
return new JSONResponse($this->config->getAppValue('logreader', 'levels', '11111'));
74+
}
75+
76+
public function setLevels($levels) {
77+
$this->config->setAppValue('logreader', 'levels', $levels);
78+
}
79+
5880
protected function responseFromIterator(\Iterator $iterator, $count, $offset) {
5981
for ($i = 0; $i < $offset; $i++) {
6082
$iterator->next();

js/App.js

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ export class App extends Component {
1414
state = {
1515
'entries': [],
1616
'loading': false,
17-
'levels': [true, true, true, true, true]
17+
'levels': [false, false, false, false, false]
1818
};
1919

2020
constructor () {
@@ -24,6 +24,12 @@ export class App extends Component {
2424
this.setState({entries});
2525
});
2626
OCA.Search.logreader = new LogSearch(this.logProvider);
27+
this.saveLevels = _.debounce(this.logProvider.setLevels, 100);
28+
}
29+
30+
async componentDidMount() {
31+
const levels = await this.logProvider.getLevels();
32+
this.setState({levels});
2733
this.logProvider.load();
2834
}
2935

@@ -44,6 +50,7 @@ export class App extends Component {
4450
this.fetchNextPage();
4551
}
4652
this.setState({levels});
53+
this.saveLevels(levels);
4754
}
4855

4956
render () {

js/Components/ToggleEntry.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,12 @@ export class ToggleEntry extends Component {
3030
}
3131
};
3232

33+
componentWillReceiveProps = (props) => {
34+
if(props.active != this.state.active) {
35+
this.setState({active: props.active});
36+
}
37+
};
38+
3339
render () {
3440
return (
3541
<li className={style.toggleEntry}>

js/Providers/LogProvider.js

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,4 +60,18 @@ export class LogProvider extends EventEmitter {
6060
});
6161
}
6262
}
63+
64+
async getLevels() {
65+
const levels = await $.get(OC.generateUrl('/apps/logreader/levels'));
66+
return levels.split('').map(level => level > 0);
67+
}
68+
69+
setLevels(levels) {
70+
const levelsString = levels.map(level => level ? 1 : 0).join('');
71+
return $.ajax({
72+
type: 'PUT',
73+
url: OC.generateUrl('/apps/logreader/levels'),
74+
data: {levels: levelsString}
75+
});
76+
}
6377
}

0 commit comments

Comments
 (0)