Экземпляр и состояние
getOrCreateInstance не дублирует обработчики. Публичные свойства отдают путь, URL, валидность, метаданные, найденные поля и DOM-слоты.
HTML
<div id="contract-preview" data-vg-filepreview="/files/ss.txt" data-fields="icon,name,ext,size,preview" data-size="2 KB">
<div class="icon"></div>
<button class="name" type="button"></button>
<span class="ext"></span>
<span class="size"></span>
<div class="preview"></div>
</div>
<button type="button" data-read-preview>Прочитать состояние</button>
<output data-preview-output></output>
JavaScript
import { VGFilePreview } from 'vgapp';
const element = document.querySelector('#contract-preview');
const preview = VGFilePreview.getOrCreateInstance(element, {
validate: true,
lang: 'ru',
preview: { text: { enable: true } }
});
document.querySelector('[data-read-preview]').addEventListener('click', () => {
document.querySelector('[data-preview-output]').textContent =
`${preview.fileMeta.ext} · ${preview.fileMeta.sizeText} · ${element.dataset.vgFilepreviewState}`;
});
CSS
[data-preview-output] {
display: block;
margin-top: 0.75rem;
color: var(--vg-text-secondary);
}