Skip to content
Last update: July 5, 2024

Video

The video component displays a YouTube video in an iframe.

Usage

Include the vc-video component in your Vue application, providing theming and enhanced functionality to your video inputs.

vc-video

Video is created with source property.

Create a basic video as follows:

<template>
    <vc-video :source="https://video-url"></vc-video>
</template>

To start using all the available video properties, specify the vc-video component when creating the schema. For example:

{
    id: "videoId",
    component: "vc-video",
    property: "videoPropertyWithUrl",
    label: "Video label",
    size: "xl",
}

Video API

API empowers you to create dynamic and interactive video components to customize its appearance and behavior.

Basic Vue

You can easily incorporate the vc-video component into your Vue applications using simple templates.

Props

To customize the appearance and behavior of videos, use the following props:

Property and Type Description
label string Label for the video. Also available interpolation {} syntax based on current element context.
tooltip string Tooltip text for the video label.
source string The source URL of the video.
size "auto", "xs", "s", "m", "l", "xl", "xxl" Video size. Default: auto

Dynamic Views

To dynamically integrate the vc-video component into your views, use the schema interface:

interface VideoSchema {
    id: string;
    component: "vc-video";
    property: string;
    label?: string;
    size?: "auto" | "xs" | "s" | "m" | "l" | "xl" | "xxl";
    tooltip?: string;
    visibility?: {
        method: string;
    };
    update?: {
        method: string;
    };
    horizontalSeparator?: boolean;
}

To incorporate the status into your dynamic applications, define the following properties:

Property and Type Description
id string The unique Id for the vc-video component.
component vc-video Component used in schema.
property string Property name that is used for binding video url value to blade data.
Supports deep nested properties like property[1].myProperty.
Additionally, you have the flexibility to bind computed property that returns a value. Computed property should be defined in the blade scope.
label string Label for the video. Also available interpolation {} syntax based on current element context. You can specify the localization key for the label. Under the hood, vue-i18n is used.
size string Video size. Default: auto
tooltip string Tooltip text for the video label. You can specify the localization key for the tooltip. Under the hood, vue-i18n is used.
visibility {method: string} Visibility state for component, could be used to hide video based on some conditions. Method or variable should be defined in the blade scope and should return a boolean value.
update {method: string} Method to call when the video url value is updated. It gets changed value, schema property name and field internal context as arguments. Method should be defined in the blade scope.
horizontalSeparator boolean Adds a horizontal separator line after the component.