File size: 4,212 Bytes
ca225b4 73549e6 0ce813d 9a58a1c 02f3215 2edf9e2 ca225b4 2edf9e2 ca225b4 02f3215 ca225b4 9a58a1c ca225b4 9a58a1c 9ee8c23 ca225b4 |
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 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 |
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>GrapesJS Example</title>
<!-- GrapesJS CSS -->
<link rel="stylesheet" href="https://unpkg.com/grapesjs/dist/css/grapes.min.css">
<!-- Your Custom CSS -->
<style>
.gjs-row {
display: flex;
justify-content: space-between;
border: 1px dashed #ccc; /* Добавляем контур для строк */
}
.gjs-cell {
border: 1px solid #ccc; /* Добавляем контур для ячеек */
padding: 10px;
text-align: center;
min-height: 50px; /* Добавляем минимальную высоту для ячеек */
}
</style>
</head>
<body>
<div id="gjs"></div>
<!-- GrapesJS JS -->
<script src="https://unpkg.com/grapesjs"></script>
<!-- Your Custom JS -->
<script>
const editor = grapesjs.init({
container: '#gjs',
fromElement: true,
height: '100vh',
storageManager: { type: 0 },
plugins: [],
pluginsOpts: {},
styleManager: {
sectors: [
{
name: 'Dimensions',
properties: [
{
type: 'number',
label: 'Width',
property: 'width',
units: ['px', '%'],
min: 0,
},
{
type: 'number',
label: 'Height',
property: 'height',
units: ['px', '%'],
min: 0,
},
],
},
{
name: 'Colors',
properties: [
{
type: 'color',
label: 'Background Color',
property: 'background-color',
},
{
type: 'color',
label: 'Text Color',
property: 'color',
},
],
},
],
},
});
// Define custom components
editor.Components.addType('custom-block', {
model: {
defaults: {
tagName: 'div',
traits: [
{
type: 'number',
label: 'Width',
name: 'width',
units: ['px', '%'],
min: 0,
default: '300px',
},
{
type: 'number',
label: 'Height',
name: 'height',
units: ['px', '%'],
min: 0,
default: '60px',
},
],
components: `
<div class="gjs-row">
<div class="gjs-cell"></div>
<div class="gjs-cell"></div>
<div class="gjs-cell"></div>
</div>
`,
},
},
});
// Example of adding a block with custom components
const blockManager = editor.BlockManager;
blockManager.add('custom-block-block', {
label: 'Custom Block',
content: { type: 'custom-block' },
attributes: { class: 'gjs-block-section' }
});
</script>
</body>
</html> |