worthwhile 0.0.1.alpha → 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 +4 -4
- data/.gitignore +3 -1
- data/.rspec +1 -0
- data/.travis.yml +19 -0
- data/Gemfile +7 -11
- data/README.md +8 -12
- data/Rakefile +17 -2
- data/app/actors/concerns/worthwhile/manages_embargoes_actor.rb +79 -0
- data/app/actors/curation_concern/base_actor.rb +68 -0
- data/app/actors/curation_concern/generic_file_actor.rb +40 -0
- data/app/actors/curation_concern/generic_work_actor.rb +92 -0
- data/app/actors/curation_concern/linked_resource_actor.rb +4 -0
- data/app/assets/images/default.png +0 -0
- data/app/assets/images/nope.png +0 -0
- data/app/assets/javascripts/.gitkeep +0 -0
- data/app/assets/javascripts/modernizr.js +3 -0
- data/app/assets/javascripts/worthwhile/.gitkeep +0 -0
- data/app/assets/javascripts/worthwhile/accept_contributor_agreement.js +15 -0
- data/app/assets/javascripts/worthwhile/application.js +18 -0
- data/app/assets/javascripts/worthwhile/browse_everything_implement.js +7 -0
- data/app/assets/javascripts/worthwhile/embargoes.js +17 -0
- data/app/assets/javascripts/worthwhile/facet_mine.js +22 -0
- data/app/assets/javascripts/worthwhile/help_modal.js +36 -0
- data/app/assets/javascripts/worthwhile/link_groups.js.coffee +123 -0
- data/app/assets/javascripts/worthwhile/link_users.js.coffee +126 -0
- data/app/assets/javascripts/worthwhile/manage_repeating_fields.js +74 -0
- data/app/assets/javascripts/worthwhile/proxy_rights.js.coffee +95 -0
- data/app/assets/javascripts/worthwhile/proxy_submission.js +23 -0
- data/app/assets/javascripts/worthwhile/select_works.js.coffee +20 -0
- data/app/assets/javascripts/worthwhile/worthwhile.js +45 -0
- data/app/assets/stylesheets/worthwhile.css.scss +23 -0
- data/app/assets/stylesheets/worthwhile/_global-variables.css.scss +5 -0
- data/app/assets/stylesheets/worthwhile/_modules.css.scss +14 -0
- data/app/assets/stylesheets/worthwhile/_positioning.css.scss +138 -0
- data/app/assets/stylesheets/worthwhile/_theme.css.scss +46 -0
- data/app/assets/stylesheets/worthwhile/_typography.css.scss +142 -0
- data/app/assets/stylesheets/worthwhile/_variables_bootstrap.css.scss +7 -0
- data/app/assets/stylesheets/worthwhile/_worthwhile.css.scss +7 -0
- data/app/assets/stylesheets/worthwhile/downloads.css.scss +3 -0
- data/app/assets/stylesheets/worthwhile/help_requests.css.scss +3 -0
- data/app/assets/stylesheets/worthwhile/modules/accessibility.css.scss +50 -0
- data/app/assets/stylesheets/worthwhile/modules/accordion.css.scss +33 -0
- data/app/assets/stylesheets/worthwhile/modules/attributes.css.scss +26 -0
- data/app/assets/stylesheets/worthwhile/modules/classify_work.css.scss +100 -0
- data/app/assets/stylesheets/worthwhile/modules/collections.css.scss +42 -0
- data/app/assets/stylesheets/worthwhile/modules/embargoes.css.scss +15 -0
- data/app/assets/stylesheets/worthwhile/modules/emphatic_action_area.css.scss +14 -0
- data/app/assets/stylesheets/worthwhile/modules/forms.css.scss +116 -0
- data/app/assets/stylesheets/worthwhile/modules/multi_value_fields.css.scss +52 -0
- data/app/assets/stylesheets/worthwhile/modules/pagination.css.scss +4 -0
- data/app/assets/stylesheets/worthwhile/modules/search_results.css.scss +55 -0
- data/app/assets/stylesheets/worthwhile/modules/site_actions.css.scss +53 -0
- data/app/assets/stylesheets/worthwhile/modules/site_search.css.scss +46 -0
- data/app/controllers/catalog_controller.rb +3 -0
- data/app/controllers/collections_controller.rb +59 -0
- data/app/controllers/concerns/worthwhile/application_controller_behavior.rb +23 -0
- data/app/controllers/concerns/worthwhile/catalog_controller.rb +347 -0
- data/app/controllers/concerns/worthwhile/curation_concern_controller.rb +131 -0
- data/app/controllers/concerns/worthwhile/files_controller.rb +149 -0
- data/app/controllers/concerns/worthwhile/manages_embargoes.rb +22 -0
- data/app/controllers/concerns/worthwhile/parent_container.rb +31 -0
- data/app/controllers/concerns/worthwhile/themed_layout_controller.rb +31 -0
- data/app/controllers/concerns/worthwhile/without_namespace.rb +15 -0
- data/app/controllers/curation_concern/generic_files_controller.rb +6 -0
- data/app/controllers/curation_concern/generic_works_controller.rb +6 -0
- data/app/controllers/curation_concern/linked_resources_controller.rb +68 -0
- data/app/controllers/curation_concern/permissions_controller.rb +19 -0
- data/app/controllers/downloads_controller.rb +4 -0
- data/app/controllers/embargoes_controller.rb +44 -0
- data/app/controllers/leases_controller.rb +34 -0
- data/app/controllers/registrations_controller.rb +20 -0
- data/app/controllers/sessions_controller.rb +4 -0
- data/app/controllers/worthwhile/application_controller.rb +7 -0
- data/app/controllers/worthwhile/classify_concerns_controller.rb +35 -0
- data/app/datastreams/generic_work_metadata.rb +3 -0
- data/app/datastreams/worthwhile/generic_work_rdf_properties.rb +57 -0
- data/app/datastreams/worthwhile/properties_datastream.rb +28 -0
- data/app/helpers/curate/collections_helper.rb +133 -0
- data/app/helpers/worthwhile/ability_helper.rb +46 -0
- data/app/helpers/worthwhile/attribute_helper.rb +67 -0
- data/app/helpers/worthwhile/catalog_helper.rb +38 -0
- data/app/helpers/worthwhile/collections_helper.rb +19 -0
- data/app/helpers/worthwhile/embargo_helper.rb +17 -0
- data/app/helpers/worthwhile/generic_file_helper.rb +19 -0
- data/app/helpers/worthwhile/lease_helper.rb +18 -0
- data/app/helpers/worthwhile/main_app_helpers.rb +14 -0
- data/app/helpers/worthwhile/render_constraints_helper.rb +42 -0
- data/app/helpers/worthwhile/search_paths_helper.rb +13 -0
- data/app/helpers/worthwhile/thumbnail_helper.rb +11 -0
- data/app/helpers/worthwhile/title_helper.rb +23 -0
- data/app/helpers/worthwhile/url_helper.rb +16 -0
- data/app/inputs/multi_value_input.rb +72 -0
- data/app/models/collection.rb +15 -0
- data/app/models/concerns/curation_concern/collection_model.rb +62 -0
- data/app/models/concerns/curation_concern/curatable.rb +77 -0
- data/app/models/concerns/curation_concern/has_representative.rb +14 -0
- data/app/models/concerns/curation_concern/human_readable_type.rb +23 -0
- data/app/models/concerns/curation_concern/with_basic_metadata.rb +49 -0
- data/app/models/concerns/curation_concern/with_editors.rb +44 -0
- data/app/models/concerns/curation_concern/with_generic_files.rb +23 -0
- data/app/models/concerns/curation_concern/with_linked_resources.rb +21 -0
- data/app/models/concerns/curation_concern/work.rb +24 -0
- data/app/models/concerns/worthwhile/ability.rb +34 -0
- data/app/models/concerns/worthwhile/generic_file/versioned_content.rb +18 -0
- data/app/models/concerns/worthwhile/generic_file_base.rb +64 -0
- data/app/models/concerns/worthwhile/solr_document_behavior.rb +140 -0
- data/app/models/generic_work.rb +5 -0
- data/app/models/worthwhile/classify_concern.rb +47 -0
- data/app/models/worthwhile/content_version.rb +23 -0
- data/app/models/worthwhile/contributor_agreement.rb +23 -0
- data/app/models/worthwhile/generic_file.rb +5 -0
- data/app/models/worthwhile/linked_resource.rb +41 -0
- data/app/models/worthwhile/quick_classification_query.rb +31 -0
- data/app/services/worthwhile/curation_concern.rb +21 -0
- data/app/services/worthwhile/embargo_service.rb +26 -0
- data/app/services/worthwhile/lease_service.rb +23 -0
- data/app/views/catalog/_action_menu_partials/_collection.html.erb +27 -0
- data/app/views/catalog/_action_menu_partials/_default.html.erb +27 -0
- data/app/views/catalog/_document.html.erb +3 -0
- data/app/views/catalog/_document_list.html.erb +5 -0
- data/app/views/catalog/_home_text.html.erb +8 -0
- data/app/views/catalog/_index_default.html.erb +17 -0
- data/app/views/catalog/_index_header_list_default.html.erb +17 -0
- data/app/views/catalog/_navbar.html.erb +12 -0
- data/app/views/catalog/_show_partials/_default.html.erb +22 -0
- data/app/views/catalog/_show_partials/_default_details.html.erb +15 -0
- data/app/views/catalog/_show_partials/_facets.html.erb +52 -0
- data/app/views/catalog/index.html.erb +48 -0
- data/app/views/collections/_batch_edits_actions.html.erb +3 -0
- data/app/views/collections/_button_for_creating_empty_collection.html.erb +3 -0
- data/app/views/collections/_collection.html.erb +1 -0
- data/app/views/collections/_dashboard_document_list.html.erb +6 -0
- data/app/views/collections/_document_list.html.erb +7 -0
- data/app/views/collections/_edit_actions.html.erb +5 -0
- data/app/views/collections/_edit_descriptions.html.erb +20 -0
- data/app/views/collections/_form.html.erb +26 -0
- data/app/views/collections/_form_for_select_collection.html.erb +34 -0
- data/app/views/collections/_form_permission.html.erb +36 -0
- data/app/views/collections/_form_required_information.html.erb +11 -0
- data/app/views/collections/_identifier_and_action.html.erb +15 -0
- data/app/views/collections/_media_display.html.erb +1 -0
- data/app/views/collections/_paginate.html.erb +6 -0
- data/app/views/collections/_search_collection_dashboard_form.html.erb +10 -0
- data/app/views/collections/_show_actions.html.erb +8 -0
- data/app/views/collections/_show_descriptions.html.erb +10 -0
- data/app/views/collections/_show_fields.html.erb +0 -0
- data/app/views/collections/_single_item_action_fields.html.erb +6 -0
- data/app/views/collections/_sort_and_per_page.html.erb +29 -0
- data/app/views/collections/_view_type_group.html.erb +13 -0
- data/app/views/collections/edit.html.erb +22 -0
- data/app/views/collections/new.html.erb +15 -0
- data/app/views/collections/show.html.erb +24 -0
- data/app/views/curate/collections/_add_to_collection_modal.html.erb +15 -0
- data/app/views/curate/collections/_button_remove_from_collection.html.erb +6 -0
- data/app/views/curate/collections/_form_to_add_member.html.erb +27 -0
- data/app/views/curate/collections/add_member_form.html.erb +6 -0
- data/app/views/curation_concern/base/_attributes.html.erb +25 -0
- data/app/views/curation_concern/base/_collections.html.erb +26 -0
- data/app/views/curation_concern/base/_form.html.erb +27 -0
- data/app/views/curation_concern/base/_form_additional_information.html.erb +9 -0
- data/app/views/curation_concern/base/_form_content_license.html.erb +16 -0
- data/app/views/curation_concern/base/_form_contributor_agreement.html.erb +29 -0
- data/app/views/curation_concern/base/_form_descriptive_fields.erb +23 -0
- data/app/views/curation_concern/base/_form_files_and_links.html.erb +29 -0
- data/app/views/curation_concern/base/_form_permission.html.erb +52 -0
- data/app/views/curation_concern/base/_form_permission_embargo.html.erb +6 -0
- data/app/views/curation_concern/base/_form_permission_lease.html.erb +6 -0
- data/app/views/curation_concern/base/_form_permission_under_embargo.html.erb +16 -0
- data/app/views/curation_concern/base/_form_permission_under_lease.html.erb +18 -0
- data/app/views/curation_concern/base/_form_representative_image.html.erb +13 -0
- data/app/views/curation_concern/base/_form_required_information.html.erb +11 -0
- data/app/views/curation_concern/base/_form_supplementary_fields.html.erb +15 -0
- data/app/views/curation_concern/base/_legally_binding_text.html.erb +33 -0
- data/app/views/curation_concern/base/_related_files.html.erb +24 -0
- data/app/views/curation_concern/base/_related_resources.html.erb +40 -0
- data/app/views/curation_concern/base/_representative_media.html.erb +8 -0
- data/app/views/curation_concern/base/edit.html.erb +15 -0
- data/app/views/curation_concern/base/new.html.erb +14 -0
- data/app/views/curation_concern/base/show.html.erb +32 -0
- data/app/views/curation_concern/base/unauthorized.html.erb +3 -0
- data/app/views/curation_concern/generic_files/_form.html.erb +35 -0
- data/app/views/curation_concern/generic_files/_media_display.html.erb +20 -0
- data/app/views/curation_concern/generic_files/edit.html.erb +5 -0
- data/app/views/curation_concern/generic_files/show.html.erb +15 -0
- data/app/views/curation_concern/generic_works/_generic_work.html.erb +3 -0
- data/app/views/curation_concern/linked_resources/_form.html.erb +11 -0
- data/app/views/curation_concern/linked_resources/edit.html.erb +5 -0
- data/app/views/curation_concern/linked_resources/new.html.erb +5 -0
- data/app/views/curation_concern/permissions/confirm.html.erb +13 -0
- data/app/views/curation_concern/worthwhile/generic_files/_actions.html.erb +16 -0
- data/app/views/curation_concern/worthwhile/generic_files/_generic_file.html.erb +12 -0
- data/app/views/embargoes/_embargo_history.html.erb +7 -0
- data/app/views/embargoes/_list_active_embargoes.html.erb +16 -0
- data/app/views/embargoes/_list_deactivated_embargoes.html.erb +10 -0
- data/app/views/embargoes/_list_expired_active_embargoes.html.erb +44 -0
- data/app/views/embargoes/edit.html.erb +43 -0
- data/app/views/embargoes/index.html.erb +18 -0
- data/app/views/layouts/boilerplate.html.erb +22 -0
- data/app/views/layouts/common_objects.html.erb +36 -0
- data/app/views/layouts/curate_nd.html.erb +33 -0
- data/app/views/layouts/curate_nd/1_column.html.erb +22 -0
- data/app/views/layouts/curate_nd/2_column.html.erb +26 -0
- data/app/views/layouts/curate_nd/catalog.html.erb +38 -0
- data/app/views/layouts/curate_nd/dashboard.html.erb +22 -0
- data/app/views/leases/_lease_history.html.erb +7 -0
- data/app/views/leases/_list_active_leases.html.erb +16 -0
- data/app/views/leases/_list_deactivated_leases.html.erb +4 -0
- data/app/views/leases/_list_expired_active_leases.html.erb +38 -0
- data/app/views/leases/edit.html.erb +43 -0
- data/app/views/leases/index.html.erb +18 -0
- data/app/views/shared/_add_content.html.erb +32 -0
- data/app/views/shared/_brand_bar.html.erb +10 -0
- data/app/views/shared/_flash_message.html.erb +17 -0
- data/app/views/shared/_footer.html.erb +10 -0
- data/app/views/shared/_ga.html.erb +6 -0
- data/app/views/shared/_header.html.erb +12 -0
- data/app/views/shared/_my_actions.html.erb +21 -0
- data/app/views/shared/_site_actions.html.erb +7 -0
- data/app/views/shared/_site_search.html.erb +12 -0
- data/app/views/shared/_title_bar.html.erb +16 -0
- data/app/views/worthwhile/classify_concerns/new.html.erb +27 -0
- data/app/workers/visibility_copy_worker.rb +29 -0
- data/config/initializers/simple_form.rb +31 -0
- data/config/locales/sufia.en.yml +26 -0
- data/config/locales/worthwhile.en.yml +68 -0
- data/config/routes.rb +4 -0
- data/lib/generators/worthwhile/install_generator.rb +74 -0
- data/lib/generators/worthwhile/templates/worthwhile.css.scss +3 -0
- data/lib/generators/worthwhile/templates/worthwhile.js +1 -0
- data/lib/generators/worthwhile/templates/worthwhile_config.rb +3 -0
- data/lib/generators/worthwhile/templates/worthwhile_helper.rb +4 -0
- data/lib/worthwhile.rb +3 -1
- data/lib/worthwhile/configuration.rb +74 -0
- data/lib/worthwhile/controller_resource.rb +10 -0
- data/lib/worthwhile/engine.rb +20 -0
- data/lib/worthwhile/rails/routes.rb +78 -0
- data/lib/worthwhile/spec_support.rb +10 -0
- data/lib/worthwhile/version.rb +1 -1
- data/spec/abilities/generic_file_abilities_spec.rb +62 -0
- data/spec/abilities/generic_work_abilities_spec.rb +58 -0
- data/spec/actors/curation_concern/generic_work_actor_spec.rb +215 -0
- data/spec/actors/curation_concern/linked_resource_actor_spec.rb +36 -0
- data/spec/actors/worthwile/manages_embargoes_actor_spec.rb +95 -0
- data/spec/controllers/catalog_controller_spec.rb +114 -0
- data/spec/controllers/collections_controller_spec.rb +216 -0
- data/spec/controllers/curation_concern/generic_files_controller_spec.rb +258 -0
- data/spec/controllers/curation_concern/generic_works_controller_spec.rb +171 -0
- data/spec/controllers/curation_concern/linked_resources_controller_spec.rb +123 -0
- data/spec/controllers/curation_concern/permissions_controller_spec.rb +29 -0
- data/spec/controllers/downloads_controller_spec.rb +53 -0
- data/spec/controllers/embargoes_controller_spec.rb +107 -0
- data/spec/controllers/leases_controller_spec.rb +95 -0
- data/spec/controllers/worthwhile/classify_concerns_controller_spec.rb +35 -0
- data/spec/factories/collections_factory.rb +21 -0
- data/spec/factories/create_curation_concern.rb +3 -0
- data/spec/factories/generic_files.rb +18 -0
- data/spec/factories/generic_works.rb +37 -0
- data/spec/factories/linked_resources_factory.rb +18 -0
- data/spec/factories/users.rb +15 -0
- data/spec/features/add_external_link_spec.rb +25 -0
- data/spec/features/add_file_spec.rb +28 -0
- data/spec/features/collection_spec.rb +238 -0
- data/spec/features/embargo_spec.rb +45 -0
- data/spec/features/lease_spec.rb +43 -0
- data/spec/features/update_file_spec.rb +28 -0
- data/spec/fixtures/files/image.png +0 -0
- data/spec/helpers/catalog_helper_spec.rb +58 -0
- data/spec/helpers/configuration_helper_spec.rb +13 -0
- data/spec/helpers/render_constraints_helper_spec.rb +19 -0
- data/spec/helpers/thumbnail_helper_spec.rb +21 -0
- data/spec/helpers/url_helper_spec.rb +19 -0
- data/spec/matchers.rb +24 -0
- data/spec/matchers/metadata_field_matchers.rb +28 -0
- data/spec/models/collection_spec.rb +136 -0
- data/spec/models/curation_concern/collection_model_spec.rb +50 -0
- data/spec/models/curation_concern/work_spec.rb +30 -0
- data/spec/models/generic_work_spec.rb +24 -0
- data/spec/models/worthwhile/content_version_spec.rb +27 -0
- data/spec/models/worthwhile/generic_file_spec.rb +77 -0
- data/spec/models/worthwhile/linked_resource_spec.rb +76 -0
- data/spec/routing/worthwhile/routes_spec.rb +23 -0
- data/spec/services/embargo_service_spec.rb +38 -0
- data/spec/services/lease_service_spec.rb +37 -0
- data/spec/spec_helper.rb +30 -5
- data/spec/support/controllers/engine_helpers.rb +7 -0
- data/spec/support/curation_concern/factory_helpers.rb +14 -0
- data/spec/support/features.rb +19 -0
- data/spec/support/features/fixture_file_upload.rb +14 -0
- data/spec/support/features/session_helpers.rb +41 -0
- data/spec/support/shared/shared_examples_has_dc_metadata.rb +17 -0
- data/spec/support/shared/shared_examples_is_a_curation_concern_model.rb +40 -0
- data/spec/support/shared/shared_examples_is_embargoable.rb +8 -0
- data/spec/support/shared/shared_examples_with_access_rights.rb +63 -0
- data/spec/test_app_templates/lib/generators/test_app_generator.rb +8 -29
- data/spec/views/curation_concern/base/_attributes.html.erb_spec.rb +25 -0
- data/spec/views/curation_concern/base/show.html.erb_spec.rb +25 -0
- data/spec/views/shared/_add_content.html.erb_spec.rb +42 -0
- data/spec/views/shared/_my_actions.html.erb_spec.rb +23 -0
- data/spec/workers/visibility_copy_worker_spec.rb +68 -0
- data/vendor/assets/images/ui-bg_glass_100_fdf5ce_1x400.png +0 -0
- data/vendor/assets/images/ui-bg_highlight-soft_100_eeeeee_1x100.png +0 -0
- data/vendor/assets/javascripts/handlebars.js +2278 -0
- data/vendor/assets/javascripts/jquery-ui-1.9.2/jquery.ui.autocomplete.js +602 -0
- data/vendor/assets/javascripts/jquery-ui-1.9.2/jquery.ui.core.js +356 -0
- data/vendor/assets/javascripts/jquery-ui-1.9.2/jquery.ui.effect-highlight.js +50 -0
- data/vendor/assets/javascripts/jquery-ui-1.9.2/jquery.ui.effect.js +1276 -0
- data/vendor/assets/javascripts/jquery-ui-1.9.2/jquery.ui.menu.js +610 -0
- data/vendor/assets/javascripts/jquery-ui-1.9.2/jquery.ui.position.js +498 -0
- data/vendor/assets/javascripts/jquery-ui-1.9.2/jquery.ui.widget.js +528 -0
- data/vendor/assets/javascripts/jquery.tokeninput.js +1061 -0
- data/vendor/assets/stylesheets/jquery-ui-lightness.css +474 -0
- data/vendor/assets/stylesheets/token-input-facebook.css +122 -0
- data/vendor/assets/stylesheets/token-input-mac.css +204 -0
- data/vendor/assets/stylesheets/token-input.css +127 -0
- data/worthwhile.gemspec +9 -3
- metadata +469 -9
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
//= require jquery-ui-1.9.2/jquery.ui.widget
|
|
2
|
+
//= require jquery-ui-1.9.2/jquery.ui.core
|
|
3
|
+
//= require jquery-ui-1.9.2/jquery.ui.menu
|
|
4
|
+
//= require jquery-ui-1.9.2/jquery.ui.position
|
|
5
|
+
//= require jquery-ui-1.9.2/jquery.ui.autocomplete
|
|
6
|
+
//
|
|
7
|
+
//= require blacklight/blacklight
|
|
8
|
+
//
|
|
9
|
+
//= require bootstrap/dropdown
|
|
10
|
+
//= require bootstrap/button
|
|
11
|
+
//= require bootstrap/collapse
|
|
12
|
+
//= require bootstrap/tooltip
|
|
13
|
+
//= require bootstrap/popover
|
|
14
|
+
//= require bootstrap/tab
|
|
15
|
+
//
|
|
16
|
+
//= require handlebars
|
|
17
|
+
//= require jquery.tokeninput
|
|
18
|
+
//= require worthwhile/worthwhile
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
Blacklight.onLoad(function () {
|
|
2
|
+
$("[data-behavior=\"extra\"]").hide()
|
|
3
|
+
function reveal(id) {
|
|
4
|
+
$("[data-behavior=\"extra\"][data-id=\"" + id + "\"]").show();
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
function hide(id) {
|
|
8
|
+
$("[data-behavior=\"extra\"][data-id=\"" + id + "\"]").hide();
|
|
9
|
+
}
|
|
10
|
+
$(".batch_document_selector").click(function() {
|
|
11
|
+
if (this.checked) {
|
|
12
|
+
reveal($(this).attr('value'));
|
|
13
|
+
} else {
|
|
14
|
+
hide($(this).attr('value'));
|
|
15
|
+
}
|
|
16
|
+
})
|
|
17
|
+
});
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
//= require blacklight/core
|
|
2
|
+
(function($) {
|
|
3
|
+
var facet_mine_behavior = function() {
|
|
4
|
+
$('#aux-search-submit-header').hide();
|
|
5
|
+
|
|
6
|
+
$('input[name="works"]').on("change", function(e) {
|
|
7
|
+
$(this).closest('form').submit();
|
|
8
|
+
});
|
|
9
|
+
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
// TODO when we upgrade blacklight to 4.4+, we can use Blacklight.onLoad()
|
|
14
|
+
if (typeof Turbolinks !== "undefined") {
|
|
15
|
+
$(document).on('page:load', function() {
|
|
16
|
+
facet_mine_behavior();
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
$(document).ready(function() {
|
|
20
|
+
facet_mine_behavior();
|
|
21
|
+
});
|
|
22
|
+
})(jQuery);
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
$(function(){
|
|
2
|
+
var $window = $(window),
|
|
3
|
+
$modal = $('#ajax-modal'),
|
|
4
|
+
resolution = screen.width + 'x' + screen.height,
|
|
5
|
+
viewport = $window.width() + 'x' + $window.height(),
|
|
6
|
+
current_url = document.location.href;
|
|
7
|
+
|
|
8
|
+
function populateHelpForm(){
|
|
9
|
+
// Removing the "NOT" portion
|
|
10
|
+
$('#help-js strong').remove();
|
|
11
|
+
$('#help_request_javascript_enabled').val(1);
|
|
12
|
+
|
|
13
|
+
$('#help-resolution').text(resolution);
|
|
14
|
+
$('#help_request_resolution').val(resolution);
|
|
15
|
+
|
|
16
|
+
$('#help-viewport').text(viewport);
|
|
17
|
+
$('#help_request_view_port').val(viewport);
|
|
18
|
+
|
|
19
|
+
$('#help-url').text(current_url);
|
|
20
|
+
$('#help_request_current_url').val(current_url);
|
|
21
|
+
}
|
|
22
|
+
populateHelpForm();
|
|
23
|
+
|
|
24
|
+
$('.request-help').on('click', function(event){
|
|
25
|
+
event.preventDefault();
|
|
26
|
+
|
|
27
|
+
$('body').modalmanager('loading');
|
|
28
|
+
|
|
29
|
+
setTimeout(function(){
|
|
30
|
+
$modal.load('/help_requests/new #new_help_request', function(){
|
|
31
|
+
$modal.modal();
|
|
32
|
+
populateHelpForm();
|
|
33
|
+
});
|
|
34
|
+
}, 1000);
|
|
35
|
+
});
|
|
36
|
+
});
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
(($, window, document) ->
|
|
2
|
+
$this = undefined
|
|
3
|
+
|
|
4
|
+
# default settings
|
|
5
|
+
_settings =
|
|
6
|
+
default: 'cool!'
|
|
7
|
+
|
|
8
|
+
_remover = $("<button class=\"btn btn-danger remove\"><i class=\"icon-white glyphicon-minus\"></i><span>Remove</span></button>")
|
|
9
|
+
_adder = $("<button class=\"btn btn-success add\"><i class=\"icon-white glyphicon-plus\"></i><span>Add</span></button>")
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
# This is your public API (no leading underscore, see?)
|
|
13
|
+
# All public methods must return $this so your plugin is chainable.
|
|
14
|
+
methods =
|
|
15
|
+
init: (options) ->
|
|
16
|
+
$this = $(@)
|
|
17
|
+
# The settings object is available under its name: _settings. Let's
|
|
18
|
+
# expand it with any custom options the user provided.
|
|
19
|
+
$.extend _settings, (options or {})
|
|
20
|
+
# Do anything that actually inits your plugin, if needed, right now!
|
|
21
|
+
# An important thing to keep in mind, is that jQuery plugins should be
|
|
22
|
+
# built so that one can apply them to more than one element, like so:
|
|
23
|
+
#
|
|
24
|
+
# $('.matching-elements, #another-one').foobar()
|
|
25
|
+
#
|
|
26
|
+
|
|
27
|
+
#This code sets up all the "Add" and "Remove" buttons for the autocomplete fields.
|
|
28
|
+
|
|
29
|
+
#For each autocomplete set on the page, add the "Add" and "Remove" buttons
|
|
30
|
+
$this.each (index, el) ->
|
|
31
|
+
$('.autocomplete-groups').each (index, el) ->
|
|
32
|
+
_internals.autocompleteGroups(el)
|
|
33
|
+
|
|
34
|
+
#Make sure these buttons have unique id's
|
|
35
|
+
_adder.id = "adder_" + index
|
|
36
|
+
_remover.id = "remover_" + index
|
|
37
|
+
|
|
38
|
+
#Add the "Remove" button
|
|
39
|
+
$('.field-wrapper:not(:last-child) .field-controls', this).append(_remover.clone())
|
|
40
|
+
|
|
41
|
+
#Add the "Add" button
|
|
42
|
+
$('.field-controls:last', this).append(_adder.clone())
|
|
43
|
+
|
|
44
|
+
#Bind the buttons to onClick events
|
|
45
|
+
$(el).on 'click', 'button.add', (e) ->
|
|
46
|
+
_internals.addToList(this)
|
|
47
|
+
$(el).on 'click', 'button.remove', (e) ->
|
|
48
|
+
_internals.removeFromList(this)
|
|
49
|
+
|
|
50
|
+
return $this
|
|
51
|
+
|
|
52
|
+
# This method is often overlooked.
|
|
53
|
+
destroy: ->
|
|
54
|
+
# Do anything to clean it up (nullify references, unbind events…).
|
|
55
|
+
return $this
|
|
56
|
+
|
|
57
|
+
_internals =
|
|
58
|
+
addToList: (el) ->
|
|
59
|
+
$activeControls = $(el).closest('.field-controls')
|
|
60
|
+
$listing = $activeControls.closest('.listing')
|
|
61
|
+
$('.add', $activeControls).remove()
|
|
62
|
+
$removeControl = _remover.clone()
|
|
63
|
+
$activeControls.prepend($removeControl)
|
|
64
|
+
_internals.newRow($listing, el)
|
|
65
|
+
false
|
|
66
|
+
|
|
67
|
+
newRow: ($listing, el) ->
|
|
68
|
+
$listing.append _internals.newListItem($('li', $listing).size(), $listing, el)
|
|
69
|
+
_internals.autocompleteGroups($('.autocomplete-groups:last', $listing))
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
removeFromList: (el) ->
|
|
73
|
+
$currentGroup = $(el).closest('li')
|
|
74
|
+
$listing = $currentGroup.closest('.listing')
|
|
75
|
+
$currentGroup.hide()
|
|
76
|
+
# set the destroy flag
|
|
77
|
+
$('input:not([value])', $currentGroup).val('true')
|
|
78
|
+
false
|
|
79
|
+
|
|
80
|
+
newListItem: (index, el) ->
|
|
81
|
+
## We have multiple places in a view where we need these autocomplete fields
|
|
82
|
+
## (Work edit view for example), so we don't want to use the first #entry-template.
|
|
83
|
+
## Using .closest isn't working, but this seems to for now.
|
|
84
|
+
source = $(el).parent().children().html()
|
|
85
|
+
template = Handlebars.compile(source)
|
|
86
|
+
template({index: index})
|
|
87
|
+
|
|
88
|
+
addExistingGroup: ($listItem, value, label) ->
|
|
89
|
+
source = $listItem.parent().prev().html()
|
|
90
|
+
template = Handlebars.compile(source)
|
|
91
|
+
$list = $listItem.closest('ul')
|
|
92
|
+
$('input[required]', $list).removeAttr('required')
|
|
93
|
+
$listItem.replaceWith template({index: $('li', $list).index($listItem), value: value, label: label})
|
|
94
|
+
_internals.newRow($list)
|
|
95
|
+
|
|
96
|
+
autocompleteGroups: (el) ->
|
|
97
|
+
$targetElement = $(el)
|
|
98
|
+
$targetElement.autocomplete
|
|
99
|
+
source: (request, response) ->
|
|
100
|
+
$targetElement.data('url')
|
|
101
|
+
$.getJSON $targetElement.data('url'), { q: request.term + "*" }, ( data, status, xhr ) ->
|
|
102
|
+
matches = []
|
|
103
|
+
$.each data.response.docs, (idx, val) ->
|
|
104
|
+
matches.push {label: val['desc_metadata__title_tesim'][0], value: val['id']}
|
|
105
|
+
response( matches )
|
|
106
|
+
minLength: 2
|
|
107
|
+
focus: ( event, ui ) ->
|
|
108
|
+
$targetElement.val(ui.item.label)
|
|
109
|
+
event.preventDefault()
|
|
110
|
+
select: ( event, ui ) ->
|
|
111
|
+
_internals.addExistingGroup($targetElement.closest('li'), ui.item.value, ui.item.label)
|
|
112
|
+
$targetElement.val('')
|
|
113
|
+
event.preventDefault()
|
|
114
|
+
|
|
115
|
+
|
|
116
|
+
$.fn.linkGroups = (method) ->
|
|
117
|
+
if methods[method]
|
|
118
|
+
methods[method].apply this, Array::slice.call(arguments, 1)
|
|
119
|
+
else if typeof method is "object" or not method
|
|
120
|
+
methods.init.apply this, arguments
|
|
121
|
+
else
|
|
122
|
+
$.error "Method " + method + " does not exist on jquery.linkGroups"
|
|
123
|
+
) jQuery, window, document
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
(($, window, document) ->
|
|
2
|
+
$this = undefined
|
|
3
|
+
|
|
4
|
+
# default settings
|
|
5
|
+
_settings =
|
|
6
|
+
default: 'cool!'
|
|
7
|
+
|
|
8
|
+
_remover = $("<button class=\"btn btn-danger remove\"><i class=\"icon-white icon-minus\"></i><span>Remove</span></button>")
|
|
9
|
+
_adder = $("<button class=\"btn btn-success add\"><i class=\"icon-white icon-plus\"></i><span>Add</span></button>")
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
# This is your public API (no leading underscore, see?)
|
|
13
|
+
# All public methods must return $this so your plugin is chainable.
|
|
14
|
+
methods =
|
|
15
|
+
init: (options) ->
|
|
16
|
+
$this = $(@)
|
|
17
|
+
# The settings object is available under its name: _settings. Let's
|
|
18
|
+
# expand it with any custom options the user provided.
|
|
19
|
+
$.extend _settings, (options or {})
|
|
20
|
+
# Do anything that actually inits your plugin, if needed, right now!
|
|
21
|
+
# An important thing to keep in mind, is that jQuery plugins should be
|
|
22
|
+
# built so that one can apply them to more than one element, like so:
|
|
23
|
+
#
|
|
24
|
+
# $('.matching-elements, #another-one').foobar()
|
|
25
|
+
#
|
|
26
|
+
|
|
27
|
+
#This code sets up all the "Add" and "Remove" buttons for the autocomplete fields.
|
|
28
|
+
|
|
29
|
+
#For each autocomplete set on the page, add the "Add" and "Remove" buttons
|
|
30
|
+
$this.each (index, el) ->
|
|
31
|
+
$('.autocomplete-users').each (index, el) ->
|
|
32
|
+
_internals.autocompleteUsers(el)
|
|
33
|
+
|
|
34
|
+
#Make sure these buttons have unique id's
|
|
35
|
+
_adder.id = "adder_" + index
|
|
36
|
+
_remover.id = "remover_" + index
|
|
37
|
+
|
|
38
|
+
#Add the "Remove" button
|
|
39
|
+
$('.field-wrapper:not(:last-child) .field-controls', this).append(_remover.clone())
|
|
40
|
+
|
|
41
|
+
#Add the "Add" button
|
|
42
|
+
$('.field-controls:last', this).append(_adder.clone())
|
|
43
|
+
|
|
44
|
+
#Bind the buttons to onClick events
|
|
45
|
+
$(el).on 'click', 'button.add', (e) ->
|
|
46
|
+
_internals.addToList(this)
|
|
47
|
+
$(el).on 'click', 'button.remove', (e) ->
|
|
48
|
+
_internals.removeFromList(this)
|
|
49
|
+
|
|
50
|
+
return $this
|
|
51
|
+
|
|
52
|
+
# This method is often overlooked.
|
|
53
|
+
destroy: ->
|
|
54
|
+
# Do anything to clean it up (nullify references, unbind events…).
|
|
55
|
+
return $this
|
|
56
|
+
|
|
57
|
+
_internals =
|
|
58
|
+
addToList: (el) ->
|
|
59
|
+
$activeControls = $(el).closest('.field-controls')
|
|
60
|
+
$listing = $activeControls.closest('.listing')
|
|
61
|
+
$('.add', $activeControls).remove()
|
|
62
|
+
$removeControl = _remover.clone()
|
|
63
|
+
$activeControls.prepend($removeControl)
|
|
64
|
+
_internals.newRow($listing, el)
|
|
65
|
+
false
|
|
66
|
+
|
|
67
|
+
newRow: ($listing, el) ->
|
|
68
|
+
$listing.append _internals.newListItem($('li', $listing).size(), $listing, el)
|
|
69
|
+
_internals.autocompleteUsers($('.autocomplete-users:last', $listing))
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
removeFromList: (el) ->
|
|
73
|
+
$currentUser = $(el).closest('li')
|
|
74
|
+
$listing = $currentUser.closest('.listing')
|
|
75
|
+
$currentUser.hide()
|
|
76
|
+
# set the destroy flag
|
|
77
|
+
$('input:not([value])', $currentUser).val('true')
|
|
78
|
+
false
|
|
79
|
+
|
|
80
|
+
newListItem: (index, el) ->
|
|
81
|
+
## We have multiple places in a view where we need these autocomplete fields
|
|
82
|
+
## (Work edit view for example), so we don't want to use the first #entry-template.
|
|
83
|
+
## Using .closest isn't working, but this seems to for now.
|
|
84
|
+
source = $(el).parent().children().html()
|
|
85
|
+
template = Handlebars.compile(source)
|
|
86
|
+
template({index: index})
|
|
87
|
+
|
|
88
|
+
addExistingUser: ($listItem, value, label) ->
|
|
89
|
+
## We have multiple places in a view where we need these autocomplete fields
|
|
90
|
+
## (Work edit view for example), so we don't want to use the first #existing-user-template.
|
|
91
|
+
## Using .closest isn't working, but this seems to for now.
|
|
92
|
+
source = $listItem.parent().prev().html()
|
|
93
|
+
template = Handlebars.compile(source)
|
|
94
|
+
$list = $listItem.closest('ul')
|
|
95
|
+
$('input[required]', $list).removeAttr('required')
|
|
96
|
+
$listItem.replaceWith template({index: $('li', $list).index($listItem), value: value, label: label})
|
|
97
|
+
_internals.newRow($list)
|
|
98
|
+
|
|
99
|
+
autocompleteUsers: (el) ->
|
|
100
|
+
$targetElement = $(el)
|
|
101
|
+
$targetElement.autocomplete
|
|
102
|
+
source: (request, response) ->
|
|
103
|
+
$targetElement.data('url')
|
|
104
|
+
$.getJSON $targetElement.data('url'), { q: request.term + "*" }, ( data, status, xhr ) ->
|
|
105
|
+
matches = []
|
|
106
|
+
$.each data.response.docs, (idx, val) ->
|
|
107
|
+
matches.push {label: val['desc_metadata__name_tesim'][0], value: val['id']}
|
|
108
|
+
response( matches )
|
|
109
|
+
minLength: 2
|
|
110
|
+
focus: ( event, ui ) ->
|
|
111
|
+
$targetElement.val(ui.item.label)
|
|
112
|
+
event.preventDefault()
|
|
113
|
+
select: ( event, ui ) ->
|
|
114
|
+
_internals.addExistingUser($targetElement.closest('li'), ui.item.value, ui.item.label)
|
|
115
|
+
$targetElement.val('')
|
|
116
|
+
event.preventDefault()
|
|
117
|
+
|
|
118
|
+
|
|
119
|
+
$.fn.linkUsers = (method) ->
|
|
120
|
+
if methods[method]
|
|
121
|
+
methods[method].apply this, Array::slice.call(arguments, 1)
|
|
122
|
+
else if typeof method is "object" or not method
|
|
123
|
+
methods.init.apply this, arguments
|
|
124
|
+
else
|
|
125
|
+
$.error "Method " + method + " does not exist on jquery.linkUsers"
|
|
126
|
+
) jQuery, window, document
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
// This widget manages the adding and removing of repeating fields.
|
|
2
|
+
// There are a lot of assumptions about the structure of the classes and elements.
|
|
3
|
+
// These assumptions are reflected in the MultiValueInput class.
|
|
4
|
+
|
|
5
|
+
(function($){
|
|
6
|
+
$.widget( "curate.manage_fields", {
|
|
7
|
+
options: {
|
|
8
|
+
change: null,
|
|
9
|
+
add: null,
|
|
10
|
+
remove: null
|
|
11
|
+
},
|
|
12
|
+
|
|
13
|
+
_create: function() {
|
|
14
|
+
this.element.addClass("managed");
|
|
15
|
+
$('.field-wrapper', this.element).addClass("input-group input-append");
|
|
16
|
+
|
|
17
|
+
this.controls = $("<span class=\"input-group-btn field-controls\">");
|
|
18
|
+
this.remover = $("<button class=\"btn btn-danger remove\"><i class=\"icon-white glyphicon-minus\"></i><span>Remove</span></button>");
|
|
19
|
+
this.adder = $("<button class=\"btn btn-success add\"><i class=\"icon-white glyphicon-plus\"></i><span>Add</span></button>");
|
|
20
|
+
|
|
21
|
+
$('.field-wrapper', this.element).append(this.controls);
|
|
22
|
+
$('.field-wrapper:not(:last-child) .field-controls', this.element).append(this.remover);
|
|
23
|
+
$('.field-controls:last', this.element).append(this.adder);
|
|
24
|
+
|
|
25
|
+
this._on( this.element, {
|
|
26
|
+
"click .remove": "remove_from_list",
|
|
27
|
+
"click .add": "add_to_list"
|
|
28
|
+
});
|
|
29
|
+
},
|
|
30
|
+
|
|
31
|
+
add_to_list: function( event ) {
|
|
32
|
+
event.preventDefault();
|
|
33
|
+
|
|
34
|
+
var $activeField = $(event.target).parents('.field-wrapper'),
|
|
35
|
+
$activeFieldControls = $activeField.children('.field-controls'),
|
|
36
|
+
$removeControl = this.remover.clone(),
|
|
37
|
+
$newField = $activeField.clone(),
|
|
38
|
+
$listing = $('.listing', this.element),
|
|
39
|
+
$warningMessage = $("<div class=\'message has-warning\'>cannot add new empty field</div>");
|
|
40
|
+
if ($activeField.children('input').val() === '') {
|
|
41
|
+
$listing.children('.has-warning').remove();
|
|
42
|
+
$listing.append($warningMessage);
|
|
43
|
+
}
|
|
44
|
+
else{
|
|
45
|
+
$listing.children('.has-warning').remove();
|
|
46
|
+
$('.add', $activeFieldControls).remove();
|
|
47
|
+
$activeFieldControls.prepend($removeControl);
|
|
48
|
+
$newChildren = $newField.children('input');
|
|
49
|
+
$newChildren.
|
|
50
|
+
val('').
|
|
51
|
+
removeProp('required');
|
|
52
|
+
$listing.append($newField);
|
|
53
|
+
$newChildren.first().focus();
|
|
54
|
+
this._trigger("add");
|
|
55
|
+
}
|
|
56
|
+
},
|
|
57
|
+
|
|
58
|
+
remove_from_list: function( event ) {
|
|
59
|
+
event.preventDefault();
|
|
60
|
+
|
|
61
|
+
$(event.target)
|
|
62
|
+
.parents('.field-wrapper')
|
|
63
|
+
.remove();
|
|
64
|
+
|
|
65
|
+
this._trigger("remove");
|
|
66
|
+
},
|
|
67
|
+
|
|
68
|
+
_destroy: function() {
|
|
69
|
+
this.actions.remove();
|
|
70
|
+
$('.field-wrapper', this.element).removeClass("input-append");
|
|
71
|
+
this.element.removeClass( "managed" );
|
|
72
|
+
}
|
|
73
|
+
});
|
|
74
|
+
})(jQuery);
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
(($, window, document) ->
|
|
2
|
+
$this = undefined
|
|
3
|
+
|
|
4
|
+
# default settings
|
|
5
|
+
_settings =
|
|
6
|
+
default: 'cool!'
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
# This is your public API (no leading underscore, see?)
|
|
10
|
+
# All public methods must return $this so your plugin is chainable.
|
|
11
|
+
methods =
|
|
12
|
+
init: (options) ->
|
|
13
|
+
$this = $(@)
|
|
14
|
+
# The settings object is available under its name: _settings. Let's
|
|
15
|
+
# expand it with any custom options the user provided.
|
|
16
|
+
$.extend _settings, (options or {})
|
|
17
|
+
# Do anything that actually inits your plugin, if needed, right now!
|
|
18
|
+
# An important thing to keep in mind, is that jQuery plugins should be
|
|
19
|
+
# built so that one can apply them to more than one element, like so:
|
|
20
|
+
#
|
|
21
|
+
# $('.matching-elements, #another-one').foobar()
|
|
22
|
+
#
|
|
23
|
+
$this.each (index, el) ->
|
|
24
|
+
$('#user').each (index, el) ->
|
|
25
|
+
_internals.autocompleteUsers(el)
|
|
26
|
+
|
|
27
|
+
$(el).on 'click', '.remove-proxy-button', _internals.removeContributor
|
|
28
|
+
|
|
29
|
+
return $this
|
|
30
|
+
|
|
31
|
+
# This method is often overlooked.
|
|
32
|
+
destroy: ->
|
|
33
|
+
# Do anything to clean it up (nullify references, unbind events…).
|
|
34
|
+
return $this
|
|
35
|
+
|
|
36
|
+
_internals =
|
|
37
|
+
addContributor: (name, id) ->
|
|
38
|
+
source = $("#tmpl-proxy-row").html()
|
|
39
|
+
template = Handlebars.compile(source)
|
|
40
|
+
row = template({name: name, id: id})
|
|
41
|
+
$('#authorizedProxies tbody', $this).append(row)
|
|
42
|
+
|
|
43
|
+
# if (settings.afterAdd) {
|
|
44
|
+
# settings.afterAdd(this, cloneElem)
|
|
45
|
+
# }
|
|
46
|
+
|
|
47
|
+
$.ajax({
|
|
48
|
+
type: "POST",
|
|
49
|
+
url: 'depositors',
|
|
50
|
+
dataType: 'json',
|
|
51
|
+
data: {grantee_id: id}
|
|
52
|
+
})
|
|
53
|
+
|
|
54
|
+
false
|
|
55
|
+
|
|
56
|
+
removeContributor: ->
|
|
57
|
+
# remove the row
|
|
58
|
+
$.ajax({
|
|
59
|
+
url: $(this).closest('a').prop('href'),
|
|
60
|
+
type: "post",
|
|
61
|
+
dataType: "json",
|
|
62
|
+
data: {"_method":"delete"}
|
|
63
|
+
})
|
|
64
|
+
$(this).closest('tr').remove()
|
|
65
|
+
false
|
|
66
|
+
|
|
67
|
+
autocompleteUsers: (el) ->
|
|
68
|
+
# Remove the choice from the search widget and put it in the table.
|
|
69
|
+
$targetElement = $(el)
|
|
70
|
+
$targetElement.autocomplete
|
|
71
|
+
source: (request, response) ->
|
|
72
|
+
$targetElement.data('url')
|
|
73
|
+
$.getJSON $targetElement.data('url'), { q: request.term, user: true}, ( data, status, xhr ) ->
|
|
74
|
+
matches = []
|
|
75
|
+
$.each data.response.docs, (idx, val) ->
|
|
76
|
+
matches.push {label: val['desc_metadata__name_tesim'][0], value: val['id']}
|
|
77
|
+
response( matches )
|
|
78
|
+
minLength: 2
|
|
79
|
+
focus: ( event, ui ) ->
|
|
80
|
+
$targetElement.val(ui.item.label)
|
|
81
|
+
event.preventDefault()
|
|
82
|
+
select: ( event, ui ) ->
|
|
83
|
+
_internals.addContributor(ui.item.label, ui.item.value)
|
|
84
|
+
$targetElement.val('')
|
|
85
|
+
event.preventDefault()
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
$.fn.proxyRights = (method) ->
|
|
89
|
+
if methods[method]
|
|
90
|
+
methods[method].apply this, Array::slice.call(arguments, 1)
|
|
91
|
+
else if typeof method is "object" or not method
|
|
92
|
+
methods.init.apply this, arguments
|
|
93
|
+
else
|
|
94
|
+
$.error "Method " + method + " does not exist on jquery.proxyRights"
|
|
95
|
+
) jQuery, window, document
|