Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: editor not visible in server-side-rendering #2513

Closed
wants to merge 5 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 15 additions & 17 deletions webapp/components/ContributionForm/ContributionForm.vue
Original file line number Diff line number Diff line change
Expand Up @@ -38,23 +38,21 @@
</ds-chip>
<ds-chip v-else size="base">{{ form.title.length }}/{{ formSchema.title.max }}</ds-chip>
</ds-text>
<client-only>
<hc-editor
:users="users"
:value="form.content"
:hashtags="hashtags"
@input="updateEditorContent"
/>
<ds-text align="right">
<ds-chip v-if="errors && errors.content" color="danger" size="base">
{{ contentLength }}
<ds-icon name="warning"></ds-icon>
</ds-chip>
<ds-chip v-else size="base">
{{ contentLength }}
</ds-chip>
</ds-text>
</client-only>
<hc-editor
:users="users"
:value="form.content"
:hashtags="hashtags"
@input="updateEditorContent"
/>
<ds-text align="right">
<ds-chip v-if="errors && errors.content" color="danger" size="base">
{{ contentLength }}
<ds-icon name="warning"></ds-icon>
</ds-chip>
<ds-chip v-else size="base">
{{ contentLength }}
</ds-chip>
</ds-text>
<ds-space margin-bottom="small" />
<hc-categories-select model="categoryIds" :existingCategoryIds="form.categoryIds" />
<ds-text align="right">
Expand Down
20 changes: 2 additions & 18 deletions webapp/components/Editor/Editor.vue
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@
import { Editor, EditorContent } from 'tiptap'
import { History } from 'tiptap-extensions'
import linkify from 'linkify-it'
import stringHash from 'string-hash'
import { replace, build } from 'xregexp/xregexp-all.js'

import * as key from '../../constants/keycodes'
Expand Down Expand Up @@ -108,17 +107,6 @@ export default {
},
},
watch: {
value: {
immediate: true,
handler: function(content, old) {
const contentHash = stringHash(content)
if (!content || contentHash === this.lastValueHash) {
return
}
this.lastValueHash = contentHash
this.$nextTick(() => this.editor.setContent(content))
},
},
placeholder: {
immediate: true,
handler: function(val) {
Expand All @@ -129,7 +117,7 @@ export default {
},
},
},
created() {
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

mattwr18 Authored by mattwr18
Dec 16, 2019


Outdated (history rewrite) - original diff


@@ -107,29 +106,7 @@ export default {
       return extensions
     },
   },
-  watch: {
-    value: {
-      immediate: true,
-      handler: function(content, old) {
-        const contentHash = stringHash(content)
-        if (!content || contentHash === this.lastValueHash) {
-          return
-        }
-        this.lastValueHash = contentHash
-        this.$nextTick(() => this.editor.setContent(content))
-      },
-    },
-    placeholder: {
-      immediate: true,
-      handler: function(val) {
-        if (!val || !this.editor) {
-          return
-        }
-        this.editor.extensions.options.placeholder.emptyNodeText = val
-      },
-    },
-  },
-  created() {

code creep? @roschaefer ... why were these changes made in this context?
this has the undesired side effect that makes the placeholder text not reactive, but also now instead of just approving and merging, we need to discuss what these changes have anything to do with fixing the server side-rendering bug

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

mattwr18 Authored by mattwr18
Dec 16, 2019


sorry, I reverted your changes @roschaefer because I know that you are busy today with your talk, and I'd like to get this bug fix in today's deploy. Normally, I would like to discuss this before making the decision, but under the circumstances, I felt it more important to get the bug fix in....

mounted() {
this.editor = new Editor({
content: this.value || '',
doc: this.doc,
Expand Down Expand Up @@ -247,11 +235,7 @@ export default {
},
onUpdate(e) {
const content = e.getHTML()
const contentHash = stringHash(content)
if (contentHash !== this.lastValueHash) {
this.lastValueHash = contentHash
this.$emit('input', content)
}
this.$emit('input', content)
},
toggleLinkInput(attrs, element) {
if (!this.isLinkInputActive && attrs && element) {
Expand Down
1 change: 0 additions & 1 deletion webapp/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,6 @@
"nuxt-dropzone": "^1.0.4",
"nuxt-env": "~0.1.0",
"stack-utils": "^1.0.2",
"string-hash": "^1.1.3",
"tippy.js": "^4.3.5",
"tiptap": "~1.26.3",
"tiptap-extensions": "~1.28.5",
Expand Down
10 changes: 0 additions & 10 deletions webapp/yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -14302,11 +14302,6 @@ serve-static@1.14.1, serve-static@^1.14.1:
version "1.14.1"
resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.14.1.tgz#666e636dc4f010f7ef29970a88a674320898b2f9"
integrity sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==
dependencies:
encodeurl "~1.0.2"
escape-html "~1.0.3"
parseurl "~1.3.3"
send "0.17.1"

server-destroy@^1.0.1:
version "1.0.1"
Expand Down Expand Up @@ -15052,11 +15047,6 @@ strict-uri-encode@^1.0.0:
resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713"
integrity sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=

string-hash@^1.1.3:
version "1.1.3"
resolved "https://registry.yarnpkg.com/string-hash/-/string-hash-1.1.3.tgz#e8aafc0ac1855b4666929ed7dd1275df5d6c811b"
integrity sha1-6Kr8CsGFW0Zmkp7X3RJ1311sgRs=

string-length@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/string-length/-/string-length-2.0.0.tgz#d40dbb686a3ace960c1cffca562bf2c45f8363ed"
Expand Down