Skip to content

Commit 57a76e5

Browse files
committed
Just a little code optimization. Improved a perfomance
1 parent e1bf46b commit 57a76e5

File tree

6 files changed

+30
-49
lines changed

6 files changed

+30
-49
lines changed

assets/js/component.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ export default class Component {
1414
this.anchor.innerHTML = ''; // очищаем
1515
store.events.unsubscribe('change', this.render);
1616
//
17-
console.log( 'YOU ARE LUCKY!' );
17+
console.log( 'DOM clear' );
1818
console.log( this.anchor );
1919
document.getElementById('app').innerHTML = ''; // очищаем
2020
}

assets/js/content-items.js

Lines changed: 6 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -38,43 +38,30 @@ import ContentComponent from "./content.js";
3838
}
3939
};
4040

41-
onPropsChange(value) {
42-
this.render(value);
43-
44-
}
45-
4641
set data(value) {
47-
console.log( value );
4842
value.then(obj => {
49-
this._data = obj;
50-
console.log( this._data );
51-
this.onPropsChange(this._data);
52-
console.log( this._data );
43+
console.log( store.props );
44+
store.props = obj;
45+
console.log( store.props );
46+
this.render(store.props);
5347
});
54-
}
5548

56-
get data() {
57-
return this._data;
5849
}
5950

6051
render(value) {
61-
console.log( value );
62-
console.log( store.props );
6352
console.log( 'items render' );
64-
65-
if (store.props.length === 0) {
53+
if (value.length === 0) {
6654
this.anchor.innerHTML = `
6755
<li class="content__main-results-list-item">
6856
<p class="content__main-results-list-item-text content--clear">No todos</p>
6957
</li>
7058
`;
71-
return;
7259
}
7360

7461
let listItems = `
7562
<ul>
7663
${
77-
store.props.map(todoItem => `
64+
value.map(todoItem => `
7865
<li class="content__main-results-list-item" id="${todoItem._id}" executionStatus="${todoItem.completed}">
7966
<p class="content__main-results-list-item-text">${todoItem.text}</p>
8067
<div class="content__main-results-list-item-buttons">

assets/js/login.js

Lines changed: 17 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -16,33 +16,29 @@ export default class LoginComponent extends Component{
1616
request.checkAuthorizationRequest(this.settings);
1717
}
1818

19-
authorizationByEnter(e) {
20-
if (e.key === 'Enter') {
21-
return this.handleAuthorization(e);
22-
}
23-
}
19+
handleAuthorization(event) {
20+
if (event.key === 'Enter' || event.type === 'click') {
21+
event.preventDefault();
2422

25-
handleAuthorization(e) {
26-
e.preventDefault();
23+
let login = document.getElementById('login').value.trim();
24+
let pass = document.getElementById('pass').value.trim();
2725

28-
let login = document.getElementById('login').value.trim();
29-
let pass = document.getElementById('pass').value.trim();
3026

27+
if (login && pass) {
3128

32-
if (login && pass) {
29+
request.loginRequest(login, pass, this.settings);
3330

34-
request.loginRequest(login, pass, this.settings);
31+
console.log(store);
32+
// console.log( request.sessionAuthorizationData );
33+
// link(this.settings.redirect)
3534

36-
console.log( store );
37-
// console.log( request.sessionAuthorizationData );
38-
// link(this.settings.redirect)
35+
} else if ((!login && pass) || (login && !pass)) {
36+
login ? errorMessage('Please enter your password.')
37+
: errorMessage('Please enter your login.');
3938

40-
} else if ((!login && pass) || (login && !pass)) {
41-
login ? errorMessage('Please enter your password.')
42-
: errorMessage('Please enter your login.');
43-
44-
} else if (!login && !pass) {
45-
errorMessage('Please enter your login and password.');
39+
} else if (!login && !pass) {
40+
errorMessage('Please enter your login and password.');
41+
}
4642
}
4743
}
4844

@@ -53,7 +49,7 @@ export default class LoginComponent extends Component{
5349

5450
this.anchor.querySelectorAll('.login__main-form-input')
5551
.forEach(elem => {
56-
elem.addEventListener('keydown', this.authorizationByEnter.bind(this));
52+
elem.addEventListener('keydown', this.handleAuthorization.bind(this));
5753
});
5854
}
5955

assets/js/network-request.js

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -79,19 +79,18 @@ export default class NetworkRequest {
7979
}
8080

8181
async readTodosRequest() {
82+
let res;
8283
await fetch('https://todo-app-back.herokuapp.com/todos', {
8384
method: 'GET',
8485
headers: {
8586
'Content-Type': 'application/json',
8687
'Authorization': `${localStorage.getItem('token' )}`
8788
}
8889
})
89-
.then(response => response.json())
90-
.then(obj => {
91-
store.props = obj;
92-
});
90+
.then(response => response.json())
91+
.then(obj => res = obj);
9392

94-
return store.props;
93+
return res;
9594
}
9695

9796
deleteItem(id) {

assets/js/router.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ export default class Router {
2323

2424
this.component = new conf.component(this.anchor, conf.settings);
2525

26-
this.component.render();
26+
// this.component.render();
2727

2828
}
2929
}

assets/js/store/store.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,8 @@ export default class Store {
1414
}
1515

1616
set props(value) {
17-
console.log('Happy');
17+
console.log('store updated');
1818
this.state.todos = value.reverse();
19-
2019
}
2120

2221
get props() {

0 commit comments

Comments
 (0)