geoblacklight_admin 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
+
}
|