Exemple #1
0
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
Exemple #2
0
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
Exemple #3
0
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