app/presenters/lcms/engine/curriculum_presenter.rb in lcms-engine-0.3.1 vs app/presenters/lcms/engine/curriculum_presenter.rb in lcms-engine-0.4.0

- old
+ new

@@ -6,40 +6,43 @@ class CurriculumPresenter UNIT_LEVEL = Lcms::Engine::Resource.hierarchy.index(:unit) def editor_props @editor_props ||= { - tree: jstree_data, form_url: routes.admin_curriculum_path } end - private - - # Parse tree to be compatible with jstree input data - def jstree_data - Resource.tree.ordered.roots.map { |res| parse_jstree_node(res) } - end - - def opened?(node) - return false if node.curriculum_type.blank? - - level = Lcms::Engine::Resource.hierarchy.index(node.curriculum_type.to_sym) - level < UNIT_LEVEL - end - def parse_jstree_node(node) { id: node.id, - text: node.short_title, - state: { opened: opened?(node) }, - children: node.children.tree.ordered.map { |res| parse_jstree_node(res) }, + 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