Sha256: 67daf3beed0366c9d849f8e4caa74b24b6495fddc0064c8706681c680c2adb0e
Contents?: true
Size: 1.3 KB
Versions: 5
Compression:
Stored size: 1.3 KB
Contents
# frozen_string_literal: true module EditorJs module Blocks class ChecklistBlock < Base def schema YAML.safe_load(<<~YAML) type: object additionalProperties: false properties: items: type: array items: type: object additionalProperties: false properties: text: type: string checked: type: boolean required: - text YAML end def render(_options = {}) content_tag :div, class: css_name do data['items'].map do |item| content_tag(:div, class: css_name('__warrper')) do html_str = content_tag(:input, nil, type: 'checkbox', disabled: true, checked: item['checked']) html_str += content_tag(:label, item['text']) html_str.html_safe end.html_safe end.join.html_safe end end def sanitize! data['items'].each do |item| item['text'] = Sanitize.fragment(item['text'], remove_contents: true).strip end end def plain data['items'].map { |item| decode_html(item['text']).strip }.join(', ') end end end end
Version data entries
5 entries across 5 versions & 1 rubygems