Sha256: efad84959306e05c8e9f5b8587f7e5922bb5cc5b1034864d32dfba9e5b7032da
Contents?: true
Size: 1.15 KB
Versions: 9
Compression:
Stored size: 1.15 KB
Contents
# frozen_string_literal: true module Lcms module Engine # Simple presenter for Curriculum (resources tree) class CurriculumPresenter UNIT_LEVEL = Lcms::Engine::Resource.hierarchy.index(:unit) def editor_props @editor_props ||= { form_url: routes.admin_curriculum_path } end def parse_jstree_node(node) { id: node.id, text: element_text(node), children: node.children.any?, li_attr: { title: node.title } } end def routes Lcms::Engine::Engine.routes.url_helpers end private def element_text(resource) case resource.curriculum_type when 'subject' resource.title when 'unit' resource.short_title&.upcase.presence || 'N/A' when 'grade' resource.short_title&.capitalize.presence || 'N/A' when 'lesson_set' "Lesson set #{resource.metadata['lesson_set']}" when 'lesson' "Lesson #{resource.metadata['lesson']}" else "Unknown curriculum type for: #{resource.title}" end end end end end
Version data entries
9 entries across 9 versions & 1 rubygems