| Server IP : 34.87.99.72 / Your IP : 216.73.217.31 Web Server : Apache/2.4.46 (Unix) OpenSSL/1.1.1n System : Linux zlock-bitnami-lamp-prod-v2-vm 4.19.0-16-cloud-amd64 #1 SMP Debian 4.19.181-1 (2021-03-19) x86_64 User : bitnami ( 1000) PHP Version : 7.4.18 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : OFF Directory : /home/bitnami/htdocs/app/node_modules/tiptap-vuetify/src/components/ |
Upload File : |
<template>
<div>
<template v-for="(action, i) in $props[PROPS.ACTIONS]">
<action-btn
v-if="isBtn(action)"
:key="'action-button-' + i"
:options="action.render.options"
:context="$props[PROPS.CONTEXT]"
:editor="$props[PROPS.EDITOR]"
:dark="$props[PROPS.DARK]"
:disabled="$props[PROPS.DISABLED]"
/>
</template>
</div>
</template>
<script lang="ts">
import Vue from 'vue'
import { Component, Prop } from 'vue-property-decorator'
import ExtensionActionInterface from '~/extensions/actions/ExtensionActionInterface'
import ExtensionActionRenderBtnComponent from '~/extensions/actions/renders/btn/ExtensionActionRenderBtn.vue'
import ExtensionActionRenderBtn from '~/extensions/actions/renders/btn/ExtensionActionRenderBtn.ts'
import { Editor } from 'tiptap'
export const PROPS = {
EDITOR: 'editor' as const,
ACTIONS: 'actions' as const,
CONTEXT: 'context' as const,
DARK: 'dark' as const,
DISABLED: 'disabled' as const
}
@Component({
components: {
'action-btn': ExtensionActionRenderBtnComponent
}
})
export default class ActionsRender extends Vue {
@Prop({ type: Object, required: true })
readonly [PROPS.EDITOR]: Editor
@Prop({ type: Boolean, default: false })
readonly [PROPS.DISABLED]: boolean
@Prop({
type: Array,
default: () => []
})
readonly [PROPS.ACTIONS]: ExtensionActionInterface[]
@Prop({
type: Object
})
readonly [PROPS.CONTEXT]: any
@Prop({
type: Boolean,
default: false
})
readonly [PROPS.DARK]: boolean
PROPS = PROPS
isBtn (action: ExtensionActionInterface): boolean {
return action.render instanceof ExtensionActionRenderBtn
}
}
</script>
<style lang="stylus">
.tiptap-vuetify-editor__toolbar
.v-toolbar
.v-toolbar__content
height: auto !important
flex-wrap: wrap
</style>