Uname: Linux webm012.cluster130.gra.hosting.ovh.net 5.15.167-ovh-vps-grsec-zfs-classid #1 SMP Tue Sep 17 08:14:20 UTC 2024 x86_64
Software: Apache
PHP version: 8.0.30 [ PHP INFO ] PHP os: Linux
Server Ip: 145.239.37.162
Your Ip: 216.73.216.190
User: dreampi (1009562) | Group: users (100)
Safe Mode: OFF
Disable Function:
_dyuweyrj4,_dyuweyrj4r,dl

name : quillMixin.js
import placeholdersMixin from '../../../js/backend/mixins/placeholdersMixin'

export default {
  mixins: [placeholdersMixin],

  data () {
    return {
      textMode: false,
      editorOptions: {
        modules: {
          toolbar: [
            ['bold', 'italic', 'underline', 'strike'],
            ['blockquote'],
            [{'list': 'ordered'}, {'list': 'bullet'}],
            [{'script': 'sub'}, {'script': 'super'}],
            [{'indent': '-1'}, {'indent': '+1'}],
            [{'direction': 'rtl'}],
            [{'size': ['small', false, 'large', 'huge']}],
            [{'header': [1, 2, 3, 4, 5, 6, false]}],
            [{'font': []}],
            [{'color': []}, {'background': []}],
            [{'align': []}],
            ['clean'],
            ['link', 'image']
          ]
        }
      },
      pageUrl: ''
    }
  },

  methods: {
    parseQuillEditorContent (object) {
      if (typeof object === 'undefined') {
        return
      }

      let elements = object.quill.root.getElementsByTagName('p')

      for (let i = 0; i < elements.length; i++) {
        for (let key in this.linksForParsing) {
          let links = elements[i].getElementsByTagName('a')

          for (let j = 0; j < links.length; j++) {
            if (links[j].href === this.pageUrl + key) {
              links[j].href = key
            }
          }

          if (elements[i].textContent.indexOf(this.linksForParsing[key]) !== -1) {
            elements[i].innerHTML = elements[i].innerHTML.replace(this.plainTextLinksForParsing[key], this.linksForParsing[key])
          }
        }
      }
    },

    process (str) {
      let div = document.createElement('div')

      div.innerHTML = str.trim()

      return this.format(div, 0).innerHTML
    },

    format (node, level) {
      let indentBefore = new Array(level++ + 1).join('  ')

      let indentAfter = new Array(level - 1).join('  ')

      let textNode = null

      for (let i = 0; i < node.children.length; i++) {
        textNode = document.createTextNode('\n' + indentBefore)

        node.insertBefore(textNode, node.children[i])

        this.format(node.children[i], level)

        if (node.lastElementChild === node.children[i]) {
          textNode = document.createTextNode('\n' + indentAfter)

          node.appendChild(textNode)
        }
      }

      return node
    },

    changedContentText (quillProperty, inputProperty, language) {
      if (!language) {
        this[quillProperty] = this[inputProperty]
      } else {
        this[quillProperty][language] = this[inputProperty][language]
      }
    },

    textModeChanged (quillProperty, inputProperty, language) {
      this.textMode = !this.textMode

      if (this.textMode) {
        if (!language) {
          this[inputProperty] = this.process(
            this[quillProperty].replace('<!-- Content -->', '').replace(/(\r\n|\n|\r)/gm, '')
          )
        } else {
          this[inputProperty][language] = this.process(
            this[quillProperty][language].replace('<!-- Content -->', '').replace(/(\r\n|\n|\r)/gm, '')
          )
        }
      } else {
        if (!language) {
          this[inputProperty] = '<!-- Content -->' + this[inputProperty]
        } else {
          this[inputProperty][language] = '<!-- Content -->' + this[inputProperty][language]
        }
      }

      if (!language) {
        this[quillProperty] = this[inputProperty]
      } else {
        this[quillProperty][language] = this[inputProperty][language]
      }
    }
  }
}
© 2026 GrazzMean-Shell