From e1bc9e6dcda1176f1ef8dacf690c7d07a91ac50d Mon Sep 17 00:00:00 2001 From: Nikolay <46225163+vigdorov@users.noreply.github.com> Date: Thu, 16 Jul 2020 09:14:47 +0300 Subject: [PATCH] =?UTF-8?q?HM-41.=20=D0=94=D0=BE=D1=80=D0=B0=D0=B1=D0=BE?= =?UTF-8?q?=D1=82=D0=B0=D0=BD=20RouteService=20=D0=B4=D0=BB=D1=8F=20=D1=80?= =?UTF-8?q?=D0=B0=D0=B1=D0=BE=D1=82=D1=8B=20=D1=81=20query=20(#13)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .eslintrc.json | 125 ++++++++++++----------- src/components/test-button/TestButton.js | 15 --- src/components/test-button/index.js | 3 - src/services/RouteService.js | 8 +- 4 files changed, 68 insertions(+), 83 deletions(-) delete mode 100644 src/components/test-button/TestButton.js delete mode 100644 src/components/test-button/index.js diff --git a/.eslintrc.json b/.eslintrc.json index 2299ee5..96aa05f 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -15,47 +15,49 @@ }, "rules": { "no-console": "warn", - "semi": "error", - "quotes": ["error", "single"], + "semi": "warn", + "quotes": ["warn", "single"], "array-callback-return": [ - "error", + "warn", { "allowImplicit": true, "checkForEach": true } ], + "no-trailing-spaces": "warn", + "no-unused-vars": "warn", "default-case": "warn", - "default-param-last": "error", + "default-param-last": "warn", "no-alert": "warn", - "no-constructor-return": "error", - "no-else-return": "error", - "no-empty-function": "error", - "no-multi-spaces": "error", - "no-multi-str": "error", - "no-new": "error", - "no-param-reassign": "error", - "no-sequences": "error", - "no-useless-concat": "error", - "prefer-promise-reject-errors": "error", - "require-await": "error", - "wrap-iife": ["error", "inside"], - "yoda": "error", - "no-shadow": "error", - "no-use-before-define": "error", - "array-bracket-spacing": ["error", "never"], - "block-spacing": ["error", "never"], - "brace-style": ["error", "1tbs", {"allowSingleLine": true}], - "capitalized-comments": ["error"], - "comma-dangle": ["error", "only-multiline"], - "comma-spacing": ["error", {"before": false, "after": true}], - "computed-property-spacing": ["error", "never"], - "eol-last": ["error", "always"], - "func-call-spacing": ["error", "never"], - "func-style": ["error", "expression"], - "indent": ["error", 4], - "keyword-spacing": ["error", {"before": true}], - "line-comment-position": ["error", {"position": "above"}], - "lines-between-class-members": ["error", "always"], + "no-constructor-return": "warn", + "no-else-return": "warn", + "no-empty-function": "warn", + "no-multi-spaces": "warn", + "no-multi-str": "warn", + "no-new": "warn", + "no-param-reassign": "warn", + "no-sequences": "warn", + "no-useless-concat": "warn", + "prefer-promise-reject-errors": "warn", + "require-await": "warn", + "wrap-iife": ["warn", "inside"], + "yoda": "warn", + "no-shadow": "warn", + "no-use-before-define": "warn", + "array-bracket-spacing": ["warn", "never"], + "block-spacing": ["warn", "never"], + "brace-style": ["warn", "1tbs", {"allowSingleLine": true}], + "capitalized-comments": ["warn"], + "comma-dangle": ["warn", "only-multiline"], + "comma-spacing": ["warn", {"before": false, "after": true}], + "computed-property-spacing": ["warn", "never"], + "eol-last": ["warn", "always"], + "func-call-spacing": ["warn", "never"], + "func-style": ["warn", "expression"], + "indent": ["warn", 4], + "keyword-spacing": ["warn", {"before": true}], + "line-comment-position": ["warn", {"position": "above"}], + "lines-between-class-members": ["warn", "always"], "max-len": [ "warn", { @@ -67,34 +69,33 @@ "ignoreRegExpLiterals": true } ], - "multiline-comment-style": ["error", "starred-block"], - "new-cap": "error", - "new-parens": "error", - "newline-per-chained-call": ["error", { "ignoreChainWithDepth": 1 }], - "no-bitwise": "error", - "no-inline-comments": "error", - "no-lonely-if": "error", - "no-multi-assign": "error", - "no-multiple-empty-lines": ["error", { "max": 1}], - "no-nested-ternary": "error", - "no-plusplus": "error", - "no-trailing-spaces": "error", - "object-curly-spacing": ["error", "never"], - "object-property-newline": ["error", { "allowAllPropertiesOnSameLine": true }], - "key-spacing": ["error", { "beforeColon": false, "afterColon": true }], - "space-before-blocks": "error", - "space-before-function-paren": ["error", "always"], - "space-in-parens": ["error", "never"], - "space-infix-ops": "error", - "arrow-parens": ["error", "always"], - "arrow-spacing": "error", - "no-duplicate-imports": "error", - "no-useless-computed-key": "error", - "no-useless-constructor": "error", - "no-var": "error", - "prefer-const": "error", - "prefer-rest-params": "error", - "prefer-template": "error", - "template-curly-spacing": "error" + "multiline-comment-style": ["warn", "starred-block"], + "new-cap": "warn", + "new-parens": "warn", + "newline-per-chained-call": ["warn", { "ignoreChainWithDepth": 1 }], + "no-bitwise": "warn", + "no-inline-comments": "warn", + "no-lonely-if": "warn", + "no-multi-assign": "warn", + "no-multiple-empty-lines": ["warn", { "max": 1}], + "no-nested-ternary": "warn", + "no-plusplus": "warn", + "object-curly-spacing": ["warn", "never"], + "object-property-newline": ["warn", { "allowAllPropertiesOnSameLine": true }], + "key-spacing": ["warn", { "beforeColon": false, "afterColon": true }], + "space-before-blocks": "warn", + "space-before-function-paren": ["warn", "always"], + "space-in-parens": ["warn", "never"], + "space-infix-ops": "warn", + "arrow-parens": ["warn", "always"], + "arrow-spacing": "warn", + "no-duplicate-imports": "warn", + "no-useless-computed-key": "warn", + "no-useless-constructor": "warn", + "no-var": "warn", + "prefer-const": "warn", + "prefer-rest-params": "warn", + "prefer-template": "warn", + "template-curly-spacing": "warn" } } diff --git a/src/components/test-button/TestButton.js b/src/components/test-button/TestButton.js deleted file mode 100644 index decb7d7..0000000 --- a/src/components/test-button/TestButton.js +++ /dev/null @@ -1,15 +0,0 @@ -// ! TODO: Удалить, необходим для примера работы с компонентами - -import Component from '../component'; - -class TestButton extends Component { - constructor () { - super('#test-button', document.body); - - this.addEventListener(this.mainNode, 'click', (evt) => { - this.next('click', evt); - }); - } -} - -export default TestButton; diff --git a/src/components/test-button/index.js b/src/components/test-button/index.js deleted file mode 100644 index 7dceefb..0000000 --- a/src/components/test-button/index.js +++ /dev/null @@ -1,3 +0,0 @@ -import TestButton from './TestButton'; - -export default TestButton; diff --git a/src/services/RouteService.js b/src/services/RouteService.js index 7af1818..f35efb5 100644 --- a/src/services/RouteService.js +++ b/src/services/RouteService.js @@ -1,5 +1,5 @@ import EmitService from './EmitService'; -import {parse} from 'querystring'; +import {parse, stringify} from 'querystring'; const ROUTE_CHANGE = 'routeChange'; @@ -26,8 +26,10 @@ class RouteService extends EmitService { this.generateNext(); } - goTo = (url) => { - this.history.pushState({}, '', url); + goTo = (url, query) => { + const stringQuery = stringify(query); + const urlWithQuery = url + (stringQuery ? `?${stringQuery}` : ''); + this.history.pushState({}, '', urlWithQuery); this.generateNext(); }