From 7e332b817d9a01f351d6243a35d014a6993bcaba Mon Sep 17 00:00:00 2001 From: Pavel Djundik Date: Fri, 6 Jul 2018 21:15:15 +0300 Subject: [PATCH] Channel list rendering with Vue Co-Authored-By: Tim Miller-Williams --- .eslintrc.yml | 11 ++- client/components/App.vue | 130 +++++++++++++++++++++++++ client/components/Channel.vue | 90 ++++++++++++++++++ client/components/JoinChannel.vue | 42 +++++++++ client/components/Network.vue | 115 ++++++++++++++++++++++ client/css/style.css | 21 +---- client/index.html.tpl | 1 + client/js/autocompletion.js | 5 +- client/js/lounge.js | 21 ++--- client/js/render.js | 9 -- client/js/slideout.js | 24 ++--- client/js/socket-events/auth.js | 1 + client/js/socket-events/init.js | 12 +-- client/js/socket-events/join.js | 29 +++--- client/js/socket-events/msg.js | 52 +++++----- client/js/socket-events/network.js | 22 +++-- client/js/socket-events/open.js | 20 ++-- client/js/socket-events/part.js | 14 +-- client/js/socket-events/quit.js | 27 +++--- client/js/sorting.js | 64 ------------- client/js/utils.js | 17 ++-- client/js/vue.js | 39 ++++++++ client/views/chan.tpl | 45 --------- client/views/join_channel.tpl | 5 - client/views/network.tpl | 12 --- package.json | 7 +- src/plugins/inputs/part.js | 1 + src/plugins/irc-events/part.js | 1 + webpack.config.js | 8 ++ yarn.lock | 147 +++++++++++++++++++++++++++-- 30 files changed, 707 insertions(+), 285 deletions(-) create mode 100644 client/components/App.vue create mode 100644 client/components/Channel.vue create mode 100644 client/components/JoinChannel.vue create mode 100644 client/components/Network.vue delete mode 100644 client/js/sorting.js create mode 100644 client/js/vue.js delete mode 100644 client/views/chan.tpl delete mode 100644 client/views/join_channel.tpl delete mode 100644 client/views/network.tpl diff --git a/.eslintrc.yml b/.eslintrc.yml index 90261ca0..312af4bc 100644 --- a/.eslintrc.yml +++ b/.eslintrc.yml @@ -85,8 +85,15 @@ rules: space-in-parens: [error, never] space-infix-ops: error spaced-comment: [error, always] - strict: error + strict: off template-curly-spacing: error yoda: error + vue/html-indent: [error, tab] + vue/require-default-prop: off -extends: eslint:recommended +plugins: + - vue + +extends: + - eslint:recommended + - plugin:vue/recommended diff --git a/client/components/App.vue b/client/components/App.vue new file mode 100644 index 00000000..d20f414b --- /dev/null +++ b/client/components/App.vue @@ -0,0 +1,130 @@ +