geoblacklight_admin 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.editorconfig +18 -0
- data/.gitignore +75 -0
- data/.standard.yml +4 -0
- data/Gemfile +59 -0
- data/LICENSE +21 -0
- data/README.md +84 -0
- data/Rakefile +72 -0
- data/app/assets/images/.keep +0 -0
- data/app/assets/images/aerial_photo.jpg +0 -0
- data/app/assets/images/archive-solid.svg +1 -0
- data/app/assets/images/bookmark-regular.svg +1 -0
- data/app/assets/images/bookmark-solid.svg +1 -0
- data/app/assets/images/btaa-logo.jpg +0 -0
- data/app/assets/images/cloud-download-alt-solid.svg +1 -0
- data/app/assets/images/file-import-solid.svg +1 -0
- data/app/assets/images/trash-alt-solid.svg +1 -0
- data/app/assets/javascripts/geoblacklight_admin/chosen.js +4 -0
- data/app/assets/javascripts/geoblacklight_admin/date_range_picker.js +173 -0
- data/app/assets/javascripts/geoblacklight_admin/datepicker.js +22 -0
- data/app/assets/javascripts/geoblacklight_admin/elements.js +38 -0
- data/app/assets/javascripts/geoblacklight_admin/exports.js +3 -0
- data/app/assets/javascripts/geoblacklight_admin/fields.js +11 -0
- data/app/assets/javascripts/geoblacklight_admin/geoblacklight_admin.js +2 -0
- data/app/assets/javascripts/geoblacklight_admin/inputmask.js +4 -0
- data/app/assets/javascripts/geoblacklight_admin/locale.js +5 -0
- data/app/assets/javascripts/geoblacklight_admin/sortable.js +2544 -0
- data/app/assets/javascripts/geoblacklight_admin/tooltips.js +3 -0
- data/app/assets/javascripts/geoblacklight_admin/truncate.js +4 -0
- data/app/assets/javascripts/geoblacklight_admin.js +40 -0
- data/app/assets/stylesheets/geoblacklight_admin/_core.scss +47 -0
- data/app/assets/stylesheets/geoblacklight_admin/modules/_autocomplete.scss +32 -0
- data/app/assets/stylesheets/geoblacklight_admin/modules/_blazer.scss +3 -0
- data/app/assets/stylesheets/geoblacklight_admin/modules/_code.scss +3 -0
- data/app/assets/stylesheets/geoblacklight_admin/modules/_datepicker.scss +477 -0
- data/app/assets/stylesheets/geoblacklight_admin/modules/_elements.scss +3 -0
- data/app/assets/stylesheets/geoblacklight_admin/modules/_forms.scss +28 -0
- data/app/assets/stylesheets/geoblacklight_admin/modules/_icons.scss +15 -0
- data/app/assets/stylesheets/geoblacklight_admin/modules/_nav.scss +9 -0
- data/app/assets/stylesheets/geoblacklight_admin/modules/_tables.scss +4 -0
- data/app/assets/stylesheets/geoblacklight_admin/modules/_toasts.scss +7 -0
- data/app/assets/stylesheets/geoblacklight_admin/modules/_visibility.scss +3 -0
- data/app/assets/stylesheets/geoblacklight_admin/settings/_variables.scss +1 -0
- data/app/channels/export_channel.rb +12 -0
- data/app/controllers/admin/admin_controller.rb +16 -0
- data/app/controllers/admin/advanced_search_controller.rb +365 -0
- data/app/controllers/admin/api_controller.rb +386 -0
- data/app/controllers/admin/bookmarks_controller.rb +68 -0
- data/app/controllers/admin/bulk_actions_controller.rb +94 -0
- data/app/controllers/admin/concerns/.keep +0 -0
- data/app/controllers/admin/concerns/upload_util.rb +8 -0
- data/app/controllers/admin/document_accesses_controller.rb +125 -0
- data/app/controllers/admin/document_assets_controller.rb +198 -0
- data/app/controllers/admin/document_downloads_controller.rb +127 -0
- data/app/controllers/admin/documents_controller.rb +219 -0
- data/app/controllers/admin/elements_controller.rb +81 -0
- data/app/controllers/admin/form_elements_controller.rb +81 -0
- data/app/controllers/admin/ids_controller.rb +379 -0
- data/app/controllers/admin/import_documents_controller.rb +18 -0
- data/app/controllers/admin/imports_controller.rb +105 -0
- data/app/controllers/admin/mappings_controller.rb +95 -0
- data/app/controllers/admin/notifications_controller.rb +51 -0
- data/app/controllers/admin/search_controller.rb +10 -0
- data/app/controllers/admin/users_controller.rb +10 -0
- data/app/helpers/bulk_actions_helper.rb +9 -0
- data/app/helpers/document_helper.rb +60 -0
- data/app/helpers/form_input_helper.rb +73 -0
- data/app/helpers/geoblacklight_admin_helper.rb +118 -0
- data/app/helpers/import_documents_helper.rb +5 -0
- data/app/helpers/mappings_helper.rb +27 -0
- data/app/indexers/document_indexer.rb +34 -0
- data/app/jobs/bulk_action_revert_document_job.rb +49 -0
- data/app/jobs/bulk_action_revert_job.rb +25 -0
- data/app/jobs/bulk_action_run_document_job.rb +42 -0
- data/app/jobs/bulk_action_run_job.rb +27 -0
- data/app/jobs/export_job.rb +72 -0
- data/app/jobs/export_json_job.rb +120 -0
- data/app/jobs/import_document_job.rb +25 -0
- data/app/jobs/import_run_job.rb +33 -0
- data/app/models/active_storage_attachment.rb +5 -0
- data/app/models/active_storage_blob.rb +5 -0
- data/app/models/api_search_builder.rb +12 -0
- data/app/models/application_record.rb +6 -0
- data/app/models/blacklight_api.rb +93 -0
- data/app/models/blacklight_api_facets.rb +15 -0
- data/app/models/blacklight_api_ids.rb +103 -0
- data/app/models/bookmark.rb +17 -0
- data/app/models/bulk_action.rb +88 -0
- data/app/models/bulk_action_document.rb +22 -0
- data/app/models/bulk_action_document_state_machine.rb +16 -0
- data/app/models/bulk_action_document_transition.rb +19 -0
- data/app/models/bulk_action_state_machine.rb +16 -0
- data/app/models/bulk_action_transition.rb +26 -0
- data/app/models/concerns/.keep +0 -0
- data/app/models/document/bbox_validator.rb +70 -0
- data/app/models/document/controlled_lists.rb +104 -0
- data/app/models/document/date_range_validator.rb +63 -0
- data/app/models/document/geom_validator.rb +117 -0
- data/app/models/document/reference.rb +107 -0
- data/app/models/document.rb +264 -0
- data/app/models/document_access.rb +35 -0
- data/app/models/document_download.rb +35 -0
- data/app/models/document_state_machine.rb +14 -0
- data/app/models/document_transition.rb +26 -0
- data/app/models/element.rb +90 -0
- data/app/models/form_control.rb +2 -0
- data/app/models/form_element.rb +19 -0
- data/app/models/form_feature.rb +2 -0
- data/app/models/form_group.rb +2 -0
- data/app/models/form_header.rb +2 -0
- data/app/models/geoblacklight_admin/field_mappings_btaa_aardvark.rb +379 -0
- data/app/models/geoblacklight_admin/field_mappings_gblv1.rb +344 -0
- data/app/models/geoblacklight_admin/iso_language_codes.rb +515 -0
- data/app/models/geoblacklight_admin/schema.rb +194 -0
- data/app/models/geoblacklight_admin.rb +3 -0
- data/app/models/import/csv_duplicates_validator.rb +36 -0
- data/app/models/import/csv_header_validator.rb +24 -0
- data/app/models/import.rb +186 -0
- data/app/models/import_btaa.rb +91 -0
- data/app/models/import_btaa_aardvark.rb +109 -0
- data/app/models/import_document.rb +34 -0
- data/app/models/import_document_state_machine.rb +12 -0
- data/app/models/import_document_transition.rb +19 -0
- data/app/models/import_gblv1.rb +92 -0
- data/app/models/import_state_machine.rb +16 -0
- data/app/models/import_transition.rb +26 -0
- data/app/models/mapping.rb +10 -0
- data/app/models/notification.rb +9 -0
- data/app/models/user.rb +26 -0
- data/app/notifications/export_notification.rb +30 -0
- data/app/services/export_csv_document_access_links_service.rb +47 -0
- data/app/services/export_csv_document_downloads_service.rb +47 -0
- data/app/services/export_csv_service.rb +44 -0
- data/app/services/export_json_service.rb +35 -0
- data/app/services/zip_file_generator.rb +56 -0
- data/app/views/admin/advanced_search/facets.json.jbuilder +80 -0
- data/app/views/admin/advanced_search/index.json.jbuilder +90 -0
- data/app/views/admin/api/_field.json.jbuilder +10 -0
- data/app/views/admin/api/fetch.json.jbuilder +86 -0
- data/app/views/admin/api/index.json.jbuilder +90 -0
- data/app/views/admin/bookmarks/_bookmark.json.jbuilder +4 -0
- data/app/views/admin/bookmarks/create.js.erb +7 -0
- data/app/views/admin/bookmarks/destroy.js.erb +7 -0
- data/app/views/admin/bookmarks/index.html.erb +21 -0
- data/app/views/admin/bookmarks/index.json.jbuilder +3 -0
- data/app/views/admin/bulk_actions/_bulk_action.json.jbuilder +4 -0
- data/app/views/admin/bulk_actions/_form.html.erb +17 -0
- data/app/views/admin/bulk_actions/edit.html.erb +6 -0
- data/app/views/admin/bulk_actions/index.html.erb +54 -0
- data/app/views/admin/bulk_actions/index.json.jbuilder +3 -0
- data/app/views/admin/bulk_actions/new.html.erb +5 -0
- data/app/views/admin/bulk_actions/show.html.erb +100 -0
- data/app/views/admin/bulk_actions/show.json.jbuilder +3 -0
- data/app/views/admin/devise/confirmations/new.html.erb +16 -0
- data/app/views/admin/devise/invitations/edit.html.erb +15 -0
- data/app/views/admin/devise/invitations/new.html.erb +15 -0
- data/app/views/admin/devise/mailer/invitation_instructions.html.erb +11 -0
- data/app/views/admin/devise/mailer/invitation_instructions.text.erb +11 -0
- data/app/views/admin/devise/passwords/edit.html.erb +26 -0
- data/app/views/admin/devise/passwords/new.html.erb +16 -0
- data/app/views/admin/devise/registrations/edit.html.erb +35 -0
- data/app/views/admin/devise/registrations/new.html.erb +30 -0
- data/app/views/admin/devise/sessions/new.html.erb +28 -0
- data/app/views/admin/devise/shared/_links.html.erb +27 -0
- data/app/views/admin/devise/unlocks/new.html.erb +16 -0
- data/app/views/admin/document_accesses/_document_access.json.jbuilder +4 -0
- data/app/views/admin/document_accesses/_form.html.erb +17 -0
- data/app/views/admin/document_accesses/destroy_all.html.erb +70 -0
- data/app/views/admin/document_accesses/edit.html.erb +5 -0
- data/app/views/admin/document_accesses/import.html.erb +70 -0
- data/app/views/admin/document_accesses/index.html.erb +74 -0
- data/app/views/admin/document_accesses/index.json.jbuilder +3 -0
- data/app/views/admin/document_accesses/new.html.erb +6 -0
- data/app/views/admin/document_accesses/show.html.erb +19 -0
- data/app/views/admin/document_accesses/show.json.jbuilder +3 -0
- data/app/views/admin/document_assets/display_attach_form.html.erb +44 -0
- data/app/views/admin/document_assets/index.html.erb +65 -0
- data/app/views/admin/document_downloads/_document_download.json.jbuilder +4 -0
- data/app/views/admin/document_downloads/_form.html.erb +15 -0
- data/app/views/admin/document_downloads/destroy_all.html.erb +70 -0
- data/app/views/admin/document_downloads/edit.html.erb +6 -0
- data/app/views/admin/document_downloads/import.html.erb +74 -0
- data/app/views/admin/document_downloads/index.html.erb +70 -0
- data/app/views/admin/document_downloads/index.json.jbuilder +3 -0
- data/app/views/admin/document_downloads/new.html.erb +5 -0
- data/app/views/admin/document_downloads/show.html.erb +24 -0
- data/app/views/admin/document_downloads/show.json.jbuilder +3 -0
- data/app/views/admin/documents/_document.html.erb +29 -0
- data/app/views/admin/documents/_document_bookmark.html.erb +17 -0
- data/app/views/admin/documents/_document_fields.html.erb +24 -0
- data/app/views/admin/documents/_form.html.erb +49 -0
- data/app/views/admin/documents/_form_control.html.erb +86 -0
- data/app/views/admin/documents/_form_group.html.erb +1 -0
- data/app/views/admin/documents/_form_header.html.erb +1 -0
- data/app/views/admin/documents/_form_nav.html.erb +21 -0
- data/app/views/admin/documents/_json_aardvark.jbuilder +47 -0
- data/app/views/admin/documents/_json_btaa_aardvark.jbuilder +16 -0
- data/app/views/admin/documents/_json_gbl_v1.jbuilder +32 -0
- data/app/views/admin/documents/_result_facets.html.erb +35 -0
- data/app/views/admin/documents/_result_pagination.html.erb +21 -0
- data/app/views/admin/documents/_result_selected_options.html.erb +54 -0
- data/app/views/admin/documents/_result_selection_options.html.erb +10 -0
- data/app/views/admin/documents/_result_toggle.html.erb +13 -0
- data/app/views/admin/documents/edit.html.erb +7 -0
- data/app/views/admin/documents/features/_assets.html.erb +3 -0
- data/app/views/admin/documents/features/_institutional_access_links.html.erb +3 -0
- data/app/views/admin/documents/features/_multiple_download_links.html.erb +27 -0
- data/app/views/admin/documents/fetch.json_aardvark.jbuilder +9 -0
- data/app/views/admin/documents/fetch.json_btaa_aardvark.jbuilder +9 -0
- data/app/views/admin/documents/fetch.json_gbl_v1.jbuilder +9 -0
- data/app/views/admin/documents/index.html.erb +49 -0
- data/app/views/admin/documents/index.json_aardvark.jbuilder +9 -0
- data/app/views/admin/documents/index.json_btaa_aardvark.jbuilder +9 -0
- data/app/views/admin/documents/index.json_gbl_v1.jbuilder +9 -0
- data/app/views/admin/documents/show.json_aardvark.jbuilder +3 -0
- data/app/views/admin/documents/show.json_btaa_aardvark.jbuilder +3 -0
- data/app/views/admin/documents/show.json_gbl_v1.jbuilder +3 -0
- data/app/views/admin/documents/versions.html.erb +110 -0
- data/app/views/admin/elements/_element.json.jbuilder +2 -0
- data/app/views/admin/elements/_form.html.erb +45 -0
- data/app/views/admin/elements/edit.html.erb +6 -0
- data/app/views/admin/elements/index.html.erb +68 -0
- data/app/views/admin/elements/index.json.jbuilder +1 -0
- data/app/views/admin/elements/new.html.erb +5 -0
- data/app/views/admin/elements/show.html.erb +121 -0
- data/app/views/admin/elements/show.json.jbuilder +1 -0
- data/app/views/admin/form_elements/_form.html.erb +46 -0
- data/app/views/admin/form_elements/_form_element.json.jbuilder +2 -0
- data/app/views/admin/form_elements/edit.html.erb +6 -0
- data/app/views/admin/form_elements/index.html.erb +49 -0
- data/app/views/admin/form_elements/index.json.jbuilder +1 -0
- data/app/views/admin/form_elements/new.html.erb +5 -0
- data/app/views/admin/form_elements/show.html.erb +19 -0
- data/app/views/admin/form_elements/show.json.jbuilder +1 -0
- data/app/views/admin/ids/fetch.json.jbuilder +86 -0
- data/app/views/admin/ids/index.json.jbuilder +41 -0
- data/app/views/admin/import_documents/show.html.haml +20 -0
- data/app/views/admin/imports/_form.html.erb +27 -0
- data/app/views/admin/imports/_import.json.jbuilder +4 -0
- data/app/views/admin/imports/_show_failed_tab.html.erb +37 -0
- data/app/views/admin/imports/_show_success_tab.html.erb +31 -0
- data/app/views/admin/imports/edit.html.erb +8 -0
- data/app/views/admin/imports/index.html.erb +56 -0
- data/app/views/admin/imports/index.json.jbuilder +3 -0
- data/app/views/admin/imports/new.html.erb +7 -0
- data/app/views/admin/imports/show.html.erb +123 -0
- data/app/views/admin/imports/show.json.jbuilder +3 -0
- data/app/views/admin/layouts/application.html.erb +30 -0
- data/app/views/admin/layouts/blazer/application.html.erb +23 -0
- data/app/views/admin/layouts/mailer.html.erb +13 -0
- data/app/views/admin/layouts/mailer.text.erb +1 -0
- data/app/views/admin/mappings/_form.html.erb +17 -0
- data/app/views/admin/mappings/_mapping.json.jbuilder +4 -0
- data/app/views/admin/mappings/edit.html.erb +6 -0
- data/app/views/admin/mappings/index.html.erb +37 -0
- data/app/views/admin/mappings/index.json.jbuilder +3 -0
- data/app/views/admin/mappings/new.html.erb +5 -0
- data/app/views/admin/mappings/show.html.erb +27 -0
- data/app/views/admin/mappings/show.json.jbuilder +3 -0
- data/app/views/admin/notifications/_notification.html.haml +31 -0
- data/app/views/admin/notifications/index.html.erb +54 -0
- data/app/views/admin/notifications/update.js.erb +7 -0
- data/app/views/admin/search/index.html.erb +38 -0
- data/app/views/admin/shared/_flash_messages.html.erb +5 -0
- data/app/views/admin/shared/_footer.html.erb +56 -0
- data/app/views/admin/shared/_js_behaviors.html.erb +147 -0
- data/app/views/admin/shared/_navbar.html.erb +78 -0
- data/app/views/admin/shared/_navbar_blazer.html.erb +42 -0
- data/app/views/admin/shared/_schema_timestamp.html.erb +16 -0
- data/app/views/admin/shared/_toast.html.erb +13 -0
- data/app/views/admin/users/index.html.erb +21 -0
- data/config/authorities/formats.yml +25 -0
- data/config/authorities/languages.yml +50 -0
- data/config/authorities/resource_type.yml +82 -0
- data/config/blazer.yml +79 -0
- data/config/gbl_v1_schema.json +118 -0
- data/config/geomg_aardvark_schema.json +211 -0
- data/config/geomg_schema.json +123 -0
- data/config/locales/devise.en.yml +65 -0
- data/config/locales/devise_invitable.en.yml +31 -0
- data/config/locales/documents.en.yml +189 -0
- data/config/locales/en.yml +51 -0
- data/config/locales/geoblacklight.en.yml +178 -0
- data/config/locales/simple_form.en.yml +31 -0
- data/config/routes.rb +162 -0
- data/db/migrate/20230316183001_add_geoblacklight_admin.rb +399 -0
- data/db/seeds.rb +26 -0
- data/db/seeds_elements.csv +56 -0
- data/db/seeds_elements.numbers +0 -0
- data/db/seeds_form_elements.csv +71 -0
- data/db/seeds_form_elements.numbers +0 -0
- data/db/structure.sql +816 -0
- data/geoblacklight_admin.gemspec +67 -0
- data/lib/generators/geoblacklight_admin/config_generator.rb +336 -0
- data/lib/generators/geoblacklight_admin/example_docs_generator.rb +18 -0
- data/lib/generators/geoblacklight_admin/helpers_generator.rb +18 -0
- data/lib/generators/geoblacklight_admin/install_generator.rb +60 -0
- data/lib/generators/geoblacklight_admin/jobs_generator.rb +21 -0
- data/lib/generators/geoblacklight_admin/models_generator.rb +23 -0
- data/lib/generators/geoblacklight_admin/templates/.env.development.example +28 -0
- data/lib/generators/geoblacklight_admin/templates/.solr_wrapper.yml +7 -0
- data/lib/generators/geoblacklight_admin/templates/_user_util_links.html.erb +30 -0
- data/lib/generators/geoblacklight_admin/templates/config/database.yml +18 -0
- data/lib/generators/geoblacklight_admin/templates/config/geomg_aardvark_schema.json +211 -0
- data/lib/generators/geoblacklight_admin/templates/config/initializers/geoblacklight_admin.rb +25 -0
- data/lib/generators/geoblacklight_admin/templates/config/initializers/kithe.rb +31 -0
- data/lib/generators/geoblacklight_admin/templates/config/initializers/pagy.rb +158 -0
- data/lib/generators/geoblacklight_admin/templates/config/initializers/statesman.rb +7 -0
- data/lib/generators/geoblacklight_admin/templates/javascript/channels/consumer.js +6 -0
- data/lib/generators/geoblacklight_admin/templates/javascript/channels/export_channel.js +30 -0
- data/lib/generators/geoblacklight_admin/templates/javascript/channels/index.js +5 -0
- data/lib/generators/geoblacklight_admin/templates/javascript/controllers/application_controller.js +17 -0
- data/lib/generators/geoblacklight_admin/templates/javascript/controllers/document_controller.js +26 -0
- data/lib/generators/geoblacklight_admin/templates/javascript/controllers/index.js +10 -0
- data/lib/generators/geoblacklight_admin/templates/javascript/controllers/results_controller.js +310 -0
- data/lib/generators/geoblacklight_admin/templates/javascript/packs/application.js +23 -0
- data/lib/generators/geoblacklight_admin/templates/javascript/src/js/admin/qa_autocomplete.js +1134 -0
- data/lib/generators/geoblacklight_admin/templates/package.json +32 -0
- data/lib/generators/geoblacklight_admin/templates/solr/README-geoblacklight-solr-development.txt +3 -0
- data/lib/generators/geoblacklight_admin/templates/solr/conf/_rest_managed.json +3 -0
- data/lib/generators/geoblacklight_admin/templates/solr/conf/admin-extra.html +31 -0
- data/lib/generators/geoblacklight_admin/templates/solr/conf/core.properties +5 -0
- data/lib/generators/geoblacklight_admin/templates/solr/conf/elevate.xml +36 -0
- data/lib/generators/geoblacklight_admin/templates/solr/conf/mapping-ISOLatin1Accent.txt +246 -0
- data/lib/generators/geoblacklight_admin/templates/solr/conf/protwords.txt +21 -0
- data/lib/generators/geoblacklight_admin/templates/solr/conf/schema.xml +229 -0
- data/lib/generators/geoblacklight_admin/templates/solr/conf/scripts.conf +24 -0
- data/lib/generators/geoblacklight_admin/templates/solr/conf/solrconfig.xml +266 -0
- data/lib/generators/geoblacklight_admin/templates/solr/conf/spellings.txt +2 -0
- data/lib/generators/geoblacklight_admin/templates/solr/conf/stopwords.txt +58 -0
- data/lib/generators/geoblacklight_admin/templates/solr/conf/stopwords_en.txt +58 -0
- data/lib/generators/geoblacklight_admin/templates/solr/conf/synonyms.txt +43 -0
- data/lib/generators/geoblacklight_admin/templates/solr/conf/xslt/example.xsl +132 -0
- data/lib/generators/geoblacklight_admin/templates/solr/conf/xslt/example_atom.xsl +67 -0
- data/lib/generators/geoblacklight_admin/templates/solr/conf/xslt/example_rss.xsl +66 -0
- data/lib/generators/geoblacklight_admin/templates/solr/conf/xslt/luke.xsl +337 -0
- data/lib/generators/geoblacklight_admin/templates/solr/snapshots/.keep +0 -0
- data/lib/generators/geoblacklight_admin/views_generator.rb +19 -0
- data/lib/geoblacklight_admin/engine.rb +20 -0
- data/lib/geoblacklight_admin/version.rb +5 -0
- data/lib/geoblacklight_admin.rb +7 -0
- data/lib/tasks/.keep +0 -0
- data/lib/tasks/geoblacklight_admin.rake +209 -0
- data/spec/test_app_templates/lib/generators/test_app_generator.rb +35 -0
- data/template.rb +16 -0
- metadata +1037 -0
checksums.yaml
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
---
|
|
2
|
+
SHA256:
|
|
3
|
+
metadata.gz: d9c753d49a11dda454f74746f46edbcbc094ab8ed65e5a6ea4a3addd1850efa9
|
|
4
|
+
data.tar.gz: db199042de538a4e2d0548db3444a86ef81b78f2d88216dfbcae1d05b53f9923
|
|
5
|
+
SHA512:
|
|
6
|
+
metadata.gz: 757f8f91ff005aeaa92a11dfa2d292b68383781cfdbd9cf9db5f54bb39aea4c25be30b81d9b493ee1383bcbb210d1239a68eab436c0d54e41078e69f14a11003
|
|
7
|
+
data.tar.gz: 107dbebee2ed281bd0284e2fe4e0b60c25344cc38952d6b3363703c3ffe4ae492fdcc6aac1d6da6f8b9f5caa825375e42e7c2d190da9202a5e7f835f27bb8335
|
data/.editorconfig
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# EditorConfig is awesome: http://EditorConfig.org
|
|
2
|
+
|
|
3
|
+
# top-most EditorConfig file for the repo
|
|
4
|
+
root = true
|
|
5
|
+
|
|
6
|
+
# Quasi-universal defaults
|
|
7
|
+
[*]
|
|
8
|
+
end_of_line = lf
|
|
9
|
+
insert_final_newline = true
|
|
10
|
+
charset = utf-8
|
|
11
|
+
|
|
12
|
+
# Defaults that seem fairly common
|
|
13
|
+
indent_style = space
|
|
14
|
+
indent_size = 2
|
|
15
|
+
|
|
16
|
+
# file-specific overrides
|
|
17
|
+
[CODEOWNERS]
|
|
18
|
+
indent_size = 8
|
data/.gitignore
ADDED
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
*.gem
|
|
2
|
+
.bundle/
|
|
3
|
+
Gemfile.lock
|
|
4
|
+
coverage
|
|
5
|
+
.internal_test_app
|
|
6
|
+
.ruby-version
|
|
7
|
+
.byebug_history
|
|
8
|
+
|
|
9
|
+
*.rbc
|
|
10
|
+
capybara-*.html
|
|
11
|
+
.rspec
|
|
12
|
+
/db/*.sqlite3
|
|
13
|
+
/db/*.sqlite3-journal
|
|
14
|
+
/db/*.sqlite3-[0-9]*
|
|
15
|
+
/public/system
|
|
16
|
+
/coverage/
|
|
17
|
+
/spec/tmp
|
|
18
|
+
*.orig
|
|
19
|
+
rerun.txt
|
|
20
|
+
pickle-email-*.html
|
|
21
|
+
|
|
22
|
+
# Ignore all logfiles and tempfiles.
|
|
23
|
+
/log/*
|
|
24
|
+
/tmp/*
|
|
25
|
+
!/log/.keep
|
|
26
|
+
!/tmp/.keep
|
|
27
|
+
|
|
28
|
+
# TODO Comment out this rule if you are OK with secrets being uploaded to the repo
|
|
29
|
+
config/initializers/secret_token.rb
|
|
30
|
+
config/master.key
|
|
31
|
+
|
|
32
|
+
# Only include if you have production secrets in this file, which is no longer a Rails default
|
|
33
|
+
# config/secrets.yml
|
|
34
|
+
|
|
35
|
+
# dotenv
|
|
36
|
+
# TODO Comment out this rule if environment variables can be committed
|
|
37
|
+
.env
|
|
38
|
+
|
|
39
|
+
## Environment normalization:
|
|
40
|
+
/.bundle
|
|
41
|
+
/vendor/bundle
|
|
42
|
+
|
|
43
|
+
# these should all be checked in to normalize the environment:
|
|
44
|
+
# Gemfile.lock, .ruby-version, .ruby-gemset
|
|
45
|
+
|
|
46
|
+
# unless supporting rvm < 1.11.0 or doing something fancy, ignore this:
|
|
47
|
+
.rvmrc
|
|
48
|
+
|
|
49
|
+
# if using bower-rails ignore default bower_components path bower.json files
|
|
50
|
+
/vendor/assets/bower_components
|
|
51
|
+
*.bowerrc
|
|
52
|
+
bower.json
|
|
53
|
+
|
|
54
|
+
# Ignore pow environment settings
|
|
55
|
+
.powenv
|
|
56
|
+
|
|
57
|
+
# Ignore Byebug command history file.
|
|
58
|
+
.byebug_history
|
|
59
|
+
|
|
60
|
+
# Ignore node_modules
|
|
61
|
+
node_modules/
|
|
62
|
+
|
|
63
|
+
# Ignore precompiled javascript packs
|
|
64
|
+
/public/packs
|
|
65
|
+
/public/packs-test
|
|
66
|
+
/public/assets
|
|
67
|
+
|
|
68
|
+
# Ignore yarn files
|
|
69
|
+
/yarn-error.log
|
|
70
|
+
yarn-debug.log*
|
|
71
|
+
.yarn-integrity
|
|
72
|
+
|
|
73
|
+
# Ignore uploaded files in development
|
|
74
|
+
/storage/*
|
|
75
|
+
!/storage/.keep
|
data/.standard.yml
ADDED
data/Gemfile
ADDED
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
source "https://rubygems.org"
|
|
2
|
+
|
|
3
|
+
# Declare your gem's dependencies in geoblacklight_admin.gemspec.
|
|
4
|
+
# Bundler will treat runtime dependencies like base dependencies, and
|
|
5
|
+
# development dependencies will be added by default to the :development group.
|
|
6
|
+
|
|
7
|
+
# Please see geoblacklight_admin.gemspec for dependency information.
|
|
8
|
+
gemspec
|
|
9
|
+
|
|
10
|
+
# Declare any dependencies that are still in development here instead of in
|
|
11
|
+
# your gemspec. These might include edge Rails or gems from your path or
|
|
12
|
+
# Git. Remember to move these dependencies to your gemspec before releasing
|
|
13
|
+
# your gem to rubygems.org.
|
|
14
|
+
|
|
15
|
+
group :development, :test do
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
# To use a debugger
|
|
19
|
+
# gem 'byebug', group: [:development, :test]
|
|
20
|
+
|
|
21
|
+
# BEGIN ENGINE_CART BLOCK
|
|
22
|
+
# engine_cart: 2.5.0
|
|
23
|
+
# engine_cart stanza: 2.5.0
|
|
24
|
+
# the below comes from engine_cart, a gem used to test this Rails engine gem in the context of a Rails app.
|
|
25
|
+
file = File.expand_path('Gemfile', ENV['ENGINE_CART_DESTINATION'] || ENV['RAILS_ROOT'] || File.expand_path('.internal_test_app', File.dirname(__FILE__)))
|
|
26
|
+
if File.exist?(file)
|
|
27
|
+
begin
|
|
28
|
+
eval_gemfile file
|
|
29
|
+
rescue Bundler::GemfileError => e
|
|
30
|
+
Bundler.ui.warn '[EngineCart] Skipping Rails application dependencies:'
|
|
31
|
+
Bundler.ui.warn e.message
|
|
32
|
+
end
|
|
33
|
+
else
|
|
34
|
+
Bundler.ui.warn "[EngineCart] Unable to find test application dependencies in #{file}, using placeholder dependencies"
|
|
35
|
+
gem "blacklight", "~> 7.33"
|
|
36
|
+
gem "blacklight_advanced_search"
|
|
37
|
+
gem "geoblacklight", ">= 4.0"
|
|
38
|
+
gem "statesman", ">= 3.4"
|
|
39
|
+
|
|
40
|
+
if ENV['RAILS_VERSION']
|
|
41
|
+
if ENV['RAILS_VERSION'] == 'edge'
|
|
42
|
+
gem 'rails', github: 'rails/rails'
|
|
43
|
+
ENV['ENGINE_CART_RAILS_OPTIONS'] = '--edge --skip-turbolinks'
|
|
44
|
+
else
|
|
45
|
+
gem 'rails', ENV['RAILS_VERSION']
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
case ENV['RAILS_VERSION']
|
|
49
|
+
when /^6.0/
|
|
50
|
+
gem 'sass-rails', '>= 6'
|
|
51
|
+
gem 'webpacker', '~> 4.0'
|
|
52
|
+
when /^5.[12]/
|
|
53
|
+
gem 'sass-rails', '~> 5.0'
|
|
54
|
+
gem 'sprockets', '~> 3.7'
|
|
55
|
+
gem 'thor', '~> 0.20'
|
|
56
|
+
end
|
|
57
|
+
end
|
|
58
|
+
end
|
|
59
|
+
# END ENGINE_CART BLOCK
|
data/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2023 Big Ten Academic Alliance Geospatial Information Network
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
data/README.md
ADDED
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
# geoblacklight_admin
|
|
2
|
+
|
|
3
|
+
GeoBlacklight Admin is a [GeoBlacklight](https://github.com/geoblacklight/geoblacklight) plugin, built on [Kithe](https://github.com/sciencehistory/kithe), that provides a complex web-form for editing documents and an CSV-based import/export workflow for OpenGeoMetadata's [Aardvark schema](https://opengeometadata.org/ogm-aardvark/). It's a Rubygem port of the Big Ten Academic Alliance's production workflow tool [GEOMG](https://github.com/geobtaa/geomg).
|
|
4
|
+
|
|
5
|
+
## Warning: Pre-Alpha
|
|
6
|
+
|
|
7
|
+
> :warning: This gem is not ready for public adoption yet, but hopefully someday soon (Late Summer 2023?). Feel free to kick the tires if you are curious and know GeoBlacklight's codebase/stack well.
|
|
8
|
+
|
|
9
|
+
## Requirements
|
|
10
|
+
|
|
11
|
+
* Blacklight v7 (not v8)
|
|
12
|
+
* GeoBlacklight v4 (not v3)
|
|
13
|
+
* Solr v8.4+
|
|
14
|
+
* PostgreSQL (not MySQL-based DBs)
|
|
15
|
+
* Redis (for Sidekiq)
|
|
16
|
+
* OpenGeoMetadata's Aardvark Schema
|
|
17
|
+
|
|
18
|
+
## Install Notes
|
|
19
|
+
|
|
20
|
+
### Terminal 1 - Drop/Create application PG database
|
|
21
|
+
```bash
|
|
22
|
+
psql postgres
|
|
23
|
+
DROP DATABASE geoblacklight_development;
|
|
24
|
+
CREATE DATABASE geoblacklight_development;
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
### Terminal 2 - Bundle and run generator
|
|
28
|
+
```bash
|
|
29
|
+
bundle install
|
|
30
|
+
bundle exec rake engine_cart:generate
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
When the .internal_test_app is built, edit `geoblacklight_admin_helper.rb`, and uncomment this Pagy include. Why including Pagy here breaks the entire generator build is beyond me...
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
# @TODO:
|
|
37
|
+
# Cannot generate app if uncommented...
|
|
38
|
+
# Uncomment after app is generated to fix view errors
|
|
39
|
+
# include ::Pagy::Frontend
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
### Terminal 2 - Seed and spin up server
|
|
43
|
+
```bash
|
|
44
|
+
cd .internal_test_app
|
|
45
|
+
bundle exec rake db:seed
|
|
46
|
+
bundle exec rake gbl_admin:server
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
You're now done generating the test app and populating the Elements / FormElements tables with the basic Aardvark controls.
|
|
50
|
+
|
|
51
|
+
### View App in Browser
|
|
52
|
+
|
|
53
|
+
1. Visit http://localhost:3000/admin
|
|
54
|
+
2. Click on the "Sign in" link
|
|
55
|
+
3. Enter email: admin@geoblacklight.org and password: 123456
|
|
56
|
+
4. Click on the "GBL Admin" link
|
|
57
|
+
5. Import some CSV
|
|
58
|
+
|
|
59
|
+
-----
|
|
60
|
+
|
|
61
|
+
### TODOs - Running list of things to accomplish
|
|
62
|
+
|
|
63
|
+
* ~~SolrWrapper - Add persist option~~
|
|
64
|
+
* ~~BlacklightApi returns not auth'd message (not requiring auth for now (not sensitive data))~~
|
|
65
|
+
* ~~Facet links need /admin nesting~~
|
|
66
|
+
* ~~Imports#new -- undefined method `imports_path'~~
|
|
67
|
+
* ~~Elements#index -- undefined method `element_path'~~
|
|
68
|
+
* ~~Imports#new -- cannot upload files~~
|
|
69
|
+
* ~~Import#run -- doesn't fire~~
|
|
70
|
+
* ~~Documents - JS actions not working~~
|
|
71
|
+
* ~~GBL needs to honor publication state~~
|
|
72
|
+
* ~~Add GBL Admin link to nav~~
|
|
73
|
+
* ~~Routes - Get devise user~~
|
|
74
|
+
* ~~No route matches [GET] "/users/sign_out"~~
|
|
75
|
+
* Bookmarks need to be Admin::Bookmarks
|
|
76
|
+
* Remove legacy GEOMG / B1G everywhere...
|
|
77
|
+
* Send GBLADMIN JavaScript pack to NPM like Blacklight
|
|
78
|
+
* Port the GEOMG test suite
|
|
79
|
+
* GitHub Actions / CI integration
|
|
80
|
+
* Project gem dependency injection redundancy...
|
|
81
|
+
* Likely a lot more polish to be uncovered...
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
|
data/Rakefile
ADDED
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require "rails"
|
|
4
|
+
begin
|
|
5
|
+
require "bundler/setup"
|
|
6
|
+
require "bundler/gem_tasks"
|
|
7
|
+
rescue LoadError
|
|
8
|
+
puts "You must `gem install bundler` and `bundle install` to run rake tasks"
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
Bundler::GemHelper.install_tasks
|
|
12
|
+
|
|
13
|
+
require "solr_wrapper"
|
|
14
|
+
|
|
15
|
+
require "rspec/core/rake_task"
|
|
16
|
+
RSpec::Core::RakeTask.new(:spec)
|
|
17
|
+
|
|
18
|
+
require "rubocop/rake_task"
|
|
19
|
+
RuboCop::RakeTask.new(:rubocop)
|
|
20
|
+
|
|
21
|
+
require "solr_wrapper/rake_task"
|
|
22
|
+
require "engine_cart/rake_task"
|
|
23
|
+
require "geoblacklight_admin/version"
|
|
24
|
+
|
|
25
|
+
desc "Run test suite"
|
|
26
|
+
task ci: ["engine_cart:generate"] do
|
|
27
|
+
ENV["environment"] = "test"
|
|
28
|
+
# run the tests
|
|
29
|
+
Rake::Task["test"].invoke
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
namespace :geoblacklight do
|
|
33
|
+
namespace :internal do
|
|
34
|
+
task seed: ["engine_cart:generate"] do
|
|
35
|
+
within_test_app do
|
|
36
|
+
# @TODO - Seed Elements / FormElements
|
|
37
|
+
# system "bundle exec rake gbl_admin:seed"
|
|
38
|
+
system "bundle exec rake geoblacklight:downloads:mkdir"
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
desc "Run Solr and seed with sample data"
|
|
44
|
+
task :solr do
|
|
45
|
+
if File.exist? EngineCart.destination
|
|
46
|
+
within_test_app do
|
|
47
|
+
system "bundle update"
|
|
48
|
+
end
|
|
49
|
+
else
|
|
50
|
+
Rake::Task["engine_cart:generate"].invoke
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
SolrWrapper.wrap(port: "8983") do |solr|
|
|
54
|
+
solr.with_collection(name: "blacklight-core", dir: File.join(File.expand_path(".", File.dirname(__FILE__)), "solr", "conf")) do
|
|
55
|
+
Rake::Task["geoblacklight:internal:seed"].invoke
|
|
56
|
+
|
|
57
|
+
within_test_app do
|
|
58
|
+
puts "\nSolr server running: http://localhost:#{solr.port}/solr/#/blacklight-core"
|
|
59
|
+
puts "\n^C to stop"
|
|
60
|
+
puts " "
|
|
61
|
+
begin
|
|
62
|
+
sleep
|
|
63
|
+
rescue Interrupt
|
|
64
|
+
puts "Shutting down..."
|
|
65
|
+
end
|
|
66
|
+
end
|
|
67
|
+
end
|
|
68
|
+
end
|
|
69
|
+
end
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
task default: %i[rubocop ci]
|
|
File without changes
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="archive" class="svg-inline--fa fa-archive fa-w-16" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M32 448c0 17.7 14.3 32 32 32h384c17.7 0 32-14.3 32-32V160H32v288zm160-212c0-6.6 5.4-12 12-12h104c6.6 0 12 5.4 12 12v8c0 6.6-5.4 12-12 12H204c-6.6 0-12-5.4-12-12v-8zM480 32H32C14.3 32 0 46.3 0 64v48c0 8.8 7.2 16 16 16h480c8.8 0 16-7.2 16-16V64c0-17.7-14.3-32-32-32z"></path></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg aria-hidden="true" focusable="false" data-prefix="far" data-icon="bookmark" class="svg-inline--fa fa-bookmark fa-w-12" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><path fill="currentColor" d="M336 0H48C21.49 0 0 21.49 0 48v464l192-112 192 112V48c0-26.51-21.49-48-48-48zm0 428.43l-144-84-144 84V54a6 6 0 0 1 6-6h276c3.314 0 6 2.683 6 5.996V428.43z"></path></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="bookmark" class="svg-inline--fa fa-bookmark fa-w-12" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><path fill="currentColor" d="M0 512V48C0 21.49 21.49 0 48 0h288c26.51 0 48 21.49 48 48v464L192 400 0 512z"></path></svg>
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="cloud-download-alt" class="svg-inline--fa fa-cloud-download-alt fa-w-20" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><path fill="currentColor" d="M537.6 226.6c4.1-10.7 6.4-22.4 6.4-34.6 0-53-43-96-96-96-19.7 0-38.1 6-53.3 16.2C367 64.2 315.3 32 256 32c-88.4 0-160 71.6-160 160 0 2.7.1 5.4.2 8.1C40.2 219.8 0 273.2 0 336c0 79.5 64.5 144 144 144h368c70.7 0 128-57.3 128-128 0-61.9-44-113.6-102.4-125.4zm-132.9 88.7L299.3 420.7c-6.2 6.2-16.4 6.2-22.6 0L171.3 315.3c-10.1-10.1-2.9-27.3 11.3-27.3H248V176c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16v112h65.4c14.2 0 21.4 17.2 11.3 27.3z"></path></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="file-import" class="svg-inline--fa fa-file-import fa-w-16" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M16 288c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h112v-64zm489-183L407.1 7c-4.5-4.5-10.6-7-17-7H384v128h128v-6.1c0-6.3-2.5-12.4-7-16.9zm-153 31V0H152c-13.3 0-24 10.7-24 24v264h128v-65.2c0-14.3 17.3-21.4 27.4-11.3L379 308c6.6 6.7 6.6 17.4 0 24l-95.7 96.4c-10.1 10.1-27.4 3-27.4-11.3V352H128v136c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H376c-13.2 0-24-10.8-24-24z"></path></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="trash-alt" class="svg-inline--fa fa-trash-alt fa-w-14" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M32 464a48 48 0 0 0 48 48h288a48 48 0 0 0 48-48V128H32zm272-256a16 16 0 0 1 32 0v224a16 16 0 0 1-32 0zm-96 0a16 16 0 0 1 32 0v224a16 16 0 0 1-32 0zm-96 0a16 16 0 0 1 32 0v224a16 16 0 0 1-32 0zM432 32H312l-9.4-18.7A24 24 0 0 0 281.1 0H166.8a23.72 23.72 0 0 0-21.4 13.3L136 32H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16z"></path></svg>
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
GBLADMIN.SetDateRangeInputs = function(startDate, endDate) {
|
|
2
|
+
// Set input start and end dates
|
|
3
|
+
// Try to reload
|
|
4
|
+
$('input#start-date').attr(
|
|
5
|
+
'value',
|
|
6
|
+
startDate.format(I18n.t('date.formats.momentjs_datepicker')
|
|
7
|
+
)
|
|
8
|
+
);
|
|
9
|
+
|
|
10
|
+
$('input#end-date').attr(
|
|
11
|
+
'value',
|
|
12
|
+
endDate.format(
|
|
13
|
+
I18n.t('date.formats.momentjs_datepicker')
|
|
14
|
+
)
|
|
15
|
+
);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
GBLADMIN.SetCompareRangeInputs = function(startDate, endDate) {
|
|
19
|
+
$('input#compare-start-date').attr(
|
|
20
|
+
'value',
|
|
21
|
+
startDate.format(
|
|
22
|
+
I18n.t('date.formats.momentjs_datepicker')
|
|
23
|
+
)
|
|
24
|
+
);
|
|
25
|
+
|
|
26
|
+
$('input#compare-end-date').attr(
|
|
27
|
+
'value',
|
|
28
|
+
endDate.format(
|
|
29
|
+
I18n.t('date.formats.momentjs_datepicker')
|
|
30
|
+
)
|
|
31
|
+
);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
// Use with moment.js subtract function
|
|
35
|
+
GBLADMIN.DateRangePeriod = function(opt) {
|
|
36
|
+
switch(opt){
|
|
37
|
+
case 'custom':
|
|
38
|
+
break;
|
|
39
|
+
case 'today':
|
|
40
|
+
return [0, 'days'];
|
|
41
|
+
case 'yesterday':
|
|
42
|
+
return [1, 'days'];
|
|
43
|
+
case 'lastweek':
|
|
44
|
+
return [1, 'weeks'];
|
|
45
|
+
case 'lastmonth':
|
|
46
|
+
return [1, 'months'];
|
|
47
|
+
case 'lastyear':
|
|
48
|
+
return [1, 'years'];
|
|
49
|
+
case 'last7days':
|
|
50
|
+
return [7, 'days'];
|
|
51
|
+
case 'last4weeks':
|
|
52
|
+
return [28, 'days'];
|
|
53
|
+
case 'last30days':
|
|
54
|
+
return [30, 'days'];
|
|
55
|
+
case 'last365days':
|
|
56
|
+
return [365, 'days'];
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
GBLADMIN.DateRangeSelect = function() {
|
|
61
|
+
var opt, startDate, endDate;
|
|
62
|
+
opt = $('#date-range').val();
|
|
63
|
+
|
|
64
|
+
switch(opt) {
|
|
65
|
+
case 'custom':
|
|
66
|
+
break;
|
|
67
|
+
case 'today':
|
|
68
|
+
startDate = moment().startOf('day');
|
|
69
|
+
endDate = moment().endOf('day');
|
|
70
|
+
break;
|
|
71
|
+
case 'yesterday':
|
|
72
|
+
startDate = moment().subtract(1, 'days').startOf('day');
|
|
73
|
+
endDate = moment().subtract(1, 'days').endOf('day');
|
|
74
|
+
break;
|
|
75
|
+
case 'lastweek':
|
|
76
|
+
startDate = moment().subtract(1, 'weeks').startOf('week');
|
|
77
|
+
endDate = moment().subtract(1, 'weeks').endOf('week');
|
|
78
|
+
break;
|
|
79
|
+
case 'lastmonth':
|
|
80
|
+
startDate = moment().subtract(1, 'months').startOf('month');
|
|
81
|
+
endDate = moment().subtract(1, 'months').endOf('month');
|
|
82
|
+
break;
|
|
83
|
+
case 'lastyear':
|
|
84
|
+
startDate = moment().subtract(1, 'years').startOf('year');
|
|
85
|
+
endDate = moment().subtract(1, 'years').endOf('year');
|
|
86
|
+
break;
|
|
87
|
+
case 'last7days':
|
|
88
|
+
startDate = moment().subtract(7, 'days').startOf('day');
|
|
89
|
+
endDate = moment().subtract(1, 'days').endOf('day');
|
|
90
|
+
break;
|
|
91
|
+
case 'last4weeks':
|
|
92
|
+
startDate = moment().subtract(28, 'days').startOf('day');
|
|
93
|
+
endDate = moment().subtract(1, 'days').endOf('day');
|
|
94
|
+
break;
|
|
95
|
+
case 'last30days':
|
|
96
|
+
startDate = moment().subtract(30, 'days').startOf('day');
|
|
97
|
+
endDate = moment().subtract(1, 'days').endOf('day');
|
|
98
|
+
break;
|
|
99
|
+
case 'last365days':
|
|
100
|
+
startDate = moment().subtract(365, 'days').startOf('day');
|
|
101
|
+
endDate = moment().subtract(1, 'days').endOf('day');
|
|
102
|
+
break;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
GBLADMIN.SetDateRangeInputs(startDate, endDate);
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
// @TODO: need to calculate display periodicity
|
|
109
|
+
// - might be day, week, month, year (custom range?)
|
|
110
|
+
// - calc display start-date, period (select opt)
|
|
111
|
+
// -
|
|
112
|
+
GBLADMIN.CompareRangeSelect = function(event) {
|
|
113
|
+
var dateOpt, compareOpt, period, startDate, endDate;
|
|
114
|
+
dateOpt = $('#date-range').val();
|
|
115
|
+
compareOpt = $('#compare-options').val();
|
|
116
|
+
period = GBLADMIN.DateRangePeriod(dateOpt);
|
|
117
|
+
|
|
118
|
+
startDate = moment(
|
|
119
|
+
$('#start-date').val(),
|
|
120
|
+
I18n.t('date.formats.momentjs_iso')
|
|
121
|
+
);
|
|
122
|
+
|
|
123
|
+
endDate = moment(
|
|
124
|
+
$('#end-date').val(),
|
|
125
|
+
I18n.t('date.formats.momentjs_iso')
|
|
126
|
+
);
|
|
127
|
+
|
|
128
|
+
switch(compareOpt) {
|
|
129
|
+
case 'custom':
|
|
130
|
+
break;
|
|
131
|
+
case 'previous_period':
|
|
132
|
+
startDate = moment(startDate).subtract(period[0], period[1]).startOf('day');
|
|
133
|
+
// console.log(startDate);
|
|
134
|
+
endDate = moment(endDate).subtract(period[0], period[1]).endOf('day');
|
|
135
|
+
// console.log(endDate);
|
|
136
|
+
break;
|
|
137
|
+
case 'previous_year':
|
|
138
|
+
startDate = moment(startDate).subtract(1, 'years').startOf('day');
|
|
139
|
+
endDate = moment(endDate).subtract(1, 'years').endOf('day');
|
|
140
|
+
break;
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
GBLADMIN.SetCompareRangeInputs(startDate, endDate);
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
GBLADMIN.DisplayCompareDateRange = function() {
|
|
147
|
+
if ($('#compare').prop('checked')) {
|
|
148
|
+
$("#compare-range").show();
|
|
149
|
+
$("#compare-options").prop('disabled', false);
|
|
150
|
+
$("#compare-start-date").prop('disabled', false);
|
|
151
|
+
$("#compare-end-date").prop('disabled', false);
|
|
152
|
+
} else {
|
|
153
|
+
$("#compare-range").hide();
|
|
154
|
+
$("#compare-options").prop('disabled', true);
|
|
155
|
+
$("#compare-start-date").prop('disabled', true);
|
|
156
|
+
$("#compare-end-date").prop('disabled', true);
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
GBLADMIN.ToggleDataTable = function(elm) {
|
|
161
|
+
var toggle;
|
|
162
|
+
$('.search-facet').hide();
|
|
163
|
+
toggle = $(elm).data('toggle');
|
|
164
|
+
$('#' + toggle).show();
|
|
165
|
+
};
|
|
166
|
+
|
|
167
|
+
GBLADMIN.ToggleCompare = function(elm) {
|
|
168
|
+
if ($('#compare').prop('checked')) {
|
|
169
|
+
$("input[name=compare]").val("true");
|
|
170
|
+
} else {
|
|
171
|
+
$("input[name=compare]").val("false");
|
|
172
|
+
}
|
|
173
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
// jQuery Ready
|
|
2
|
+
$(document).on('ready turbolinks:load', function() {
|
|
3
|
+
// Datepickers - YYYY-MM-DD
|
|
4
|
+
if($("input[data-js='datepicker']").length > 0) {
|
|
5
|
+
$("input[data-js='datepicker']").datepicker({
|
|
6
|
+
language: 'en',
|
|
7
|
+
format: 'yyyy-mm-dd',
|
|
8
|
+
'autoclose': true
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
// Datepickers - YYYY
|
|
13
|
+
if($("input[data-js='datepicker-years']").length > 0) {
|
|
14
|
+
$("input[data-js='datepicker-years']").datepicker({
|
|
15
|
+
language: 'en',
|
|
16
|
+
format: 'yyyy',
|
|
17
|
+
viewMode: "years",
|
|
18
|
+
minViewMode: "years",
|
|
19
|
+
'autoclose': true
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
});
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
GBLADMIN.SortElements = function(elm_container, change_url) {
|
|
2
|
+
console.log("Behavior added: Sort elements init")
|
|
3
|
+
var container, sort_lists;
|
|
4
|
+
container = $(elm_container);
|
|
5
|
+
|
|
6
|
+
container.sortable({
|
|
7
|
+
cursor: "pointer",
|
|
8
|
+
items: "> tr",
|
|
9
|
+
appendTo: "parent",
|
|
10
|
+
helper: "original",
|
|
11
|
+
handle: ".handle",
|
|
12
|
+
axis: "y"
|
|
13
|
+
});
|
|
14
|
+
|
|
15
|
+
container.on('sortupdate', function() {
|
|
16
|
+
console.log("Sorting");
|
|
17
|
+
var active_id_list, element;
|
|
18
|
+
|
|
19
|
+
element = $(this);
|
|
20
|
+
console.log(element);
|
|
21
|
+
|
|
22
|
+
active_id_list = $.map(
|
|
23
|
+
$(this).find('tr'), function (e) {
|
|
24
|
+
return $(e).data('id');
|
|
25
|
+
}
|
|
26
|
+
);
|
|
27
|
+
|
|
28
|
+
console.log(active_id_list);
|
|
29
|
+
console.log(change_url);
|
|
30
|
+
|
|
31
|
+
$.post(
|
|
32
|
+
change_url,
|
|
33
|
+
{
|
|
34
|
+
'id_list[]': active_id_list,
|
|
35
|
+
}
|
|
36
|
+
);
|
|
37
|
+
});
|
|
38
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
// Fields - JS Behaviors
|
|
2
|
+
|
|
3
|
+
// Disable Field if Persisted
|
|
4
|
+
GBLADMIN.DisableIfPersisted = function() {
|
|
5
|
+
if($('[data-persisted="true"]').length > 0) {
|
|
6
|
+
elms = $('[data-js="disable_if_persisted"]');
|
|
7
|
+
elms.each(function(i) {
|
|
8
|
+
$(this).prop( "disabled", true );
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
}
|