def journal_info_html(): """ Get the html block for journal info. Returns: (dash_html_components.Div): The html block for journal info and dropdown. """ journals = db_stats["journals"] n_journals = "{:,}".format(len(journals)) journal_info_header_txt = "Journals in Matscholar" journal_info_subheader_txt = ( f"Search among {n_journals} scientific journals") journals_info_body_txt = ( f"Matscholar at present contains processed abstracts from " f"{n_journals} peer-reviewed scientific journals from multiple " f"scientific domains, including inorganic materials, polymers, " f"biomaterials, and more. You can search for which journals we " f"have parsed at least one paper from using the search box below.") journal_info_header = html.Div(journal_info_header_txt, className=common_title_style()) journal_info_subheader = html.Div(journal_info_subheader_txt, className=common_header_style()) journal_info_body = html.Div(journals_info_body_txt, className=common_body_style()) jkeys = [{"label": v, "value": str(i)} for i, v in enumerate(journals)] dropdown = dcc.Dropdown( placeholder="Search for your favorite journal...", options=jkeys, className="is-size-6 has-margin-bottom-50", clearable=False, multi=True, optionHeight=25, ) dropdown_label = html.Div("Search our collection", className=common_header_style()) hr_dropdown = divider_html() elements = [ journal_info_header, journal_info_subheader, journal_info_body, hr_dropdown, dropdown_label, dropdown, ] container = common_info_box_html(elements, id="journals") return container
def guided_search_boxes_html(): """ Get the html block for hidden guided search fields. Returns: (dash_html_components.Div): The html block for the hidden search fields. """ hr = divider_html() dropdown = dcc.Dropdown( id="search-type-dropdown", options=[ { "label": "Search for: Statistics (on named entities/words)", "value": "entities", }, { "label": "Search for: Relevant Papers", "value": "abstracts" }, { "label": "Search for: Summary of Materials", "value": "materials", }, { "label": "Search for: Everything", "value": "everything" }, ], value="everything", ) dropdown_column = html.Div(dropdown, className="column is-fullwidth") dropdown_columns = html.Div([dropdown_column], className="columns is-centered") dropdown_container = html.Div(dropdown_columns, className="container has-margin-5") entity_filters_html = [ guided_search_box_elastic_html(f) for f in valid_search_filters ] entity_filter_row_1 = html.Div(entity_filters_html[0:3], className="columns is-centered") entity_filter_row_2 = html.Div(entity_filters_html[3:6], className="columns is-centered") entity_filter_row_3 = html.Div(entity_filters_html[6:9], className="columns is-centered") entity_filter_rows = [ entity_filter_row_1, entity_filter_row_2, entity_filter_row_3, ] advanced_search_boxes = html.Div( entity_filter_rows, id="advanced_search_boxes", className="container has-margin-top-10", ) summary_txt = "Guided search fields" summary = html.Summary(summary_txt, className="has-text-centered is-size-6") hidden_column = html.Details( [hr, dropdown_container, summary, advanced_search_boxes], className="column is-half", ) hidden_columns = html.Div(hidden_column, className="columns is-centered") hidden_container = html.Div([hidden_columns], className="container") return hidden_container
def advanced_search_html(): """ Html for the advanced search boxes. Element filters, entity filters, anonymous formula searches """ hr = divider_html() dropdown = dcc.Dropdown( id='search_type_dropdown', options=[ { 'label': 'Search for: Statistics (on named entities/words)', 'value': 'entities' }, { 'label': 'Search for: Relevant Papers', 'value': 'abstracts' }, { 'label': 'Search for: Summary of Materials', 'value': 'materials' }, { 'label': 'Search for: Everything', 'value': 'everything' }, ], value="everything") dropdown_column = html.Div(dropdown, className="column is-fullwidth") dropdown_columns = html.Div([dropdown_column], className="columns is-centered") dropdown_container = html.Div(dropdown_columns, className="container has-margin-5") entity_filters_html = [ entity_filter_box_html(f) for f in valid_search_filters ] entity_filter_row_1 = html.Div(entity_filters_html[0:3], className="columns is-centered") entity_filter_row_2 = html.Div(entity_filters_html[3:6], className="columns is-centered") entity_filter_row_3 = html.Div(entity_filters_html[6:9], className="columns is-centered") entity_filter_rows = [ entity_filter_row_1, entity_filter_row_2, entity_filter_row_3 ] advanced_search_boxes = html.Div(entity_filter_rows, id='advanced_search_boxes', className="container has-margin-top-10") summary_txt = "Guided search fields" summary = html.Summary(summary_txt, className="has-text-centered is-size-6") hidden_column = html.Details( [hr, dropdown_container, summary, advanced_search_boxes], className="column is-half") hidden_columns = html.Div(hidden_column, className="columns is-centered") hidden_container = html.Div([hidden_columns], className="container") return hidden_container