lcms-engine 0.3.0 → 0.4.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.codeclimate.yml +1 -1
- data/.dockerignore +25 -0
- data/.env.docker +1 -1
- data/.eslintignore +2 -1
- data/.eslintrc +23 -73
- data/.nvmrc +1 -1
- data/.overcommit.yml +8 -2
- data/.prettierrc +7 -0
- data/.rubocop.yml +12 -8
- data/.ruby-version +1 -1
- data/.stylelintignore +9 -0
- data/.stylelintrc +8 -0
- data/CHANGELOG.md +50 -1
- data/Dockerfile +3 -3
- data/Gemfile.lock +408 -322
- data/README.md +20 -17
- data/app/assets/config/lcms_engine_manifest.js +4 -2
- data/app/assets/javascripts/lcms/engine/admin/{application.js → lcms_engine_application.js} +1 -3
- data/app/assets/javascripts/lcms/engine/initializers/foundation.js +1 -1
- data/app/assets/javascripts/lcms/engine/{application.js → lcms_engine_application.js} +0 -0
- data/app/assets/stylesheets/lcms/engine/admin/collections.scss +2 -1
- data/app/assets/stylesheets/lcms/engine/admin/components.scss +60 -19
- data/app/assets/stylesheets/lcms/engine/admin/curriculums.scss +12 -10
- data/app/assets/stylesheets/lcms/engine/admin/lessons.scss +21 -15
- data/app/assets/stylesheets/lcms/engine/admin/materials.scss +25 -17
- data/app/assets/stylesheets/lcms/engine/admin/resources.scss +8 -7
- data/app/assets/stylesheets/lcms/engine/admin/standards.scss +4 -1
- data/app/assets/stylesheets/lcms/engine/admin/users.scss +1 -1
- data/app/assets/stylesheets/lcms/engine/base/_colors.scss +8 -10
- data/app/assets/stylesheets/lcms/engine/base/_ld-colors.scss +10 -10
- data/app/assets/stylesheets/lcms/engine/components/_assoc-picker.scss +4 -5
- data/app/assets/stylesheets/lcms/engine/components/lesson/_activity.scss +6 -2
- data/app/assets/stylesheets/lcms/engine/components/lesson/_callout.scss +19 -5
- data/app/assets/stylesheets/lcms/engine/components/lesson/_columns.scss +4 -3
- data/app/assets/stylesheets/lcms/engine/components/lesson/_curriculum-map.scss +16 -7
- data/app/assets/stylesheets/lcms/engine/components/lesson/_def.scss +2 -2
- data/app/assets/stylesheets/lcms/engine/components/lesson/_expand.scss +9 -9
- data/app/assets/stylesheets/lcms/engine/components/lesson/_foundational-divider.scss +0 -1
- data/app/assets/stylesheets/lcms/engine/components/lesson/_group.scss +3 -1
- data/app/assets/stylesheets/lcms/engine/components/lesson/_icons.scss +1 -1
- data/app/assets/stylesheets/lcms/engine/components/lesson/_image-wrap.scss +2 -2
- data/app/assets/stylesheets/lcms/engine/components/lesson/_inset.scss +7 -2
- data/app/assets/stylesheets/lcms/engine/components/lesson/_materials.scss +1 -1
- data/app/assets/stylesheets/lcms/engine/components/lesson/_multiple-choice.scss +4 -1
- data/app/assets/stylesheets/lcms/engine/components/lesson/_override.scss +28 -9
- data/app/assets/stylesheets/lcms/engine/components/lesson/_pd.scss +7 -7
- data/app/assets/stylesheets/lcms/engine/components/lesson/_pv.scss +5 -4
- data/app/assets/stylesheets/lcms/engine/components/lesson/_section.scss +10 -3
- data/app/assets/stylesheets/lcms/engine/components/lesson/_selection-control.scss +14 -8
- data/app/assets/stylesheets/lcms/engine/components/lesson/_sidebar.scss +25 -10
- data/app/assets/stylesheets/lcms/engine/components/lesson/_title.scss +3 -1
- data/app/assets/stylesheets/lcms/engine/components/lesson/_unit-map.scss +1 -1
- data/app/assets/stylesheets/lcms/engine/components/material/_material.scss +3 -3
- data/app/assets/stylesheets/lcms/engine/components/material/_overlay.scss +12 -4
- data/app/assets/stylesheets/lcms/engine/components/material/_preview.scss +1 -1
- data/app/assets/stylesheets/lcms/engine/components/support/_survey.scss +3 -1
- data/app/assets/stylesheets/lcms/engine/layout/_footer.scss +29 -11
- data/app/assets/stylesheets/lcms/engine/layout/_header.scss +5 -5
- data/app/assets/stylesheets/lcms/engine/layout/_navigation.scss +4 -6
- data/app/assets/stylesheets/lcms/engine/layout/_page.scss +2 -2
- data/app/assets/stylesheets/lcms/engine/{admin.scss → lcms_engine_admin.scss} +26 -15
- data/app/assets/stylesheets/lcms/engine/lcms_engine_application.scss +9 -0
- data/app/assets/stylesheets/lcms/engine/pdf.scss +5 -26
- data/app/assets/stylesheets/lcms/engine/pdf_plain.scss +5 -23
- data/app/assets/stylesheets/lcms/engine/print/_base.scss +41 -12
- data/app/assets/stylesheets/lcms/engine/print/_cover.scss +12 -12
- data/app/assets/stylesheets/lcms/engine/print/_footer.scss +8 -3
- data/app/assets/stylesheets/lcms/engine/print/_gdoc-base.scss +10 -37
- data/app/assets/stylesheets/lcms/engine/print/_helpers.scss +5 -2
- data/app/assets/stylesheets/lcms/engine/print/_lesson-base.scss +2 -14
- data/app/assets/stylesheets/lcms/engine/print/_material-base.scss +1 -3
- data/app/assets/stylesheets/lcms/engine/print/_print.scss +15 -8
- data/app/assets/stylesheets/lcms/engine/print/_toc.scss +24 -9
- data/app/assets/stylesheets/lcms/engine/print/gdoc/_base-typography.scss +24 -6
- data/app/assets/stylesheets/lcms/engine/print/gdoc/_base.scss +10 -3
- data/app/assets/stylesheets/lcms/engine/print/gdoc/_colors.scss +3 -3
- data/app/assets/stylesheets/lcms/engine/print/gdoc/_header.scss +2 -2
- data/app/assets/stylesheets/lcms/engine/print/gdoc/_helpers.scss +1 -0
- data/app/assets/stylesheets/lcms/engine/print/gdoc/lesson/_activity.scss +1 -1
- data/app/assets/stylesheets/lcms/engine/print/gdoc/lesson/_agenda.scss +8 -2
- data/app/assets/stylesheets/lcms/engine/print/gdoc/lesson/_callout.scss +16 -6
- data/app/assets/stylesheets/lcms/engine/print/gdoc/lesson/_def.scss +1 -1
- data/app/assets/stylesheets/lcms/engine/print/gdoc/lesson/_dialogue.scss +3 -1
- data/app/assets/stylesheets/lcms/engine/print/gdoc/lesson/_expand.scss +5 -2
- data/app/assets/stylesheets/lcms/engine/print/gdoc/lesson/_image-wrap.scss +5 -3
- data/app/assets/stylesheets/lcms/engine/print/gdoc/lesson/_image.scss +1 -1
- data/app/assets/stylesheets/lcms/engine/print/gdoc/lesson/_optbreak.scss +1 -0
- data/app/assets/stylesheets/lcms/engine/print/gdoc/lesson/_section.scss +4 -1
- data/app/assets/stylesheets/lcms/engine/print/gdoc/lesson/_smp.scss +1 -0
- data/app/assets/stylesheets/lcms/engine/print/gdoc/lesson/_tables.scss +11 -3
- data/app/assets/stylesheets/lcms/engine/print/gdoc/material/_header.scss +5 -2
- data/app/assets/stylesheets/lcms/engine/print/lesson/_base-typography.scss +33 -9
- data/app/assets/stylesheets/lcms/engine/print/lesson/_group.scss +3 -1
- data/app/assets/stylesheets/lcms/engine/print/lesson/_image.scss +3 -1
- data/app/assets/stylesheets/lcms/engine/print/lesson/_materials.scss +1 -1
- data/app/assets/stylesheets/lcms/engine/print/lesson/_pd.scss +8 -4
- data/app/assets/stylesheets/lcms/engine/print/lesson/_section.scss +1 -1
- data/app/assets/stylesheets/lcms/engine/print/material/_header.scss +4 -1
- data/app/assets/stylesheets/lcms/engine/themes/_material.scss +11 -11
- data/app/assets/stylesheets/lcms/engine/utils/_colorcodes.scss +15 -5
- data/app/assets/stylesheets/lcms/engine/utils/_functions.scss +1 -1
- data/app/assets/stylesheets/lcms/engine/utils/_helpers.scss +23 -11
- data/app/assets/stylesheets/lcms/engine/utils/_placeholders.scss +1 -1
- data/app/assets/stylesheets/lcms/engine/utils/_variables.scss +11 -11
- data/app/assets/stylesheets/lcms/engine/vendors/{mathjax.css → mathjax.scss} +0 -0
- data/app/assets/stylesheets/lcms/engine/vendors/react-tagsinput.css +48 -0
- data/app/controllers/concerns/lcms/engine/reimportable.rb +12 -2
- data/app/controllers/lcms/engine/admin/access_codes_controller.rb +8 -3
- data/app/controllers/lcms/engine/admin/admin_controller.rb +6 -40
- data/app/controllers/lcms/engine/admin/association_picker_controller.rb +4 -1
- data/app/controllers/lcms/engine/admin/batch_reimports_controller.rb +2 -2
- data/app/controllers/lcms/engine/admin/curriculums_controller.rb +21 -2
- data/app/controllers/lcms/engine/admin/documents_controller.rb +41 -14
- data/app/controllers/lcms/engine/admin/materials_controller.rb +32 -13
- data/app/controllers/lcms/engine/admin/resource_bulk_edits_controller.rb +2 -2
- data/app/controllers/lcms/engine/admin/resources_controller.rb +9 -7
- data/app/controllers/lcms/engine/admin/settings_controller.rb +1 -1
- data/app/controllers/lcms/engine/admin/standards_controller.rb +7 -2
- data/app/controllers/lcms/engine/admin/users_controller.rb +15 -7
- data/app/controllers/lcms/engine/application_controller.rb +1 -1
- data/app/controllers/lcms/engine/resources_controller.rb +5 -5
- data/app/controllers/lcms/engine/welcome_controller.rb +11 -0
- data/app/entities/lcms/engine/grades.rb +17 -6
- data/app/entities/lcms/engine/hierarchical_position.rb +1 -2
- data/app/entities/lcms/engine/media_embed.rb +2 -2
- data/app/entities/lcms/engine/pagination.rb +14 -10
- data/app/entities/lcms/engine/roman_numerals.rb +2 -2
- data/app/exceptions/lcms/engine/document_error.rb +8 -0
- data/app/exceptions/lcms/engine/material_error.rb +8 -0
- data/app/forms/lcms/engine/document_form.rb +19 -14
- data/app/forms/lcms/engine/material_form.rb +3 -2
- data/app/helpers/admin/components_helper.rb +3 -3
- data/app/helpers/lcms/engine/path_helper.rb +32 -0
- data/app/helpers/lcms/engine/resource_helper.rb +1 -1
- data/app/helpers/lcms/engine/view_helper.rb +1 -9
- data/app/interactors/lcms/engine/explore_curriculum_interactor.rb +2 -2
- data/app/javascript/components/admin/ImportStatus.jsx +90 -56
- data/app/javascript/components/admin/Initializer.jsx +33 -35
- data/app/javascript/components/admin/MultiSelectedOperation.jsx +43 -18
- data/app/javascript/components/admin/association-picker/AssociationPicker.jsx +68 -47
- data/app/javascript/components/admin/association-picker/AssociationPickerItem.jsx +18 -7
- data/app/javascript/components/admin/association-picker/AssociationPickerResults.jsx +42 -17
- data/app/javascript/components/admin/association-picker/AssociationPickerWindow.jsx +47 -27
- data/app/javascript/components/admin/curriculum/CurriculumEditor.jsx +54 -32
- data/app/javascript/components/admin/curriculum/DirectoryPicker.jsx +80 -53
- data/app/javascript/components/admin/picker/PickerButton.jsx +16 -11
- data/app/javascript/components/admin/picker/pickerModal.jsx +6 -6
- data/app/javascript/components/admin/picker/pickerWindowWrapper.jsx +61 -40
- data/app/javascript/components/admin/resource-picker/ResourcePicker.jsx +54 -39
- data/app/javascript/components/admin/resource-picker/ResourcePickerResource.jsx +14 -3
- data/app/javascript/components/admin/resource-picker/ResourcePickerWindow.jsx +50 -21
- data/app/javascript/components/paginate/PageView.jsx +20 -8
- data/app/javascript/components/paginate/PaginationBoxView.jsx +78 -66
- data/app/javascript/components/paginate/PaginationListView.jsx +59 -45
- data/app/javascript/packs/lcms_engine_admin.js +15 -0
- data/app/javascript/packs/{application.js → lcms_engine_application.js} +5 -4
- data/app/javascript/packs/server_rendering.js +1 -0
- data/app/javascript/vendor/jstree/jstree.min.js +6 -0
- data/app/javascript/vendor/jstree/themes/default/32px.png +0 -0
- data/app/javascript/vendor/jstree/themes/default/40px.png +0 -0
- data/app/javascript/vendor/jstree/themes/default/style.css +1106 -0
- data/app/javascript/vendor/jstree/themes/default/style.min.css +1 -0
- data/app/javascript/vendor/jstree/themes/default/throbber.gif +0 -0
- data/app/javascript/vendor/jstree/themes/default-dark/32px.png +0 -0
- data/app/javascript/vendor/jstree/themes/default-dark/40px.png +0 -0
- data/app/javascript/vendor/jstree/themes/default-dark/style.css +1150 -0
- data/app/javascript/vendor/jstree/themes/default-dark/style.min.css +1 -0
- data/app/javascript/vendor/jstree/themes/default-dark/throbber.gif +0 -0
- data/app/jobs/concerns/lcms/engine/nested_resque_job.rb +1 -4
- data/app/jobs/lcms/engine/document_generate_gdoc_job.rb +2 -2
- data/app/jobs/lcms/engine/document_generate_job.rb +2 -2
- data/app/jobs/lcms/engine/document_generate_pdf_job.rb +5 -5
- data/app/jobs/lcms/engine/document_parse_job.rb +1 -1
- data/app/jobs/lcms/engine/material_generate_pdf_job.rb +4 -4
- data/app/models/concerns/lcms/engine/navigable.rb +6 -10
- data/app/models/concerns/lcms/engine/searchable.rb +7 -0
- data/app/models/lcms/engine/document.rb +1 -1
- data/app/models/lcms/engine/download.rb +1 -1
- data/app/models/lcms/engine/resource.rb +1 -1
- data/app/models/lcms/engine/search/document.rb +4 -3
- data/app/models/lcms/engine/search/repository.rb +1 -1
- data/app/presenters/lcms/engine/content_presenter.rb +1 -1
- data/app/presenters/lcms/engine/curriculum_presenter.rb +21 -18
- data/app/presenters/lcms/engine/document_presenter.rb +5 -3
- data/app/presenters/lcms/engine/resource_presenter.rb +6 -3
- data/app/queries/lcms/engine/admin_documents_query.rb +2 -2
- data/app/queries/lcms/engine/admin_materials_query.rb +11 -2
- data/app/queries/lcms/engine/base_query.rb +1 -1
- data/app/serializers/lcms/engine/previews_material_serializer.rb +1 -0
- data/app/services/lcms/engine/document_build_service.rb +6 -0
- data/app/services/lcms/engine/document_generator.rb +2 -2
- data/app/services/lcms/engine/google/drive_service.rb +7 -15
- data/app/services/lcms/engine/google/script_service.rb +7 -3
- data/app/services/lcms/engine/html_sanitizer.rb +6 -6
- data/app/services/lcms/engine/lessons_gdoc_bundler.rb +1 -1
- data/app/services/lcms/engine/lti_exporter.rb +1 -1
- data/app/services/lcms/engine/material_build_service.rb +6 -2
- data/app/services/lcms/engine/material_preview_generator.rb +3 -3
- data/app/services/lcms/engine/react_materials_resolver.rb +3 -2
- data/app/services/lcms/engine/s3_service.rb +14 -2
- data/app/tasks/resource_tasks.rb +2 -2
- data/app/views/layouts/lcms/engine/admin.html.erb +3 -3
- data/app/views/layouts/lcms/engine/application.html.erb +2 -2
- data/app/views/layouts/lcms/engine/lti.html.erb +1 -1
- data/app/views/lcms/engine/admin/access_codes/_form.html.erb +1 -1
- data/app/views/lcms/engine/admin/access_codes/index.html.erb +3 -3
- data/app/views/lcms/engine/admin/batch_reimports/_search_form.html.erb +2 -2
- data/app/views/lcms/engine/admin/curriculums/edit.html.erb +5 -5
- data/app/views/lcms/engine/admin/documents/_materials_links.html.erb +2 -2
- data/app/views/lcms/engine/admin/documents/_reimport.html.erb +1 -1
- data/app/views/lcms/engine/admin/documents/_search_form.html.erb +2 -2
- data/app/views/lcms/engine/admin/documents/import.html.erb +1 -1
- data/app/views/lcms/engine/admin/documents/index.html.erb +7 -5
- data/app/views/lcms/engine/admin/documents/new.html.erb +6 -2
- data/app/views/lcms/engine/admin/materials/_reimport.html.erb +1 -1
- data/app/views/lcms/engine/admin/materials/_search_form.html.erb +2 -2
- data/app/views/lcms/engine/admin/materials/import.html.erb +1 -1
- data/app/views/lcms/engine/admin/materials/index.html.erb +26 -22
- data/app/views/lcms/engine/admin/materials/new.html.erb +5 -1
- data/app/views/lcms/engine/admin/resource_bulk_edits/new.html.erb +2 -2
- data/app/views/lcms/engine/admin/resources/_fields.html.erb +4 -0
- data/app/views/lcms/engine/admin/resources/_form.html.erb +1 -1
- data/app/views/lcms/engine/admin/resources/_search_form.html.erb +2 -2
- data/app/views/lcms/engine/admin/resources/index.html.erb +7 -5
- data/app/views/lcms/engine/admin/shared/_header.html.erb +12 -12
- data/app/views/lcms/engine/admin/standards/_form.html.erb +3 -1
- data/app/views/lcms/engine/admin/standards/_search_form.html.erb +1 -1
- data/app/views/lcms/engine/admin/users/_form.html.erb +1 -1
- data/app/views/lcms/engine/admin/users/_search_form.html.erb +1 -1
- data/app/views/lcms/engine/admin/users/index.html.erb +6 -6
- data/app/views/lcms/engine/documents/gdoc/_agenda.html.erb +1 -1
- data/app/views/lcms/engine/documents/show.html.erb +1 -1
- data/app/views/lcms/engine/materials/show.html.erb +1 -1
- data/app/views/lcms/engine/pages/not_found.html.erb +5 -0
- data/app/views/lcms/engine/resources/_download.html.erb +2 -2
- data/app/views/lcms/engine/resources/_unit_bundles.html.erb +2 -2
- data/app/views/lcms/engine/resources/generic.html.erb +0 -4
- data/app/views/lcms/engine/resources/media.html.erb +0 -4
- data/app/views/lcms/engine/resources/show.html.erb +0 -2
- data/config/initializers/airbrake.rb +62 -10
- data/config/initializers/bitly.rb +1 -1
- data/config/initializers/carrier_wave.rb +6 -4
- data/config/initializers/ckeditor.rb +6 -0
- data/config/initializers/elasticsearch.rb +1 -1
- data/config/initializers/resque.rb +2 -2
- data/config/locales/admin/en.yml +1 -2
- data/config/locales/ui/en.yml +1 -0
- data/config/routes.rb +5 -2
- data/db/migrate/.keep +0 -0
- data/db/schema.rb +280 -312
- data/db/seeds.rb +0 -1
- data/docker-compose.ror4.yml +32 -0
- data/docker-compose.yml +6 -3
- data/docs/env-variables.md +40 -40
- data/docs/google-cloud-platform-setup.md +45 -17
- data/docs/how-to-build-and-publish.md +1 -0
- data/lcms-engine.gemspec +28 -20
- data/lib/doc_template/document.rb +3 -4
- data/lib/doc_template/document_toc.rb +2 -2
- data/lib/doc_template/objects/activity_metadata.rb +1 -1
- data/lib/doc_template/objects/agenda_metadata.rb +1 -1
- data/lib/doc_template/objects/metadata_helpers.rb +1 -1
- data/lib/doc_template/objects/toc_helpers.rb +4 -4
- data/lib/doc_template/objects/toc_metadata.rb +4 -6
- data/lib/doc_template/tables/base.rb +3 -2
- data/lib/doc_template/tags/activity_metadata_type_tag.rb +1 -1
- data/lib/doc_template/tags/answer_space_tag.rb +2 -2
- data/lib/doc_template/tags/base_tag.rb +5 -5
- data/lib/doc_template/tags/block_tag.rb +1 -1
- data/lib/doc_template/tags/columns_tag.rb +1 -1
- data/lib/doc_template/tags/def_tag.rb +1 -1
- data/lib/doc_template/tags/expand_tag.rb +1 -0
- data/lib/doc_template/tags/heading_tag.rb +1 -1
- data/lib/doc_template/tags/inset_tag.rb +2 -2
- data/lib/doc_template/tags/latex_tag.rb +1 -1
- data/lib/doc_template/tags/page_break_tag.rb +1 -1
- data/lib/doc_template/tags/pd_tag.rb +4 -4
- data/lib/doc_template/tags/section_tag.rb +2 -2
- data/lib/doc_template/tags/standard_tag.rb +3 -3
- data/lib/doc_template/tags/table_preserve_alignment_tag.rb +1 -1
- data/lib/doc_template/tags/table_tag.rb +1 -1
- data/lib/doc_template/template.rb +1 -1
- data/lib/doc_template.rb +9 -9
- data/lib/document_exporter/gdoc/base.rb +6 -3
- data/lib/document_exporter/pdf/base.rb +1 -1
- data/lib/document_exporter/pdf/document.rb +2 -2
- data/lib/document_exporter/pdf/material.rb +2 -2
- data/lib/document_exporter/pdf/student_material.rb +2 -2
- data/lib/document_exporter/pdf/teacher_material.rb +2 -2
- data/lib/document_renderer/part.rb +4 -6
- data/lib/elasticsearch/persistence/repository/response/results.rb +1 -1
- data/lib/lcms/engine/engine.rb +10 -9
- data/lib/lcms/engine/version.rb +1 -1
- data/lib/lcms/engine.rb +0 -1
- data/lib/lt/lcms/metadata/base_service.rb +2 -1
- data/lib/lt/lcms/metadata/context.rb +58 -54
- data/lib/lt/lcms/metadata/service.rb +6 -3
- data/lib/resque_job.rb +3 -6
- data/lib/standard_importer.rb +4 -4
- data/lib/tasks/cloud66.rake +8 -6
- data/lib/tasks/document.rake +7 -7
- data/lib/tasks/google.rake +29 -14
- data/lib/tasks/lcms/engine_tasks.rake +1 -1
- data/package.json +31 -9
- data/postcss.config.js +12 -0
- data/spec/controllers/admin/association_picker_controller_spec.rb +6 -8
- data/spec/controllers/admin/curriculums_controller_spec.rb +23 -0
- data/spec/controllers/admin/documents_controller_spec.rb +25 -3
- data/spec/controllers/admin/materials_controller_spec.rb +17 -4
- data/spec/controllers/admin/resource_bulk_edit_controller_spec.rb +1 -1
- data/spec/controllers/admin/resources_controller_spec.rb +3 -3
- data/spec/controllers/admin/settings_controller_spec.rb +1 -1
- data/spec/controllers/admin/standards_controller_spec.rb +1 -1
- data/spec/controllers/admin/welcome_controller_spec.rb +12 -10
- data/spec/controllers/resources_controller_spec.rb +3 -3
- data/spec/controllers/welcome_controller_spec.rb +38 -0
- data/spec/dummy/.env.docker +5 -0
- data/spec/dummy/.traceroute.yaml +0 -2
- data/spec/dummy/bin/webpack +18 -0
- data/spec/dummy/bin/webpack-dev-server +18 -0
- data/spec/dummy/config/application.rb +1 -1
- data/spec/dummy/config/environments/production.rb +1 -1
- data/spec/dummy/config/environments/test.rb +1 -1
- data/spec/dummy/config/initializers/assets.rb +6 -0
- data/spec/dummy/config/lcms-admin.yml +3 -7
- data/spec/dummy/config/puma.rb +3 -3
- data/spec/dummy/config/routes.rb +6 -0
- data/spec/dummy/db/schema.rb +5 -5
- data/spec/entities/grades_spec.rb +12 -0
- data/spec/factories/documents.rb +1 -0
- data/spec/factories/downloads.rb +1 -1
- data/spec/factories/resources.rb +2 -2
- data/spec/features/admin/lessons/add_lesson_spec.rb +3 -3
- data/spec/features/admin/materials/add_material_spec.rb +5 -3
- data/spec/features/admin/users_spec.rb +2 -2
- data/spec/forms/document_form_spec.rb +11 -1
- data/spec/{controllers/admin/admin_controller_spec.rb → helpers/path_helper_spec.rb} +6 -6
- data/spec/lib/doc_template/objects/activity_metadata_spec.rb +1 -1
- data/spec/lib/doc_template/objects/agenda_metadata_spec.rb +2 -0
- data/spec/lib/doc_template/objects/toc_metadata_spec.rb +1 -1
- data/spec/lib/doc_template/tables/shared_examples/remove_table.rb +1 -1
- data/spec/lib/doc_template/tags/page_break_tag_spec.rb +1 -1
- data/spec/lib/doc_template/tags/pd_tag_spec.rb +1 -1
- data/spec/models/document_spec.rb +1 -1
- data/spec/models/standard_spec.rb +2 -0
- data/spec/queries/lcms/engine/admin_materials_query_spec.rb +34 -0
- data/spec/rails_helper.rb +8 -2
- data/spec/services/document_build_service_spec.rb +4 -11
- data/spec/services/s3_service_spec.rb +31 -0
- data/spec/support/concerns/navigable.rb +2 -0
- data/spec/support/routes.rb +4 -0
- data/spec/support/shared_examples/content_tag.rb +4 -4
- data/templates/routes.rb +0 -1
- data/yarn.lock +3447 -2993
- metadata +208 -303
- data/app/assets/stylesheets/lcms/engine/application.scss +0 -36
- data/app/assets/stylesheets/lcms/engine/vendors/jquery.tagsinput.css +0 -1
- data/app/exceptions/components_api_error.rb +0 -4
- data/app/exceptions/document_error.rb +0 -4
- data/app/exceptions/material_error.rb +0 -4
- data/app/javascript/packs/admin.js +0 -14
- data/app/models/lcms/engine/component.rb +0 -88
- data/app/presenters/lcms/engine/social_media_presenter.rb +0 -83
- data/app/views/lcms/engine/shared/_social_sharing.html.erb +0 -22
- data/db/migrate/20200217160930_change_document_parts_to_polymorphic.rb +0 -36
- data/db/migrate/20200218144849_drop_material_parts_table.rb +0 -7
- data/db/migrate/20200422130652_add_reimported_at_to_documents.rb +0 -7
- data/db/migrate/20200429130353_drop_pages.rb +0 -13
- data/db/seeds/pages.seeds.rb +0 -26
- data/lib/document_exporter.rb +0 -6
- data/lib/lcms/engine/migration.rb +0 -16
- data/spec/models/component_spec.rb +0 -60
- data/vendor/assets/javascripts/jquery.tagsinput.js +0 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 88efc618857b500fa9f4b31269da6e6ea6a0a145a226d2e7a49a27b7c55d110c
|
4
|
+
data.tar.gz: 415213ff1df9648d44a20769e4b71dae28fc5ad4bd9d351d0ca7e04f1ee5788e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 13e737a28539e68498435df2c79c9b8e4b3e088cdd50e24172365fe3835923664381c7a16dc076fb4b5983e6797e2ae940399d362bd11f8e557b8579d4d9e3fd
|
7
|
+
data.tar.gz: 184b331a41a3836775f235288015d4a2b1aa9d5d9053bb0bfb1eef04fa963005c89044082b44afc5ba3b874f73cb1c5eeb69a6afe755a8fd8a040b5d0446310d
|
data/.codeclimate.yml
CHANGED
data/.dockerignore
ADDED
@@ -0,0 +1,25 @@
|
|
1
|
+
db/dump/content.dump
|
2
|
+
/log/*
|
3
|
+
!/log/.keep
|
4
|
+
/tmp/*
|
5
|
+
|
6
|
+
# Ignore environment-specific configuration
|
7
|
+
.env.development
|
8
|
+
.env.staging
|
9
|
+
.env.test
|
10
|
+
.env
|
11
|
+
|
12
|
+
# Ignore IDE specific files
|
13
|
+
/.idea
|
14
|
+
# simplecov reports
|
15
|
+
coverage
|
16
|
+
.pryrc
|
17
|
+
tags
|
18
|
+
pdfs
|
19
|
+
.DS_Store
|
20
|
+
.generators
|
21
|
+
.rakeTasks
|
22
|
+
public/lcms_engine_packs
|
23
|
+
yarn-debug.log*
|
24
|
+
yarn-integrity
|
25
|
+
yarn-error.log
|
data/.env.docker
CHANGED
data/.eslintignore
CHANGED
@@ -1 +1,2 @@
|
|
1
|
-
|
1
|
+
*\.config.js
|
2
|
+
app/javascript/vendor
|
data/.eslintrc
CHANGED
@@ -1,92 +1,42 @@
|
|
1
1
|
{
|
2
2
|
"root": true,
|
3
|
-
"extends": ["eslint:recommended"],
|
3
|
+
"extends": ["eslint:recommended", "plugin:react/recommended", "react-app", "plugin:prettier/recommended"],
|
4
4
|
"env": {
|
5
|
+
"node": true,
|
5
6
|
"es6": true,
|
7
|
+
"amd": true,
|
6
8
|
"browser": true
|
7
9
|
},
|
8
10
|
"globals": {
|
9
11
|
"$": false,
|
10
12
|
"ga": false,
|
11
|
-
"Modernizr": false,
|
12
|
-
"_": false,
|
13
|
-
"Routes": false,
|
14
13
|
"Foundation": false,
|
15
|
-
"
|
16
|
-
|
17
|
-
"parserOptions": {
|
18
|
-
"ecmaFeatures": {
|
19
|
-
"globalReturn": true,
|
20
|
-
"generators": false,
|
21
|
-
"objectLiteralDuplicateProperties": false,
|
22
|
-
"experimentalDecorators": true,
|
23
|
-
"jsx": true
|
24
|
-
},
|
25
|
-
"ecmaVersion": 2018,
|
26
|
-
"sourceType": "module"
|
14
|
+
"Modernizr": false,
|
15
|
+
"Routes": false
|
27
16
|
},
|
28
|
-
"plugins": [
|
29
|
-
"import",
|
30
|
-
"react"
|
31
|
-
],
|
17
|
+
"plugins": ["react", "jsx-a11y", "prettier"],
|
32
18
|
"settings": {
|
33
|
-
"import/core-modules": [],
|
34
|
-
"import/ignore": [
|
35
|
-
"node_modules",
|
36
|
-
"\\.(coffee|scss|css|less|hbs|svg|json)$"
|
37
|
-
],
|
38
19
|
"react": {
|
20
|
+
"pragma": "React",
|
39
21
|
"version": "detect"
|
40
22
|
}
|
41
23
|
},
|
42
24
|
"rules": {
|
43
|
-
"
|
44
|
-
"
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
],
|
53
|
-
"
|
54
|
-
"
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
],
|
60
|
-
"jsx-a11y/href-no-hash": "off",
|
61
|
-
"linebreak-style": [
|
62
|
-
"error",
|
63
|
-
"unix"
|
64
|
-
],
|
65
|
-
"no-console": 0,
|
66
|
-
"no-trailing-spaces": "error",
|
67
|
-
"no-unused-vars": [
|
68
|
-
"error",
|
69
|
-
{
|
70
|
-
"vars": "all",
|
71
|
-
"args": "after-used",
|
72
|
-
"ignoreRestSiblings": false,
|
73
|
-
"argsIgnorePattern": "^_"
|
74
|
-
}
|
75
|
-
],
|
76
|
-
"semi": "off",
|
77
|
-
"quotes": [
|
78
|
-
"error",
|
79
|
-
"single"
|
80
|
-
],
|
81
|
-
"react/jsx-no-bind": [
|
82
|
-
"error",
|
83
|
-
{
|
84
|
-
"ignoreDOMComponents": true,
|
85
|
-
"ignoreRefs": true,
|
86
|
-
"allowArrowFunctions": false,
|
87
|
-
"allowFunctions": false,
|
88
|
-
"allowBind": false
|
89
|
-
}
|
90
|
-
]
|
25
|
+
"prettier/prettier": ["error", {
|
26
|
+
"singleQuote": true,
|
27
|
+
"arrowParens": "avoid"
|
28
|
+
}],
|
29
|
+
"no-unused-vars": ["error", {
|
30
|
+
"vars": "all",
|
31
|
+
"args": "after-used",
|
32
|
+
"ignoreRestSiblings": false,
|
33
|
+
"argsIgnorePattern": "^_"
|
34
|
+
}],
|
35
|
+
"react/jsx-no-bind": ["error", {
|
36
|
+
"ignoreRefs": true,
|
37
|
+
"allowArrowFunctions": false,
|
38
|
+
"allowBind": false
|
39
|
+
}],
|
40
|
+
"no-console": ["warn"]
|
91
41
|
}
|
92
42
|
}
|
data/.nvmrc
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
14.17.0
|
data/.overcommit.yml
CHANGED
@@ -6,8 +6,9 @@ PreCommit:
|
|
6
6
|
enabled: true
|
7
7
|
on_warn: fail
|
8
8
|
exclude:
|
9
|
-
|
10
|
-
|
9
|
+
- bin/*
|
10
|
+
- db/migrate/*
|
11
|
+
- spec/dummy/**/*
|
11
12
|
|
12
13
|
BundleCheck:
|
13
14
|
enabled: true
|
@@ -27,6 +28,11 @@ PreCommit:
|
|
27
28
|
YamlSyntax:
|
28
29
|
enabled: true
|
29
30
|
|
31
|
+
CustomScript:
|
32
|
+
enabled: true
|
33
|
+
description: Js/Scss linters
|
34
|
+
command: ['yarn', 'lint']
|
35
|
+
|
30
36
|
TrailingWhitespace:
|
31
37
|
enabled: true
|
32
38
|
|
data/.prettierrc
ADDED
data/.rubocop.yml
CHANGED
@@ -15,7 +15,11 @@ AllCops:
|
|
15
15
|
- spec/dummy/db/schema.rb
|
16
16
|
- spec/dummy/bin/*
|
17
17
|
- templates/*
|
18
|
-
|
18
|
+
NewCops: enable
|
19
|
+
TargetRubyVersion: 2.7
|
20
|
+
|
21
|
+
Layout/LineLength:
|
22
|
+
Max: 120
|
19
23
|
|
20
24
|
Layout/MultilineMethodCallIndentation:
|
21
25
|
EnforcedStyle: indented_relative_to_receiver
|
@@ -23,6 +27,9 @@ Layout/MultilineMethodCallIndentation:
|
|
23
27
|
Lint/AmbiguousBlockAssociation:
|
24
28
|
Enabled: false
|
25
29
|
|
30
|
+
Lint/OrAssignmentToConstant:
|
31
|
+
Enabled: false
|
32
|
+
|
26
33
|
Metrics/AbcSize:
|
27
34
|
Max: 39
|
28
35
|
|
@@ -32,24 +39,21 @@ Metrics/BlockLength:
|
|
32
39
|
- 'config/routes.rb'
|
33
40
|
- 'lcms-engine.gemspec'
|
34
41
|
- 'lib/tasks/elasticsearch.rake'
|
35
|
-
|
42
|
+
AllowedMethods: ['guard', 'included', 'class_eval']
|
36
43
|
|
37
44
|
Metrics/ClassLength:
|
38
45
|
Max: 250
|
39
46
|
|
40
47
|
Metrics/CyclomaticComplexity:
|
41
|
-
Max:
|
42
|
-
|
43
|
-
Metrics/LineLength:
|
44
|
-
Max: 120
|
48
|
+
Max: 10
|
45
49
|
|
46
50
|
Metrics/MethodLength:
|
47
51
|
Max: 50
|
48
52
|
|
49
53
|
Metrics/PerceivedComplexity:
|
50
|
-
Max:
|
54
|
+
Max: 10
|
51
55
|
|
52
|
-
Naming/
|
56
|
+
Naming/MethodParameterName:
|
53
57
|
MinNameLength: 2
|
54
58
|
|
55
59
|
Style/AndOr:
|
data/.ruby-version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
2.
|
1
|
+
2.7.4
|
data/.stylelintignore
ADDED
@@ -0,0 +1,9 @@
|
|
1
|
+
docs
|
2
|
+
coverage
|
3
|
+
app/assets/stylesheets/lcms/engine/vendors/*
|
4
|
+
app/assets/stylesheets/lcms/engine/utils/_styles_override.scss
|
5
|
+
app/assets/stylesheets/lcms/engine/utils/_mixins.scss
|
6
|
+
app/assets/stylesheets/lcms/engine/base/_typography.scss
|
7
|
+
app/assets/stylesheets/lcms/engine/print/_typography.scss
|
8
|
+
app/assets/stylesheets/lcms/engine/print/gdoc/_typography.scss
|
9
|
+
app/assets/stylesheets/lcms/engine/themes/_settings.scss
|
data/.stylelintrc
ADDED
@@ -0,0 +1,8 @@
|
|
1
|
+
{
|
2
|
+
"extends": ["stylelint-prettier/recommended", "stylelint-config-sass-guidelines", "stylelint-selector-bem-pattern"],
|
3
|
+
"rules": {
|
4
|
+
"declaration-no-important": true,
|
5
|
+
"length-zero-no-unit": null,
|
6
|
+
"selector-class-pattern": "^(?:(?:o|c|u|t|s|is|has|_|js|qa)-)?[a-zA-Z0-9]+(?:-[a-zA-Z0-9]+)*(?:__[a-zA-Z0-9]+(?:-[a-zA-Z0-9]+)*)?(?:--[a-zA-Z0-9]+(?:-[a-zA-Z0-9]+)*)?(?:\\[.+\\])?$"
|
7
|
+
}
|
8
|
+
}
|
data/CHANGELOG.md
CHANGED
@@ -4,7 +4,56 @@ All notable changes to this project will be documented in this file.
|
|
4
4
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
5
5
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
6
6
|
|
7
|
-
## [Unreleased](https://github.com/learningtapestry/lcms-engine/compare/v0.
|
7
|
+
## [Unreleased](https://github.com/learningtapestry/lcms-engine/compare/v0.4.0...HEAD)
|
8
|
+
|
9
|
+
## [Unreleased](https://github.com/learningtapestry/lcms-engine/compare/v0.3.1...v0.4.0)
|
10
|
+
|
11
|
+
### Added
|
12
|
+
|
13
|
+
- Bump Rails to 6.1.7 - [@paranoicsan](https://github.com/paranoicsan)
|
14
|
+
- Bump lt-google-api to 0.2.4 - [@paranoicsan](https://github.com/paranoicsan)
|
15
|
+
- Bump lt-lcms to 0.4.4 - [@paranoicsan](https://github.com/paranoicsan)
|
16
|
+
- Explicitly skip indexing via ElasticSearch for objects which include Lcms::Engine::Searchable concern - [@paranoicsan](https://github.com/paranoicsan)
|
17
|
+
- Replace sass-lint to stylelint NodeJS package - [@paranoicsan](https://github.com/paranoicsan)
|
18
|
+
- Bump webpacker gem (and @rails/webpacker package) - [@paranoicsan](https://github.com/paranoicsan)
|
19
|
+
- `Lcms::Engine::S3Service.upload` method now accepts options Hash to be passed to AWS S3 resource - [@paranoicsan](https://github.com/paranoicsan)
|
20
|
+
- Explicitly added following packages: react-tagsinput, jstree, jquery and foundation-sites - [@paranoicsan](https://github.com/paranoicsan)
|
21
|
+
- Bump CKEditor to 5.1 - [@paranoicsan](https://github.com/paranoicsan)
|
22
|
+
|
23
|
+
### Changed
|
24
|
+
|
25
|
+
- [BREAKING] `DocumentError` has been moved under `Lcms::Engine` namespace and now looks like `Lcms::Engine::DocumentError` - [@paranoicsan](https://github.com/paranoicsan)
|
26
|
+
- [BREAKING] `MaterialError` has been moved under `Lcms::Engine` namespace and now looks like `Lcms::Engine::MaterialError` - [@paranoicsan](https://github.com/paranoicsan)
|
27
|
+
- [BREAKING] JS and CSS files have been renamed: added `lcms_engine_` prefix - [@paranoicsan](https://github.com/paranoicsan)
|
28
|
+
- Updated `google:setup_auth` rake task to work with _Web Application_ OAuth client ID - [@paranoicsan](https://github.com/paranoicsan)
|
29
|
+
- Dropped Rails 4.2 support
|
30
|
+
- Post-processing with Google App Script now shows Google Document ID in case of failure - [@paranoicsan](https://github.com/paranoicsan)
|
31
|
+
|
32
|
+
### Removed
|
33
|
+
|
34
|
+
- [BREAKING] Remove `Lcms::Engine::Component` model - [@paranoicsan](https://github.com/paranoicsan)
|
35
|
+
- [BREAKING] Drop support to Ruby bellow 2.7 - [@paranoicsan](https://github.com/paranoicsan)
|
36
|
+
- [BREAKING] Removed SocialMediaPresenter and a couple of legacy connected methods and views
|
37
|
+
|
38
|
+
## [0.3.1](https://github.com/learningtapestry/lcms-engine/compare/v0.3.0...v0.3.1) - 2021.02.12
|
39
|
+
|
40
|
+
### Fixed
|
41
|
+
|
42
|
+
- StrongParameters issues - [@paranoicsan](https://github.com/paranoicsan)
|
43
|
+
- Font Awesome Icons issues - [@paranoicsan](https://github.com/paranoicsan)
|
44
|
+
- Correctly search for a queued nested ActiveJob - [@paranoicsan](https://github.com/paranoicsan)
|
45
|
+
- Remove unnecessary redis key deletion - [@aderyabin](https://github.com/aderyabin)
|
46
|
+
|
47
|
+
### Added
|
48
|
+
|
49
|
+
- Explicitly import lodash (To prevent errors in LCMS projects) - [@paranoicsan](https://github.com/paranoicsan)
|
50
|
+
|
51
|
+
### Removed
|
52
|
+
|
53
|
+
- [BREAKING] Remove `Lcms::Engine::Component` model - [@paranoicsan](https://github.com/paranoicsan)
|
54
|
+
- [BREAKING] Remove `Lcms::Engine::Migration` class - [@paranoicsan](https://github.com/paranoicsan)
|
55
|
+
- Remove 'whoami' route - [@paranoicsan](https://github.com/paranoicsan)
|
56
|
+
- [BREAKING] Remove a bunch of `Lcms::Engine::Admin::AdminController` class methods - [@paranoicsan](https://github.com/paranoicsan)
|
8
57
|
|
9
58
|
## [0.3.0](https://github.com/learningtapestry/lcms-engine/compare/v0.2.0...v0.3.0) - 2020.08.19
|
10
59
|
|
data/Dockerfile
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
FROM ruby:2.
|
1
|
+
FROM ruby:2.7.4
|
2
2
|
|
3
3
|
ENV APP_PATH /app/
|
4
4
|
ENV LANG C.UTF-8
|
@@ -7,7 +7,7 @@ WORKDIR $APP_PATH
|
|
7
7
|
|
8
8
|
RUN curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - \
|
9
9
|
&& echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list \
|
10
|
-
&& curl -sL https://deb.nodesource.com/
|
10
|
+
&& curl -sL https://deb.nodesource.com/setup_14.x | bash - \
|
11
11
|
&& apt-get update -qqy \
|
12
12
|
&& apt-get install -y --no-install-recommends nodejs yarn \
|
13
13
|
&& rm -rf /var/lib/apt/lists/* /var/cache/apt/*
|
@@ -18,7 +18,7 @@ ADD . $APP_PATH
|
|
18
18
|
# Install gems
|
19
19
|
ADD lcms-engine.gemspec $APP_PATH
|
20
20
|
ADD Gemfile* $APP_PATH
|
21
|
-
RUN gem install bundler
|
21
|
+
RUN gem install bundler \
|
22
22
|
&& bundle install --jobs `expr $(cat /proc/cpuinfo | grep -c "cpu cores") - 1` --retry 3 \
|
23
23
|
&& rm -rf /usr/local/bundle/cache/*.gem \
|
24
24
|
&& find /usr/local/bundle/gems/ -name "*.c" -delete \
|