Change default set for rich text, add blocks

This commit is contained in:
Christian Cueni 2019-07-09 13:45:46 +02:00
parent 7339e72c1e
commit 707909761e
6 changed files with 54 additions and 27 deletions

View File

@ -4656,7 +4656,8 @@
},
"ansi-regex": {
"version": "2.1.1",
"bundled": true
"bundled": true,
"optional": true
},
"aproba": {
"version": "1.2.0",
@ -5021,7 +5022,8 @@
},
"safe-buffer": {
"version": "5.1.1",
"bundled": true
"bundled": true,
"optional": true
},
"safer-buffer": {
"version": "2.1.2",
@ -5069,6 +5071,7 @@
"strip-ansi": {
"version": "3.0.1",
"bundled": true,
"optional": true,
"requires": {
"ansi-regex": "^2.0.0"
}
@ -5107,11 +5110,13 @@
},
"wrappy": {
"version": "1.0.2",
"bundled": true
"bundled": true,
"optional": true
},
"yallist": {
"version": "3.0.2",
"bundled": true
"bundled": true,
"optional": true
}
}
},
@ -11232,9 +11237,9 @@
}
},
"survey-vue": {
"version": "1.0.87",
"resolved": "https://registry.npmjs.org/survey-vue/-/survey-vue-1.0.87.tgz",
"integrity": "sha512-NKxrv6KHtGr3P5gr+nx+cu3OkvBgZUgV+cdb0mzvqObex8PJD+IEsbE4NpE6yeoIN6h6NLxaX+ns9Y2fV+xv0A==",
"version": "1.0.96",
"resolved": "https://registry.npmjs.org/survey-vue/-/survey-vue-1.0.96.tgz",
"integrity": "sha512-6vwEprt6NdTC4BFELdReQWdPNAuVb59jnj2rI/tl7bhk4TJQluRtacy95T9V5r1oMDyATzn8kl2eX0Kr14KVSg==",
"requires": {
"vue": "^2.1.10"
}

View File

@ -64,7 +64,7 @@
"sass-loader": "^7.1.0",
"semver": "^5.3.0",
"shelljs": "^0.7.6",
"survey-vue": "^1.0.87",
"survey-vue": "^1.0.96",
"uglifyjs-webpack-plugin": "^1.1.1",
"unfetch": "^3.1.1",
"uploadcare-widget": "^3.6.0",

View File

@ -0,0 +1,15 @@
<template>
<h4 class="section-title" v-html="value.text"></h4>
</template>
<script>
export default {
props: ['value']
}
</script>
<style scoped lang="scss">
.section-title {
margin-bottom: 30px;
}
</style>

View File

@ -21,6 +21,7 @@
import VideoBlock from '@/components/content-blocks/VideoBlock';
import LinkBlock from '@/components/content-blocks/LinkBlock';
import DocumentBlock from '@/components/content-blocks/DocumentBlock';
import SectionTitleBlock from '@/components/content-blocks/SectionTitleBlock';
export default {
apollo: {
@ -43,6 +44,7 @@
'video_block': VideoBlock,
'link_block': LinkBlock,
'document_block': DocumentBlock,
'section_title': SectionTitleBlock,
},
data() {
@ -64,20 +66,6 @@
}
& /deep/ {
& h3 {
font-size: toRem(21px);
margin-bottom: 30px;
}
& h4 {
font-size: toRem(17px);
margin-bottom: 20px;
}
& h5 {
font-size: toRem(18px);
font-family: $serif-font-family;
margin-bottom: 15px;
font-weight: 800;
}
& p {
margin-bottom: 40px;
}
@ -91,6 +79,10 @@
list-style: disc;
line-height: 1.5;
}
& b {
font-weight: 600;
color: $color-brand;
}
}
}
</style>

View File

@ -3,7 +3,8 @@ from wagtail.admin.edit_handlers import FieldPanel, StreamFieldPanel
from wagtail.core.fields import StreamField
from wagtail.images.blocks import ImageChooserBlock
from books.blocks import TextBlock, LinkBlock, VideoBlock, DocumentBlock
from books.blocks import LinkBlock, VideoBlock, DocumentBlock, SectionTitleBlock, InfogramBlock, \
GeniallyBlock, InstrumentTextBlock
from core.wagtail_utils import StrictHierarchyPage
@ -11,11 +12,14 @@ class BasicKnowledge(StrictHierarchyPage):
parent_page_types = ['books.book']
contents = StreamField([
('text_block', TextBlock()),
('text_block', InstrumentTextBlock()),
('image_block', ImageChooserBlock()),
('link_block', LinkBlock()),
('video_block', VideoBlock()),
('document_block', DocumentBlock()),
('section_title', SectionTitleBlock()),
('infogram_block', InfogramBlock()),
('genially_block', GeniallyBlock()),
], null=True, blank=True)
LANGUAGE_COMMUNICATION = 'language_communication'

View File

@ -3,8 +3,8 @@ from wagtail.snippets.blocks import SnippetChooserBlock
from assignments.models import Assignment
DEFAULT_RICH_TEXT_FEATURES = ['bold', 'italic', 'link', 'ol', 'ul']
DEFAULT_RICH_TEXT_FEATURES = ['ul']
INSTRUMENTS_RICH_TEXT_FEATURES = ['bold', 'ul']
# link_block
class LinkBlock(blocks.StructBlock):
@ -20,7 +20,7 @@ class TextBlock(blocks.StructBlock):
class Meta:
icon = 'doc-full'
text = blocks.RichTextBlock()
text = blocks.RichTextBlock(features=DEFAULT_RICH_TEXT_FEATURES)
# 'basic_knowledge'
@ -74,9 +74,20 @@ class GeniallyBlock(blocks.StructBlock):
id = blocks.TextBlock()
class SectionTitleBlock(blocks.StructBlock):
text = blocks.TextBlock()
class SubtitleBlock(blocks.StructBlock):
text = blocks.TextBlock()
class InstrumentTextBlock(blocks.StructBlock):
class Meta:
icon = 'doc-full'
text = blocks.RichTextBlock(features=INSTRUMENTS_RICH_TEXT_FEATURES)
# 'text_block' 'task' 'basic_knowledge' 'student_entry' 'image_block'
#
# url = blocks.URLBlock()