123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- <template>
- <div class="topic-element-preview">
- <div
- :class="classes"
- :id="`preview-${data.id}`"
- :data-type="data.type"
- :style="styles"
- >
- <component :is="compName" :data="data" preview></component>
- </div>
- </div>
- </template>
- <script>
- import PreviewFillQuestion from "../elements/fill-question/ElemFillQuestion";
- import PreviewFillLine from "../elements/fill-line/ElemFillLine";
- import PreviewText from "../../../elements/text/ElemText";
- import PreviewImage from "../../../elements/image/ElemImage";
- import PreviewLine from "../../../elements/line/ElemLine";
- import PreviewLines from "../../../elements/lines/ElemLines";
- import PreviewGrids from "../../../elements/grids/ElemGrids";
- import PreviewPane from "../../../elements/pane/ElemPane";
- import PreviewBarcode from "../../../elements/barcode/ElemBarcode";
- import PreviewFillNumber from "../../../elements/fill-number/ElemFillNumber";
- import PreviewFillField from "../../../elements/fill-field/ElemFillField";
- import PreviewFillTable from "../../../elements/fill-table/ElemFillTable";
- import PreviewFillPane from "../../../elements/fill-pane/ElemFillPane";
- export default {
- name: "topic-element-preview",
- components: {
- PreviewFillQuestion,
- PreviewFillLine,
- PreviewFillNumber,
- PreviewFillField,
- PreviewFillTable,
- PreviewFillPane,
- PreviewText,
- PreviewImage,
- PreviewLine,
- PreviewLines,
- PreviewGrids,
- PreviewPane,
- PreviewBarcode
- },
- props: {
- data: {
- type: Object
- }
- },
- data() {
- return {};
- },
- computed: {
- elementName() {
- const name = this.data.type.toLowerCase().replace("_", "-");
- return name.includes("line-") ? "line" : name;
- },
- compName() {
- return `preview-${this.elementName}`;
- },
- classes() {
- return [
- "topic-preview",
- "element-item",
- `element-item-${this.elementName}`
- ];
- },
- styles() {
- return {
- left: this.data.x + "px",
- top: this.data.y + "px",
- width: this.data.w + "px",
- height: this.data.h + "px",
- zIndex: this.data.zindex
- };
- }
- },
- methods: {}
- };
- </script>
|