Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 | 117x 117x 117x | import { DateTime } from 'luxon';
import { Plugin } from '../../model/plugin';
import { Mod } from '../../model/tag';
export const embedPlugin: Plugin = {
tag: 'plugin/embed',
name: $localize`🔭️ Embed`,
config: {
type: 'plugin',
version: 1,
default: true,
add: true,
embeddable: true,
generated: $localize`Generated by jasper-ui ${DateTime.now().toISO()}`,
submit: $localize`🔭️ embed`,
icons: [{ label: $localize`🔭️` }],
filters: [
{ query: 'plugin/embed', label: $localize`🔭️ embed`, title: $localize`Has embedded iframe`, group: $localize`Media 🎬️` },
],
description: $localize`Embed the webpage in an inline frame.`,
advancedForm: [{
key: 'url',
type: 'url',
props: {
label: $localize`URL:`,
},
}, {
key: 'width',
type: 'number',
props: {
label: $localize`Width:`,
min: 50,
},
validation: {
messages: {
min: 'Width must be at least 200px.'
}
}
}, {
key: 'height',
type: 'number',
props: {
label: $localize`Height:`,
min: 50
},
validation: {
messages: {
min: 'Height must be at least 200px.'
}
}
}, {
key: 'noResize',
type: 'boolean',
props: {
label: $localize`Not Resizable:`
}
}],
},
defaults: {},
schema: {
optionalProperties: {
url: { type: 'string' },
noResize: { type: 'boolean' },
width: { type: 'int32', nullable: true },
height: { type: 'int32', nullable: true },
},
},
};
export const embedMod: Mod = {
plugin: [
embedPlugin,
]
};
|