From 8dd56d5b5118eeb3cffdab8b3573957133b13363 Mon Sep 17 00:00:00 2001 From: naomi Date: Thu, 5 Jul 2018 13:55:45 +0200 Subject: [PATCH] OpenCase Search module - uninstall hook working. --- ...ck.block.exposedformactor_searchpage_1.yml | 22 + .../search_api.index.opencase_actors.yml | 44 ++ .../search_api.server.opencase_server.yml | 16 + .../install/views.view.actor_search.yml | 562 ++++++++++++++++++ .../opencase_search/opencase_search.info.yml | 9 + .../opencase_search/opencase_search.module | 40 ++ 6 files changed, 693 insertions(+) create mode 100644 modules/opencase_search/config/install/block.block.exposedformactor_searchpage_1.yml create mode 100644 modules/opencase_search/config/install/search_api.index.opencase_actors.yml create mode 100644 modules/opencase_search/config/install/search_api.server.opencase_server.yml create mode 100644 modules/opencase_search/config/install/views.view.actor_search.yml create mode 100644 modules/opencase_search/opencase_search.info.yml create mode 100644 modules/opencase_search/opencase_search.module diff --git a/modules/opencase_search/config/install/block.block.exposedformactor_searchpage_1.yml b/modules/opencase_search/config/install/block.block.exposedformactor_searchpage_1.yml new file mode 100644 index 0000000..e70e973 --- /dev/null +++ b/modules/opencase_search/config/install/block.block.exposedformactor_searchpage_1.yml @@ -0,0 +1,22 @@ +langcode: en +status: true +dependencies: + config: + - views.view.actor_search + module: + - views + theme: + - bartik +id: exposedformactor_searchpage_1 +theme: bartik +region: sidebar_first +weight: -9 +provider: null +plugin: 'views_exposed_filter_block:actor_search-page_1' +settings: + id: 'views_exposed_filter_block:actor_search-page_1' + label: '' + provider: views + label_display: '0' + views_label: '' +visibility: { } diff --git a/modules/opencase_search/config/install/search_api.index.opencase_actors.yml b/modules/opencase_search/config/install/search_api.index.opencase_actors.yml new file mode 100644 index 0000000..eff2ffd --- /dev/null +++ b/modules/opencase_search/config/install/search_api.index.opencase_actors.yml @@ -0,0 +1,44 @@ +langcode: en +status: true +dependencies: + config: + - search_api.server.opencase_server + module: + - search_api + - opencase_entities +id: opencase_actors +name: 'OpenCase Actors' +description: '' +read_only: false +field_settings: + name: + label: Name + datasource_id: 'entity:oc_actor' + property_path: name + type: text +datasource_settings: + 'entity:oc_actor': + bundles: + default: true + selected: { } + languages: + default: true + selected: { } +processor_settings: + rendered_item: { } + aggregated_field: { } + ignorecase: + all_fields: true + fields: + - name + weights: + preprocess_index: -20 + preprocess_query: -20 + add_url: { } +tracker_settings: + default: + indexing_order: fifo +options: + index_directly: true + cron_limit: 50 +server: opencase_server diff --git a/modules/opencase_search/config/install/search_api.server.opencase_server.yml b/modules/opencase_search/config/install/search_api.server.opencase_server.yml new file mode 100644 index 0000000..e9100e9 --- /dev/null +++ b/modules/opencase_search/config/install/search_api.server.opencase_server.yml @@ -0,0 +1,16 @@ +langcode: en +status: true +dependencies: + module: + - search_api_db +id: opencase_server +name: 'OpenCase Server' +description: '' +backend: search_api_db +backend_config: + database: 'default:default' + min_chars: 3 + partial_matches: false + autocomplete: + suggest_suffix: true + suggest_words: true diff --git a/modules/opencase_search/config/install/views.view.actor_search.yml b/modules/opencase_search/config/install/views.view.actor_search.yml new file mode 100644 index 0000000..4c4f4fb --- /dev/null +++ b/modules/opencase_search/config/install/views.view.actor_search.yml @@ -0,0 +1,562 @@ +langcode: en +status: true +dependencies: + config: + - search_api.index.opencase_actors + - user.role.authenticated + module: + - search_api + - user +id: actor_search +label: 'Actor Search' +module: views +description: '' +tag: '' +base_table: search_api_index_opencase_actors +base_field: search_api_id +core: 8.x +display: + default: + display_plugin: default + id: default + display_title: Master + position: 0 + display_options: + access: + type: role + options: + role: + authenticated: authenticated + cache: + type: tag + options: { } + query: + type: views_query + options: + bypass_access: false + skip_access: false + exposed_form: + type: input_required + options: + submit_button: Search + reset_button: false + reset_button_label: Reset + exposed_sorts_label: 'Sort by' + expose_sort_order: true + sort_asc_label: Asc + sort_desc_label: Desc + text_input_required: 'Select any filter and click on Apply to see results' + text_input_required_format: basic_html + pager: + type: mini + options: + items_per_page: 20 + offset: 0 + id: 0 + total_pages: null + expose: + items_per_page: false + items_per_page_label: 'Items per page' + items_per_page_options: '5, 10, 25, 50' + items_per_page_options_all: false + items_per_page_options_all_label: '- All -' + offset: false + offset_label: Offset + tags: + previous: ‹‹ + next: ›› + style: + type: table + options: + grouping: { } + row_class: '' + default_row_class: true + override: true + sticky: false + caption: '' + summary: '' + description: '' + columns: + name: name + created: created + type: type + id: id + nothing: nothing + info: + name: + align: '' + separator: '' + empty_column: false + responsive: '' + created: + align: '' + separator: '' + empty_column: false + responsive: '' + type: + align: '' + separator: '' + empty_column: false + responsive: '' + id: + align: '' + separator: '' + empty_column: false + responsive: '' + nothing: + sortable: false + default_sort_order: asc + align: '' + separator: '' + empty_column: false + responsive: '' + default: '-1' + empty_table: false + row: + type: fields + fields: + name: + id: name + table: search_api_datasource_opencase_actors_entity_oc_actor + field: name + relationship: none + group_type: group + admin_label: '' + label: Name + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: string + settings: + link_to_entity: false + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + field_rendering: true + fallback_handler: search_api + fallback_options: + link_to_item: false + use_highlighting: false + multi_type: separator + multi_separator: ', ' + entity_type: oc_actor + plugin_id: search_api_field + created: + id: created + table: search_api_datasource_opencase_actors_entity_oc_actor + field: created + relationship: none + group_type: group + admin_label: '' + label: 'Record created on' + exclude: false + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: false + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: timestamp + settings: + date_format: short + custom_date_format: '' + timezone: '' + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + field_rendering: true + fallback_handler: search_api_date + fallback_options: + date_format: fallback + custom_date_format: '' + timezone: '' + link_to_item: false + use_highlighting: false + multi_type: separator + multi_separator: ', ' + entity_type: oc_actor + plugin_id: search_api_field + type: + id: type + table: search_api_datasource_opencase_actors_entity_oc_actor + field: type + relationship: none + group_type: group + admin_label: '' + label: Type + exclude: true + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: target_id + type: entity_reference_label + settings: + link: false + group_column: target_id + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + field_rendering: true + fallback_handler: search_api_entity + fallback_options: + link_to_item: false + use_highlighting: false + multi_type: separator + multi_separator: ', ' + display_methods: + oc_actor_type: + display_method: label + entity_type: oc_actor + plugin_id: search_api_field + id: + id: id + table: search_api_datasource_opencase_actors_entity_oc_actor + field: id + relationship: none + group_type: group + admin_label: '' + label: ID + exclude: true + alter: + alter_text: false + text: '' + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: true + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: true + click_sort_column: value + type: number_integer + settings: + thousand_separator: '' + prefix_suffix: true + group_column: value + group_columns: { } + group_rows: true + delta_limit: 0 + delta_offset: 0 + delta_reversed: false + delta_first_last: false + multi_type: separator + separator: ', ' + field_api_classes: false + field_rendering: true + fallback_handler: search_api_numeric + fallback_options: + set_precision: false + precision: 0 + decimal: . + separator: ',' + format_plural: false + format_plural_string: !!binary MQNAY291bnQ= + prefix: '' + suffix: '' + link_to_item: false + use_highlighting: false + multi_type: separator + multi_separator: ', ' + format_plural_values: + - '1' + - '@count' + entity_type: oc_actor + plugin_id: search_api_field + nothing: + id: nothing + table: views + field: nothing + relationship: none + group_type: group + admin_label: '' + label: 'Go to' + exclude: false + alter: + alter_text: true + text: "• Details   • Cases\n" + make_link: false + path: '' + absolute: false + external: false + replace_spaces: false + path_case: none + trim_whitespace: false + alt: '' + rel: '' + link_class: '' + prefix: '' + suffix: '' + target: '' + nl2br: false + max_length: 0 + word_boundary: true + ellipsis: true + more_link: false + more_link_text: '' + more_link_path: '' + strip_tags: false + trim: false + preserve_tags: '' + html: false + element_type: '' + element_class: '' + element_label_type: '' + element_label_class: '' + element_label_colon: false + element_wrapper_type: '' + element_wrapper_class: '' + element_default_classes: true + empty: '' + hide_empty: false + empty_zero: false + hide_alter_empty: false + plugin_id: custom + filters: + search_api_fulltext: + id: search_api_fulltext + table: search_api_index_opencase_actors + field: search_api_fulltext + relationship: none + group_type: group + admin_label: '' + operator: and + value: '' + group: 1 + exposed: true + expose: + operator_id: search_api_fulltext_op + label: 'Search by Name' + description: 'Type a first or last name and press enter.' + use_operator: false + operator: search_api_fulltext_op + identifier: search_api_fulltext + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + anonymous: '0' + administrator: '0' + standard_user: '0' + placeholder: '' + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + parse_mode: terms + min_length: 3 + fields: { } + plugin_id: search_api_fulltext + sorts: + search_api_relevance: + id: search_api_relevance + table: search_api_index_opencase_actors + field: search_api_relevance + relationship: none + group_type: group + admin_label: '' + order: DESC + exposed: false + expose: + label: '' + plugin_id: search_api + title: 'Search Results' + header: { } + footer: { } + empty: { } + relationships: { } + arguments: { } + display_extenders: { } + use_ajax: true + cache_metadata: + max-age: -1 + contexts: + - 'languages:language_content' + - 'languages:language_interface' + - url + - url.query_args + - user.roles + tags: { } + page_1: + display_plugin: page + id: page_1 + display_title: Page + position: 1 + display_options: + display_extenders: { } + path: actor-search + exposed_block: true + cache_metadata: + max-age: -1 + contexts: + - 'languages:language_content' + - 'languages:language_interface' + - url + - url.query_args + - user.roles + tags: { } diff --git a/modules/opencase_search/opencase_search.info.yml b/modules/opencase_search/opencase_search.info.yml new file mode 100644 index 0000000..092fe98 --- /dev/null +++ b/modules/opencase_search/opencase_search.info.yml @@ -0,0 +1,9 @@ +name: 'OpenCase Search' +type: module +description: 'Search functionality for OpenCase.' +core: 8.x +package: 'OpenCase' +dependencies: + - search_api + - search_api_db + - opencase_entities diff --git a/modules/opencase_search/opencase_search.module b/modules/opencase_search/opencase_search.module new file mode 100644 index 0000000..96f442f --- /dev/null +++ b/modules/opencase_search/opencase_search.module @@ -0,0 +1,40 @@ +' . t('About') . ''; + $output .= '

' . t('Search functionality for OpenCase.') . '

'; + return $output; + + default: + } +} + +/** + * Implements hook_uninstall(). + * Removes configs. + */ +function opencase_search_uninstall() { + $configs = [ + 'views.view.actor_search', + 'block.block.exposedformactor_searchpage_1', + 'search_api.server.opencase_server', + 'search_api.index.opencase_actors' + ]; + foreach($configs as $config) { + Drupal::configFactory()->getEditable($config)->delete(); + } +}