From fc45d7ee702575d0654c810e77a7977626423277 Mon Sep 17 00:00:00 2001 From: Robyn Thiessen-Bock Date: Fri, 4 Aug 2023 16:42:39 -0400 Subject: [PATCH] Update version number to 2.26.0 and rebuild docs --- README.md | 2 +- docs/_config.yml | 2 +- docs/docs/AccessPolicy.html | 2 +- docs/docs/AccessPolicyView.html | 2 +- docs/docs/AccessRule.html | 2 +- docs/docs/AccessRuleView.html | 2 +- docs/docs/AccountSelectView.html | 2 +- docs/docs/Analytics.html | 2 +- docs/docs/AnnotationFilter.html | 2 +- docs/docs/AnnotationView.html | 2 +- docs/docs/AnnotatorView.html | 2 +- docs/docs/AppConfig.html | 379 +-- docs/docs/AppModel.html | 851 ++++++- docs/docs/AppView.html | 2 +- docs/docs/AssetColor.html | 2 +- docs/docs/AssetColorPalette.html | 2 +- docs/docs/AssetColors.html | 2 +- docs/docs/BooleanFilter.html | 2 +- docs/docs/BooleanFilterView.html | 2 +- docs/docs/CatalogSearchView.html | 279 +- docs/docs/Cesium3DTileset.html | 163 +- docs/docs/CesiumGeohash.html | 163 +- docs/docs/CesiumImagery.html | 177 +- docs/docs/CesiumTerrain.html | 163 +- docs/docs/CesiumVectorData.html | 163 +- docs/docs/CesiumWidgetView.html | 423 +++- docs/docs/ChoiceFilter.html | 2 +- docs/docs/ChoiceFilterView.html | 2 +- docs/docs/CitationHeaderView.html | 341 ++- docs/docs/CitationListView.html | 2 +- docs/docs/CitationModalView.html | 104 +- docs/docs/CitationModel.html | 16 +- docs/docs/CitationView.html | 349 ++- docs/docs/Citations.html | 2 +- docs/docs/CollectionModel.html | 159 +- docs/docs/ColorPaletteView.html | 2 +- docs/docs/DataCatalogViewWithFilters.html | 2 +- docs/docs/DataItemView.html | 2 +- docs/docs/DataONEObject.html | 154 +- docs/docs/DataPackage.html | 2 +- docs/docs/DataPackageView.html | 2 +- docs/docs/DateFilter.html | 2 +- docs/docs/DateFilterView.html | 2 +- docs/docs/DraftsView.html | 2 +- docs/docs/EML211.html | 173 +- docs/docs/EML211EditorView.html | 2 +- docs/docs/EMLAnnotation.html | 2 +- docs/docs/EMLAnnotations.html | 2 +- docs/docs/EMLAttribute.html | 4 +- docs/docs/EMLAttributeView.html | 1110 +++++++- docs/docs/EMLDataTable.html | 2 +- docs/docs/EMLDistribution.html | 208 ++ docs/docs/EMLEntity.html | 2 +- docs/docs/EMLEntityView.html | 2 +- docs/docs/EMLGeoCoverage.html | 2 +- docs/docs/EMLMeasurementScale.html | 2 +- docs/docs/EMLMeasurementScaleView.html | 2 +- docs/docs/EMLMeasurementTypeView.html | 2 +- docs/docs/EMLMethodStep.html | 2 +- docs/docs/EMLMethods.html | 2 +- docs/docs/EMLMethodsView.html | 2 +- docs/docs/EMLMissingValueCode.html | 931 +++++++ docs/docs/EMLMissingValueCodeView.html | 2240 +++++++++++++++++ docs/docs/EMLMissingValueCodes.html | 752 ++++++ docs/docs/EMLMissingValueCodesView.html | 2031 +++++++++++++++ docs/docs/EMLNonNumericDomain.html | 2 +- docs/docs/EMLNumericDomain.html | 2 +- docs/docs/EMLOtherEntity.html | 2 +- docs/docs/EMLOtherEntityView.html | 2 +- docs/docs/EMLParty.html | 2 +- docs/docs/EMLPartyView.html | 2 +- docs/docs/EMLSpecializedText.html | 2 +- docs/docs/EMLTempCoverageView.html | 2 +- docs/docs/EMLTemporalCoverage.html | 2 +- docs/docs/EMLText.html | 2 +- docs/docs/EMLText211.html | 2 +- docs/docs/EMLUnit.html | 2 +- docs/docs/EMLView.html | 2 +- docs/docs/EMlGeoCoverageView_.html | 2 +- docs/docs/EditCollectionView.html | 2 +- docs/docs/EditorView.html | 2 +- docs/docs/ExternalView.html | 2 +- docs/docs/Feature.html | 2 +- docs/docs/FeatureInfoView.html | 2 +- docs/docs/Features.html | 2 +- docs/docs/Filter.html | 2 +- docs/docs/FilterEditorView.html | 2 +- docs/docs/FilterGroup.html | 2 +- docs/docs/FilterGroupView.html | 2 +- docs/docs/FilterGroupsView.html | 2 +- docs/docs/FilterView.html | 2 +- docs/docs/Filters.html | 2 +- docs/docs/FiltersMapConnector.html | 2 +- docs/docs/FiltersSearchConnector.html | 2 +- docs/docs/FooterView.html | 2 +- docs/docs/Geohash.html | 2 +- docs/docs/Geohashes.html | 2 +- docs/docs/GoogleAnalytics.html | 2 +- docs/docs/GroupListView.html | 2 +- docs/docs/ImageUploaderView.html | 2 +- docs/docs/LayerDetailView.html | 2 +- docs/docs/LayerDetailsView.html | 2 +- docs/docs/LayerInfoView.html | 2 +- docs/docs/LayerItemView.html | 2 +- docs/docs/LayerListView.html | 2 +- docs/docs/LayerNavigationView.html | 2 +- docs/docs/LayerOpacityView.html | 2 +- docs/docs/LegendView.html | 2 +- docs/docs/LogsSearch.html | 2 +- docs/docs/LookupModel.html | 2 +- docs/docs/Map.html | 2 +- docs/docs/MapAsset.html | 158 +- docs/docs/MapAssets.html | 2 +- docs/docs/MapConfig.html | 2 +- docs/docs/MapModel.html | 2 +- docs/docs/MapSearchConnector.html | 2 +- docs/docs/MapSearchFiltersConnector.html | 2 +- docs/docs/MapView.html | 2 +- docs/docs/MarkdownEditorView.html | 2 +- docs/docs/MarkdownView.html | 2 +- docs/docs/MdqRunView.html | 2 +- docs/docs/MetacatUI.html | 2 +- docs/docs/MetadataView.html | 249 +- docs/docs/MetricModalView.html | 2 +- docs/docs/MetricView.html | 2 +- docs/docs/Metrics.html | 2 +- docs/docs/MetricsChartView.html | 2 +- docs/docs/NavbarView.html | 2 +- docs/docs/NodeSelect.html | 2 +- docs/docs/NumericFilter.html | 2 +- docs/docs/NumericFilterView.html | 2 +- docs/docs/ObjectFormat.html | 2 +- docs/docs/ObjectFormatSelect.html | 2 +- docs/docs/ObjectFormats.html | 2 +- docs/docs/PortEditorDataView.html | 2 +- docs/docs/PortEditorImageView.html | 2 +- docs/docs/PortEditorLogosView.html | 2 +- docs/docs/PortEditorMdSectionView.html | 2 +- docs/docs/PortEditorSectionView.html | 2 +- docs/docs/PortEditorSectionsView.html | 2 +- docs/docs/PortEditorSettingsView.html | 2 +- docs/docs/PortalDataView.html | 2 +- docs/docs/PortalEditorView.html | 2 +- docs/docs/PortalHeaderView.html | 2 +- docs/docs/PortalImage.html | 2 +- docs/docs/PortalListView.html | 2 +- docs/docs/PortalLogosView.html | 2 +- docs/docs/PortalMembersView.html | 2 +- docs/docs/PortalModel.html | 159 +- docs/docs/PortalSectionModel.html | 2 +- docs/docs/PortalSectionView.html | 2 +- docs/docs/PortalUsagesView.html | 2 +- docs/docs/PortalView.html | 2 +- docs/docs/PortalVisualizationsView.html | 2 +- docs/docs/PortalsSearchView.html | 2 +- docs/docs/Project.html | 2 +- docs/docs/ProjectList.html | 2 +- docs/docs/ProjectView.html | 2 +- docs/docs/QualityCheck.html | 2 +- docs/docs/QualityReport.html | 2 +- docs/docs/QueryBuilderView.html | 2 +- docs/docs/QueryField.html | 2 +- docs/docs/QueryFieldSelectView.html | 2 +- docs/docs/QueryFields.html | 2 +- docs/docs/QueryRuleView.html | 2 +- docs/docs/Quota.html | 2 +- docs/docs/Quotas.html | 2 +- docs/docs/RegisterCitationView.html | 2 +- docs/docs/ScaleBarView.html | 2 +- docs/docs/ScienceMetadata.html | 159 +- docs/docs/ScienceMetadataView.html | 2 +- docs/docs/Search.html | 2 +- docs/docs/SearchResultView.html | 2 +- docs/docs/SearchResultsPagerView.html | 2 +- docs/docs/SearchResultsView.html | 2 +- docs/docs/SearchableSelectView.html | 2 +- docs/docs/SemanticFilterView.html | 2 +- docs/docs/SignInView.html | 2 +- docs/docs/SolrResult.html | 6 +- docs/docs/SolrResults.html | 2 +- docs/docs/SorterView.html | 2 +- docs/docs/SpatialFilter.html | 2 +- docs/docs/Stats.html | 2 +- docs/docs/Subscription.html | 2 +- docs/docs/TOCView.html | 2 +- docs/docs/TableEditorView.html | 2 +- docs/docs/ToggleFilter.html | 2 +- docs/docs/ToggleFilterView.html | 2 +- docs/docs/ToolbarView.html | 2 +- docs/docs/UIRouter.html | 2 +- docs/docs/Units.html | 2 +- docs/docs/Usage.html | 2 +- docs/docs/Usages.html | 2 +- docs/docs/UserGroup.html | 2 +- docs/docs/UserGroupView.html | 2 +- docs/docs/UserView.html | 2 +- docs/docs/Utilities.html | 2 +- docs/docs/VectorFilter.html | 2 +- docs/docs/VectorFilters.html | 2 +- docs/docs/docs_other_addtlDocs.jsdoc.html | 2 +- docs/docs/global.html | 1594 ++++++++++-- docs/docs/index.html | 2 +- docs/docs/src_js_app.js.html | 2 +- .../src_js_collections_AccessPolicy.js.html | 2 +- .../docs/src_js_collections_Citations.js.html | 2 +- .../src_js_collections_DataPackage.js.html | 2 +- docs/docs/src_js_collections_Filters.js.html | 2 +- .../src_js_collections_ObjectFormats.js.html | 2 +- .../src_js_collections_ProjectList.js.html | 2 +- .../src_js_collections_QualityReport.js.html | 2 +- .../src_js_collections_SolrResults.js.html | 2 +- docs/docs/src_js_collections_Units.js.html | 2 +- .../docs/src_js_collections_UserGroup.js.html | 2 +- ...c_js_collections_bookkeeper_Quotas.js.html | 2 +- ...c_js_collections_bookkeeper_Usages.js.html | 2 +- ...rc_js_collections_maps_AssetColors.js.html | 2 +- .../src_js_collections_maps_Features.js.html | 2 +- .../src_js_collections_maps_Geohashes.js.html | 2 +- .../src_js_collections_maps_MapAssets.js.html | 2 +- ..._js_collections_maps_VectorFilters.js.html | 2 +- ...ctions_metadata_eml_EMLAnnotations.js.html | 2 +- ..._metadata_eml_EMLMissingValueCodes.js.html | 146 ++ ...ollections_queryFields_QueryFields.js.html | 2 +- docs/docs/src_js_common_Utilities.js.html | 2 +- docs/docs/src_js_models_AccessRule.js.html | 2 +- docs/docs/src_js_models_AppModel.js.html | 87 +- docs/docs/src_js_models_CitationModel.js.html | 24 +- .../src_js_models_CollectionModel.js.html | 2 +- docs/docs/src_js_models_DataONEObject.js.html | 59 +- docs/docs/src_js_models_LogsSearch.js.html | 2 +- docs/docs/src_js_models_LookupModel.js.html | 2 +- docs/docs/src_js_models_Map.js.html | 2 +- docs/docs/src_js_models_MetricsModel.js.html | 2 +- docs/docs/src_js_models_PackageModel.js.html | 2 +- .../src_js_models_QualityCheckModel.js.html | 2 +- docs/docs/src_js_models_Search.js.html | 5 +- docs/docs/src_js_models_SolrResult.js.html | 43 +- docs/docs/src_js_models_Stats.js.html | 2 +- docs/docs/src_js_models_UserModel.js.html | 2 +- .../src_js_models_analytics_Analytics.js.html | 2 +- ...s_models_analytics_GoogleAnalytics.js.html | 2 +- .../src_js_models_bookkeeper_Quota.js.html | 2 +- ..._js_models_bookkeeper_Subscription.js.html | 2 +- .../src_js_models_bookkeeper_Usage.js.html | 2 +- ...c_js_models_connectors_Filters-Map.js.html | 2 +- ...s_models_connectors_Filters-Search.js.html | 2 +- ...dels_connectors_Map-Search-Filters.js.html | 2 +- ...rc_js_models_connectors_Map-Search.js.html | 2 +- ...rc_js_models_filters_BooleanFilter.js.html | 2 +- ...src_js_models_filters_ChoiceFilter.js.html | 2 +- .../src_js_models_filters_DateFilter.js.html | 2 +- .../docs/src_js_models_filters_Filter.js.html | 2 +- .../src_js_models_filters_FilterGroup.js.html | 2 +- ...rc_js_models_filters_NumericFilter.js.html | 2 +- ...rc_js_models_filters_SpatialFilter.js.html | 2 +- ...src_js_models_filters_ToggleFilter.js.html | 2 +- ...src_js_models_formats_ObjectFormat.js.html | 2 +- .../src_js_models_maps_AssetColor.js.html | 2 +- ...c_js_models_maps_AssetColorPalette.js.html | 2 +- docs/docs/src_js_models_maps_Feature.js.html | 2 +- docs/docs/src_js_models_maps_Geohash.js.html | 2 +- docs/docs/src_js_models_maps_Map.js.html | 2 +- .../src_js_models_maps_VectorFilter.js.html | 2 +- ...models_maps_assets_Cesium3DTileset.js.html | 6 +- ...s_models_maps_assets_CesiumGeohash.js.html | 6 +- ...s_models_maps_assets_CesiumImagery.js.html | 11 +- ...s_models_maps_assets_CesiumTerrain.js.html | 6 +- ...odels_maps_assets_CesiumVectorData.js.html | 4 +- ...src_js_models_maps_assets_MapAsset.js.html | 18 +- ...js_models_metadata_ScienceMetadata.js.html | 2 +- ...c_js_models_metadata_eml211_EML211.js.html | 33 +- ...dels_metadata_eml211_EMLAnnotation.js.html | 2 +- ...odels_metadata_eml211_EMLAttribute.js.html | 89 +- ...odels_metadata_eml211_EMLDataTable.js.html | 2 +- ...ls_metadata_eml211_EMLDistribution.js.html | 390 +++ ...s_models_metadata_eml211_EMLEntity.js.html | 2 +- ...els_metadata_eml211_EMLGeoCoverage.js.html | 2 +- ...etadata_eml211_EMLMeasurementScale.js.html | 2 +- ..._models_metadata_eml211_EMLMethods.js.html | 2 +- ...etadata_eml211_EMLMissingValueCode.js.html | 195 ++ ...etadata_eml211_EMLNonNumericDomain.js.html | 2 +- ...s_metadata_eml211_EMLNumericDomain.js.html | 2 +- ...els_metadata_eml211_EMLOtherEntity.js.html | 2 +- ...js_models_metadata_eml211_EMLParty.js.html | 2 +- ...s_metadata_eml211_EMLTaxonCoverage.js.html | 2 +- ...etadata_eml211_EMLTemporalCoverage.js.html | 2 +- ..._js_models_metadata_eml211_EMLText.js.html | 2 +- ..._js_models_metadata_eml211_EMLUnit.js.html | 2 +- ..._js_models_metadata_eml220_EMLText.js.html | 2 +- ..._models_metadata_eml_EMLMethodStep.js.html | 2 +- ...ls_metadata_eml_EMLSpecializedText.js.html | 2 +- .../src_js_models_portals_PortalImage.js.html | 2 +- .../src_js_models_portals_PortalModel.js.html | 2 +- ..._models_portals_PortalSectionModel.js.html | 2 +- ...dels_portals_PortalVizSectionModel.js.html | 2 +- .../src_js_models_projects_Project.js.html | 2 +- ...c_js_models_queryFields_QueryField.js.html | 2 +- docs/docs/src_js_routers_router.js.html | 2 +- .../src_js_views_AccessPolicyView.js.html | 2 +- docs/docs/src_js_views_AccessRuleView.js.html | 2 +- docs/docs/src_js_views_AnnotationView.js.html | 2 +- docs/docs/src_js_views_AppView.js.html | 2 +- .../src_js_views_CitationHeaderView.js.html | 2 +- .../src_js_views_CitationListView.js.html | 2 +- docs/docs/src_js_views_CitationView.js.html | 50 +- .../src_js_views_ColorPaletteView.js.html | 2 +- .../docs/src_js_views_DataCatalogView.js.html | 2 +- ...s_views_DataCatalogViewWithFilters.js.html | 2 +- docs/docs/src_js_views_DataItemView.js.html | 2 +- .../docs/src_js_views_DataPackageView.js.html | 2 +- docs/docs/src_js_views_DraftsView.js.html | 2 +- .../src_js_views_EditCollectionView.js.html | 2 +- docs/docs/src_js_views_EditorView.js.html | 2 +- docs/docs/src_js_views_FooterView.js.html | 2 +- docs/docs/src_js_views_GroupListView.js.html | 2 +- .../src_js_views_ImageUploaderView.js.html | 2 +- .../src_js_views_MarkdownEditorView.js.html | 2 +- docs/docs/src_js_views_MarkdownView.js.html | 2 +- docs/docs/src_js_views_MdqRunView.js.html | 2 +- docs/docs/src_js_views_MetadataView.js.html | 72 +- .../docs/src_js_views_MetricModalView.js.html | 2 +- docs/docs/src_js_views_MetricView.js.html | 2 +- .../src_js_views_MetricsChartView.js.html | 2 +- docs/docs/src_js_views_NavbarView.js.html | 2 +- .../src_js_views_RegisterCitationView.js.html | 2 +- docs/docs/src_js_views_SignInView.js.html | 2 +- docs/docs/src_js_views_StatsView.js.html | 2 +- docs/docs/src_js_views_TOCView.js.html | 2 +- .../docs/src_js_views_TableEditorView.js.html | 2 +- docs/docs/src_js_views_UserGroupView.js.html | 2 +- docs/docs/src_js_views_UserView.js.html | 2 +- ..._views_citations_CitationModalView.js.html | 7 +- ...js_views_filters_BooleanFilterView.js.html | 2 +- ..._js_views_filters_ChoiceFilterView.js.html | 2 +- ...rc_js_views_filters_DateFilterView.js.html | 2 +- ..._js_views_filters_FilterEditorView.js.html | 2 +- ...c_js_views_filters_FilterGroupView.js.html | 4 +- ..._js_views_filters_FilterGroupsView.js.html | 2 +- .../src_js_views_filters_FilterView.js.html | 2 +- ...js_views_filters_NumericFilterView.js.html | 2 +- ...s_views_filters_SemanticFilterView.js.html | 2 +- ..._js_views_filters_ToggleFilterView.js.html | 2 +- ...src_js_views_maps_CesiumWidgetView.js.html | 193 +- .../src_js_views_maps_FeatureInfoView.js.html | 2 +- .../src_js_views_maps_LayerDetailView.js.html | 2 +- ...src_js_views_maps_LayerDetailsView.js.html | 2 +- .../src_js_views_maps_LayerInfoView.js.html | 2 +- .../src_js_views_maps_LayerItemView.js.html | 2 +- .../src_js_views_maps_LayerListView.js.html | 2 +- ..._js_views_maps_LayerNavigationView.js.html | 2 +- ...src_js_views_maps_LayerOpacityView.js.html | 2 +- .../docs/src_js_views_maps_LegendView.js.html | 2 +- docs/docs/src_js_views_maps_MapView.js.html | 2 +- .../src_js_views_maps_ScaleBarView.js.html | 2 +- .../src_js_views_maps_ToolbarView.js.html | 2 +- ...js_views_metadata_EML211EditorView.js.html | 2 +- ...etadata_EML211MissingValueCodeView.js.html | 328 +++ ...tadata_EML211MissingValueCodesView.js.html | 299 +++ .../src_js_views_metadata_EML211View.js.html | 2 +- ...js_views_metadata_EMLAttributeView.js.html | 575 +++-- ...rc_js_views_metadata_EMLEntityView.js.html | 2 +- ..._views_metadata_EMLGeoCoverageView.js.html | 2 +- ...s_metadata_EMLMeasurementScaleView.js.html | 2 +- ...ws_metadata_EMLMeasurementTypeView.js.html | 2 +- ...c_js_views_metadata_EMLMethodsView.js.html | 2 +- ..._views_metadata_EMLOtherEntityView.js.html | 2 +- ...src_js_views_metadata_EMLPartyView.js.html | 2 +- ...views_metadata_EMLTempCoverageView.js.html | 2 +- ...views_metadata_ScienceMetadataView.js.html | 2 +- ...rc_js_views_portals_PortalDataView.js.html | 2 +- ..._js_views_portals_PortalHeaderView.js.html | 2 +- ...rc_js_views_portals_PortalListView.js.html | 2 +- ...c_js_views_portals_PortalLogosView.js.html | 2 +- ...js_views_portals_PortalMembersView.js.html | 2 +- ...js_views_portals_PortalMetricsView.js.html | 2 +- ...js_views_portals_PortalSectionView.js.html | 2 +- ..._js_views_portals_PortalUsagesView.js.html | 2 +- .../src_js_views_portals_PortalView.js.html | 2 +- ...s_portals_PortalVisualizationsView.js.html | 2 +- ...js_views_portals_PortalsSearchView.js.html | 2 +- ..._portals_editor_PortEditorDataView.js.html | 2 +- ...portals_editor_PortEditorImageView.js.html | 2 +- ...portals_editor_PortEditorLogosView.js.html | 2 +- ...als_editor_PortEditorMdSectionView.js.html | 2 +- ...rtals_editor_PortEditorSectionView.js.html | 2 +- ...tals_editor_PortEditorSectionsView.js.html | 2 +- ...tals_editor_PortEditorSettingsView.js.html | 2 +- ...ws_portals_editor_PortalEditorView.js.html | 2 +- .../src_js_views_projects_ProjectView.js.html | 2 +- ...iews_queryBuilder_QueryBuilderView.js.html | 2 +- ...s_views_queryBuilder_QueryRuleView.js.html | 2 +- ...ews_searchSelect_AccountSelectView.js.html | 2 +- ..._searchSelect_AnnotationFilterView.js.html | 2 +- ..._views_searchSelect_NodeSelectView.js.html | 2 +- ...earchSelect_ObjectFormatSelectView.js.html | 2 +- ..._searchSelect_QueryFieldSelectView.js.html | 2 +- ..._searchSelect_SearchableSelectView.js.html | 2 +- ..._js_views_search_CatalogSearchView.js.html | 66 +- ...c_js_views_search_SearchResultView.js.html | 2 +- ...iews_search_SearchResultsPagerView.js.html | 2 +- ..._js_views_search_SearchResultsView.js.html | 2 +- .../src_js_views_search_SorterView.js.html | 2 +- docs/docs/src_loader.js.html | 2 +- package-lock.json | 4 +- package.json | 2 +- src/index.html | 2 +- .../metadata/eml/EMLMissingValueCodes.js | 2 +- src/js/models/AppModel.js | 8 +- src/js/models/DataONEObject.js | 2 +- src/js/models/maps/assets/MapAsset.js | 2 +- .../models/metadata/eml211/EMLDistribution.js | 12 +- .../metadata/eml211/EMLMissingValueCode.js | 2 +- src/js/views/CitationView.js | 2 +- src/js/views/MetadataView.js | 4 +- src/js/views/maps/CesiumWidgetView.js | 6 +- .../metadata/EML211MissingValueCodeView.js | 2 +- .../metadata/EML211MissingValueCodesView.js | 2 +- src/js/views/search/CatalogSearchView.js | 4 +- 418 files changed, 15509 insertions(+), 1619 deletions(-) create mode 100644 docs/docs/EMLDistribution.html create mode 100644 docs/docs/EMLMissingValueCode.html create mode 100644 docs/docs/EMLMissingValueCodeView.html create mode 100644 docs/docs/EMLMissingValueCodes.html create mode 100644 docs/docs/EMLMissingValueCodesView.html create mode 100644 docs/docs/src_js_collections_metadata_eml_EMLMissingValueCodes.js.html create mode 100644 docs/docs/src_js_models_metadata_eml211_EMLDistribution.js.html create mode 100644 docs/docs/src_js_models_metadata_eml211_EMLMissingValueCode.js.html create mode 100644 docs/docs/src_js_views_metadata_EML211MissingValueCodeView.js.html create mode 100644 docs/docs/src_js_views_metadata_EML211MissingValueCodesView.js.html diff --git a/README.md b/README.md index 6c3c31166..4844ec0f5 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@ MetacatUI is an open source, community project. We [welcome contributions](http Cite this software as: -> Matthew B. Jones, Chris Jones, Lauren Walker, Robyn Thiessen-Bock, Ben Leinfelder, Peter Slaughter, Bryce Mecum, Rushiraj Nenuji, Hesham Elbashandy, Val Hendrix. 2022. MetacatUI: A client-side web interface for DataONE data repositories (version 2.25.0). Arctic Data Center. [doi:10.18739/A25M6282K](https://doi.org/10.18739/A25M6282K) +> Matthew B. Jones, Chris Jones, Lauren Walker, Robyn Thiessen-Bock, Ben Leinfelder, Peter Slaughter, Bryce Mecum, Rushiraj Nenuji, Hesham Elbashandy, Val Hendrix. 2022. MetacatUI: A client-side web interface for DataONE data repositories (version 2.26.0). Arctic Data Center. [doi:10.18739/A25M6282K](https://doi.org/10.18739/A25M6282K) ## Screenshots diff --git a/docs/_config.yml b/docs/_config.yml index 9cf11ae10..53d627a36 100644 --- a/docs/_config.yml +++ b/docs/_config.yml @@ -1,3 +1,3 @@ url: "/metacatui" highlighter: "rouge" -version: "2.25.0" +version: "2.26.0" diff --git a/docs/docs/AccessPolicy.html b/docs/docs/AccessPolicy.html index 851fe24c8..8d02f1e87 100644 --- a/docs/docs/AccessPolicy.html +++ b/docs/docs/AccessPolicy.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/AccessPolicyView.html b/docs/docs/AccessPolicyView.html index 1c0919e8f..293e20f0b 100644 --- a/docs/docs/AccessPolicyView.html +++ b/docs/docs/AccessPolicyView.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/AccessRule.html b/docs/docs/AccessRule.html index f398309f1..e07f8e8e2 100644 --- a/docs/docs/AccessRule.html +++ b/docs/docs/AccessRule.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/AccessRuleView.html b/docs/docs/AccessRuleView.html index ab4edad91..2917b4cb2 100644 --- a/docs/docs/AccessRuleView.html +++ b/docs/docs/AccessRuleView.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/AccountSelectView.html b/docs/docs/AccountSelectView.html index 75cdad53f..6909c38f9 100644 --- a/docs/docs/AccountSelectView.html +++ b/docs/docs/AccountSelectView.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/Analytics.html b/docs/docs/Analytics.html index 84a94bdfe..03f7a9d58 100644 --- a/docs/docs/Analytics.html +++ b/docs/docs/Analytics.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/AnnotationFilter.html b/docs/docs/AnnotationFilter.html index 74cd4d0c0..9ac9cab15 100644 --- a/docs/docs/AnnotationFilter.html +++ b/docs/docs/AnnotationFilter.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/AnnotationView.html b/docs/docs/AnnotationView.html index 925ed6628..e1848937f 100644 --- a/docs/docs/AnnotationView.html +++ b/docs/docs/AnnotationView.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/AnnotatorView.html b/docs/docs/AnnotatorView.html index cd0f04360..aeb69ecf5 100644 --- a/docs/docs/AnnotatorView.html +++ b/docs/docs/AnnotatorView.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/AppConfig.html b/docs/docs/AppConfig.html index c0a6218ce..059fb1584 100644 --- a/docs/docs/AppConfig.html +++ b/docs/docs/AppConfig.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

@@ -196,7 +196,7 @@
Type:
Source:
@@ -371,7 +371,7 @@
Properties:
Source:
@@ -564,7 +564,7 @@
Properties:
Source:
@@ -655,7 +655,7 @@
Type:
Source:
@@ -735,7 +735,7 @@
Type:
Source:
@@ -818,7 +818,7 @@
Type:
Source:
@@ -911,7 +911,7 @@
Type:
Source:
@@ -997,7 +997,7 @@
Type:
Source:
@@ -1085,7 +1085,7 @@
Type:
Source:
@@ -1171,7 +1171,7 @@
Type:
Source:
@@ -1259,7 +1259,7 @@
Type:
Source:
@@ -1345,7 +1345,7 @@
Type:
Source:
@@ -1429,7 +1429,7 @@
Type:
Source:
@@ -1522,7 +1522,7 @@
Type:
Source:
@@ -1602,7 +1602,7 @@
Type:
Source:
@@ -1688,7 +1688,7 @@
Type:
Source:
@@ -1771,7 +1771,7 @@
Type:
Source:
@@ -1856,7 +1856,7 @@
Type:
Source:
@@ -1934,7 +1934,7 @@
Type:
Source:
@@ -2017,7 +2017,7 @@
Type:
Source:
@@ -2100,7 +2100,7 @@
Type:
Source:
@@ -2182,7 +2182,7 @@
Type:
Source:
@@ -2264,7 +2264,7 @@
Type:
Source:
@@ -2346,7 +2346,7 @@
Type:
Source:
@@ -2428,7 +2428,7 @@
Type:
Source:
@@ -2598,7 +2598,7 @@
Type:
Source:
@@ -2683,7 +2683,7 @@
Type:
Source:
@@ -2765,7 +2765,7 @@
Type:
Source:
@@ -2855,7 +2855,7 @@
Type:
Source:
@@ -2940,7 +2940,7 @@
Type:
Source:
@@ -3025,7 +3025,7 @@
Type:
Source:
@@ -3109,7 +3109,7 @@
Type:
Source:
@@ -3197,7 +3197,7 @@
Type:
Source:
@@ -3279,7 +3279,7 @@
Type:
Source:
@@ -3362,7 +3362,7 @@
Type:
Source:
@@ -3629,7 +3629,7 @@
Type:
Source:
@@ -3707,7 +3707,7 @@
Type:
Source:
@@ -3791,7 +3791,7 @@
Type:
Source:
@@ -3878,7 +3878,7 @@
Type:
Source:
@@ -3968,7 +3968,7 @@
Type:
Source:
@@ -4057,7 +4057,7 @@
Type:
Source:
@@ -4148,7 +4148,7 @@
Type:
Source:
@@ -4247,7 +4247,7 @@
Type:
Source:
@@ -4332,7 +4332,7 @@
Type:
Source:
@@ -4413,7 +4413,7 @@
Type:
Source:
@@ -4752,7 +4752,7 @@
Type:
Source:
@@ -4836,7 +4836,7 @@
Type:
Source:
@@ -4919,7 +4919,7 @@
Type:
Source:
@@ -5003,7 +5003,7 @@
Type:
Source:
@@ -5086,7 +5086,7 @@
Type:
Source:
@@ -5170,7 +5170,7 @@
Type:
Source:
@@ -5254,7 +5254,7 @@
Type:
Source:
@@ -5337,7 +5337,7 @@
Type:
Source:
@@ -5421,7 +5421,7 @@
Type:
Source:
@@ -5588,7 +5588,7 @@
Type:
Source:
@@ -5674,7 +5674,7 @@
Type:
Source:
@@ -5843,7 +5843,7 @@
Type:
Source:
@@ -6027,7 +6027,7 @@
Type:
Source:
@@ -6105,7 +6105,7 @@
Type:
Source:
@@ -6183,7 +6183,7 @@
Type:
Source:
@@ -7177,7 +7177,7 @@
Properties:
Source:
@@ -7203,6 +7203,93 @@
Example
+

+ + + + + emlSystem :string +

+ + + + +
+ The text to use for the eml system attribute. The system attribute +indicates the data management system within which an identifier is in +scope and therefore unique. This is typically a URL (Uniform Resource +Locator) that indicates a data management system. All identifiers that +share a system must be unique. In other words, if the same identifier +is used in two locations with identical systems, then by definition the +objects at which they point are in fact the same object. +
+ + + +
Type:
+
    +
  • + +string + + +
  • +
+ + + + + +
+ + + + +
Since:
+
  • 2.26.0
+ + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + +

@@ -7268,7 +7355,7 @@
Type:
Source:
@@ -7353,7 +7440,7 @@

Type:
Source:
@@ -7440,7 +7527,7 @@
Type:
Source:
@@ -7523,7 +7610,7 @@
Type:
Source:
@@ -7609,7 +7696,7 @@
Type:
Source:
@@ -7697,7 +7784,7 @@
Type:
Source:
@@ -7785,7 +7872,7 @@
Type:
Source:
@@ -7871,7 +7958,7 @@
Type:
Source:
@@ -7956,7 +8043,7 @@
Type:
Source:
@@ -8037,7 +8124,7 @@
Type:
Source:
@@ -8370,7 +8457,7 @@
Type:
Source:
@@ -8453,7 +8540,7 @@
Type:
Source:
@@ -8628,7 +8715,7 @@
Type:
Source:
@@ -8708,7 +8795,7 @@
Type:
Source:
@@ -8791,7 +8878,7 @@
Type:
Source:
@@ -8877,7 +8964,7 @@
Type:
Source:
@@ -8957,7 +9044,7 @@
Type:
Source:
@@ -9053,7 +9140,7 @@
Type:
Source:
@@ -9141,7 +9228,7 @@
Type:
Source:
@@ -9229,7 +9316,7 @@
Type:
Source:
@@ -9317,7 +9404,7 @@
Type:
Source:
@@ -9405,7 +9492,7 @@
Type:
Source:
@@ -9493,7 +9580,7 @@
Type:
Source:
@@ -9656,7 +9743,7 @@
Type:
Source:
@@ -9735,7 +9822,7 @@
Type:
Source:
@@ -9995,7 +10082,7 @@
Type:
Source:
@@ -10078,7 +10165,7 @@
Type:
Source:
@@ -10161,7 +10248,7 @@
Type:
Source:
@@ -10244,7 +10331,7 @@
Type:
Source:
@@ -10327,7 +10414,7 @@
Type:
Source:
@@ -10410,7 +10497,7 @@
Type:
Source:
@@ -10491,7 +10578,7 @@
Type:
Source:
@@ -10574,7 +10661,7 @@
Type:
Source:
@@ -10657,7 +10744,7 @@
Type:
Source:
@@ -10735,7 +10822,7 @@
Type:
Source:
@@ -10820,7 +10907,7 @@
Type:
Source:
@@ -10992,7 +11079,7 @@
Type:
Source:
@@ -11073,7 +11160,7 @@
Type:
Source:
@@ -11156,7 +11243,7 @@
Type:
Source:
@@ -11236,7 +11323,7 @@
Type:
Source:
@@ -11321,7 +11408,7 @@
Type:
Source:
@@ -11406,7 +11493,7 @@
Type:
Source:
@@ -11486,7 +11573,7 @@
Type:
Source:
@@ -11852,7 +11939,7 @@
Properties:
Source:
@@ -11952,7 +12039,7 @@
Type:
Source:
@@ -12031,7 +12118,7 @@
Type:
Source:
@@ -12110,7 +12197,7 @@
Type:
Source:
@@ -12188,7 +12275,7 @@
Type:
Source:
@@ -12434,7 +12521,7 @@
Properties:
Source:
@@ -12520,7 +12607,7 @@
Type:
Source:
@@ -12607,7 +12694,7 @@
Type:
Source:
@@ -12693,7 +12780,7 @@
Type:
Source:
@@ -12780,7 +12867,7 @@
Type:
Source:
@@ -12867,7 +12954,7 @@
Type:
Source:
@@ -12956,7 +13043,7 @@
Type:
Source:
@@ -13040,7 +13127,7 @@
Type:
Source:
@@ -13119,7 +13206,7 @@
Type:
Source:
@@ -13203,7 +13290,7 @@
Type:
Source:
@@ -13273,7 +13360,7 @@

Source:
@@ -13343,7 +13430,7 @@

Source:
@@ -13427,7 +13514,7 @@

Type:
Source:
@@ -13507,7 +13594,7 @@
Type:
Source:
@@ -13598,7 +13685,7 @@
Type:
Source:
@@ -13700,7 +13787,7 @@
Type:
Source:
@@ -13867,7 +13954,7 @@
Type:
Source:
@@ -13955,7 +14042,7 @@
Type:
Source:
@@ -14027,7 +14114,7 @@

Source:
@@ -14105,7 +14192,7 @@

Type:
Source:
@@ -14191,7 +14278,7 @@
Type:
Source:
@@ -14274,7 +14361,7 @@
Type:
Source:
@@ -14357,7 +14444,7 @@
Type:
Source:
@@ -14443,7 +14530,7 @@
Type:
Source:
@@ -14526,7 +14613,7 @@
Type:
Source:
@@ -14612,7 +14699,7 @@
Type:
Source:
@@ -14774,7 +14861,7 @@
Type:
Source:
@@ -14853,7 +14940,7 @@
Type:
Source:
@@ -14932,7 +15019,7 @@
Type:
Source:
@@ -15011,7 +15098,7 @@
Type:
Source:
@@ -15867,7 +15954,7 @@
Type:
Source:
@@ -15954,7 +16041,7 @@
Type:
Source:
@@ -16049,7 +16136,7 @@
Type:
Source:
@@ -16133,7 +16220,7 @@
Type:
Source:
@@ -16213,7 +16300,7 @@
Type:
Source:
@@ -16400,7 +16487,7 @@
Properties:
Source:
diff --git a/docs/docs/AppModel.html b/docs/docs/AppModel.html index 1db8554b7..01a47c9f3 100644 --- a/docs/docs/AppModel.html +++ b/docs/docs/AppModel.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

@@ -187,12 +187,639 @@

Methods

+

+ + + + + DOItoURL(str) → {string} +

+ + + + + + +
+ Get the URL for the online location of the object being cited when it +has a DOI. If the DOI is not passed to the function, or if the string +is not a DOI, then an empty string is returned. +
+ + + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
str + + +string + + + + The DOI string, handles both DOI and DOI URL, +with or without prefixes
+ + + + + + +
+ + + + +
Since:
+
  • 2.23.0
+ + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + +
+ - The DOI URL +
+ + + +
+
+ Type +
+
+ +string + + +
+
+ + + + + + + + + + + + + +

+ + + + + URLtoDOI(url) → {string} +

+ + + + + + +
+ Get the DOI from a DOI URL. The URL can be http or https, can include the +"doi:" prefix or not, and can use "dx.doi.org" or "doi.org" as the +domain. If a string is not passed to the function, or if the string is +not for a DOI URL, then an empty string is returned. +
+ + + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
url + + +string + + + + The DOI URL
+ + + + + + +
+ + + + +
Since:
+
  • 2.26.0
+ + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + +
+ - The DOI string, including the "doi:" prefix +
+ + + +
+
+ Type +
+
+ +string + + +
+
+ + + + + + + + + + + + +

- addCSS(css, id) + addCSS(css, id) +

+ + + + + + +
+ Given a string of CSS and an associated unique ID, check whether that CSS file +was already added to the document head, and add it if not. Prevents adding the +CSS file multiple times if the view is loaded more than once. The first time each +CSS path is added, we need to save a record of the event. It doesn't work to just +search the document head for the style element to determine if the CSS has +already been added, because views may be initialized too quickly, before the +previous instance has had a chance to add the stylesheet element. +
+ + + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
css + + +string + + + + A string containing CSS styles
id + + +string + + + + A unique ID for the CSS styles which has not been used +anywhere else in the app.
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

+ + + + + getActiveAltRepo() → {object} +

+ + + + + + +
+ Gets the currently-active alternative repository that is configured in this AppModel. +
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + + + +
+
+ Type +
+
+ +object + + +
+
+ + + + + + + + + + + + + +

+ + + + + getDataONEMNAPIs(baseUrlopt) → {object}

@@ -201,13 +828,7 @@

- Given a string of CSS and an associated unique ID, check whether that CSS file -was already added to the document head, and add it if not. Prevents adding the -CSS file multiple times if the view is loaded more than once. The first time each -CSS path is added, we need to save a record of the event. It doesn't work to just -search the document head for the style element to determine if the CSS has -already been added, because views may be initialized too quickly, before the -previous instance has had a chance to add the stylesheet element. + Constructs the DataONE API URLs for the given baseUrl
@@ -231,6 +852,8 @@

Parameters:
Type + Attributes + @@ -243,7 +866,7 @@
Parameters:
- css + baseUrl @@ -256,34 +879,20 @@
Parameters:
- - - - A string containing CSS styles - - - - - - - id - - - - + + + <optional>
-string - - - + + + - A unique ID for the CSS styles which has not been used -anywhere else in the app. + The baseUrl to use in the URLs. If not specified, it uses the AppModel attributes. @@ -324,7 +933,7 @@
Parameters:
Source:
@@ -349,6 +958,24 @@
Parameters:
+
Returns:
+ + + + +
+
+ Type +
+
+ +object + + +
+
+ + @@ -360,12 +987,12 @@
Parameters:
-

- +

+ - getActiveAltRepo() → {object} + getQuickAddTaxa()

@@ -374,7 +1001,9 @@

- Gets the currently-active alternative repository that is configured in this AppModel. + Get the config options for the Taxa Quick Add feature. IF a SID is +configured, this will fetch the taxa from the repository. Otherwise, +it will return the object set on the quickAddTaxa attribute.
@@ -418,7 +1047,7 @@

Source:
@@ -443,24 +1072,6 @@

-

Returns:
- - - - -
-
- Type -
-
- -object - - -
-
- - @@ -472,12 +1083,12 @@
Returns:
-

- +

+ - getDataONEMNAPIs(baseUrlopt) → {object} + isDOI(doi) → {boolean}

@@ -486,7 +1097,7 @@

- Constructs the DataONE API URLs for the given baseUrl + Check if a string is a valid DOI.
@@ -510,8 +1121,6 @@

Parameters:
Type - Attributes - @@ -524,7 +1133,7 @@
Parameters:
- baseUrl + doi @@ -537,20 +1146,10 @@
Parameters:
- - - <optional>
- - - - - - - - The baseUrl to use in the URLs. If not specified, it uses the AppModel attributes. + The string to check. @@ -567,6 +1166,9 @@
Parameters:
+
Since:
+
  • 2.26.0
+ @@ -591,7 +1193,7 @@
Parameters:
Source:
@@ -619,6 +1221,10 @@
Parameters:
Returns:
+
+ - True if the string is a valid DOI, false otherwise. +
+
@@ -627,7 +1233,7 @@
Returns:
-object +boolean
@@ -645,12 +1251,12 @@
Returns:
-

- +

+ - getQuickAddTaxa() + removeAllDOIPrefixes(str) → {string}

@@ -659,9 +1265,8 @@

- Get the config options for the Taxa Quick Add feature. IF a SID is -configured, this will fetch the taxa from the repository. Otherwise, -it will return the object set on the quickAddTaxa attribute. + Remove all DOI prefixes from a DOI string, including https, http, doi.org, +dx.doi.org, and doi:.
@@ -672,6 +1277,55 @@

+

Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
str + + +string + + + + The DOI string to remove prefixes from.
+ + @@ -681,6 +1335,9 @@

+
Since:
+
  • 2.26.0
+ @@ -705,7 +1362,7 @@

Source:
@@ -730,6 +1387,28 @@

+

Returns:
+ + +
+ - The DOI string without any prefixes. +
+ + + +
+
+ Type +
+
+ +string + + +
+
+ + @@ -851,7 +1530,7 @@
Parameters:
Source:
@@ -948,7 +1627,7 @@

Source:
@@ -1045,7 +1724,7 @@

Source:
@@ -1141,7 +1820,7 @@

Source:
diff --git a/docs/docs/AppView.html b/docs/docs/AppView.html index 0ade43f15..b7a4010f9 100644 --- a/docs/docs/AppView.html +++ b/docs/docs/AppView.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/AssetColor.html b/docs/docs/AssetColor.html index 8d05512a8..9bd617023 100644 --- a/docs/docs/AssetColor.html +++ b/docs/docs/AssetColor.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/AssetColorPalette.html b/docs/docs/AssetColorPalette.html index e98b7d25d..4a2b867a7 100644 --- a/docs/docs/AssetColorPalette.html +++ b/docs/docs/AssetColorPalette.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/AssetColors.html b/docs/docs/AssetColors.html index 2c699af53..21696ee5f 100644 --- a/docs/docs/AssetColors.html +++ b/docs/docs/AssetColors.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/BooleanFilter.html b/docs/docs/BooleanFilter.html index 90a10de23..fcdf7c8b5 100644 --- a/docs/docs/BooleanFilter.html +++ b/docs/docs/BooleanFilter.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/BooleanFilterView.html b/docs/docs/BooleanFilterView.html index 4c928fe17..3874d7b5d 100644 --- a/docs/docs/BooleanFilterView.html +++ b/docs/docs/BooleanFilterView.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/CatalogSearchView.html b/docs/docs/CatalogSearchView.html index 1193a06b8..ec0a20893 100644 --- a/docs/docs/CatalogSearchView.html +++ b/docs/docs/CatalogSearchView.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

@@ -263,7 +263,7 @@
Type:
Source:
@@ -507,7 +507,7 @@
Type:
Source:
@@ -591,7 +591,7 @@
Type:
Source:
@@ -759,7 +759,7 @@
Type:
Source:
@@ -841,7 +841,7 @@
Type:
Source:
@@ -871,8 +871,10 @@

- Whether to limit the search to the extent of the map. If true, the -search will update when the user pans or zooms the map. + Whether to limit the search to the extent of the map. When true, the +search will update when the user pans or zooms the map. This property +will be updated when the user clicks the map filter toggle. Whatever is +set during the initial render will be the default.
@@ -917,6 +919,94 @@

Type:
+ + +
Default Value:
+
    +
  • false
  • +
+ + + +
Source:
+
+ + + + + + + +
+ + + + + + + + +

+ + + + + limitSearchToMapOnInteraction :boolean +

+ + + + +
+ Whether to limit the search to the extent the first time the user +interacts with the map. This only applies if limitSearchToMapArea is +initially set to false. +
+ + + +
Type:
+
    +
  • + +boolean + + +
  • +
+ + + + + +
+ + + + +
Since:
+
  • 2.26.0
+ + + + + + + + + + + + + + + + + + +
Default Value:
@@ -928,7 +1018,7 @@
Type:
Source:
@@ -1009,7 +1099,7 @@
Type:
Source:
@@ -1091,7 +1181,7 @@
Type:
Source:
@@ -1258,7 +1348,7 @@
Type:
Source:
@@ -1342,7 +1432,7 @@
Type:
Source:
@@ -1423,7 +1513,7 @@
Type:
Source:
@@ -1507,7 +1597,7 @@
Type:
Source:
@@ -1588,7 +1678,7 @@
Type:
Source:
@@ -1672,7 +1762,7 @@
Type:
Source:
@@ -1915,7 +2005,7 @@
Type:
Source:
@@ -1997,7 +2087,7 @@
Type:
Source:
@@ -2084,7 +2174,7 @@
Type:
Source:
@@ -2166,7 +2256,7 @@
Type:
Source:
@@ -2253,7 +2343,7 @@
Type:
Source:
@@ -2423,7 +2513,7 @@

Source:
@@ -2520,7 +2610,7 @@

Source:
@@ -2618,7 +2708,7 @@

Source:
@@ -2716,7 +2806,7 @@

Source:
@@ -2965,7 +3055,7 @@

Properties
Source:
@@ -3062,7 +3152,7 @@

Source:
@@ -3159,7 +3249,7 @@

Source:
@@ -3257,7 +3347,7 @@

Source:
@@ -3354,7 +3444,7 @@

Source:
@@ -3451,7 +3541,7 @@

Source:
@@ -3548,7 +3638,7 @@

Source:
@@ -3645,7 +3735,7 @@

Source:
@@ -3742,7 +3832,7 @@

Source:
@@ -3839,7 +3929,7 @@

Source:
@@ -3937,7 +4027,106 @@

Source:
+ + + + + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + +

+ + + + + setMapToggleState() +

+ + + + + + +
+ Sets the initial state of the map filter toggle. Optionally listens +for the first user interaction with the map before turning on the +spatial filter. +
+ + + + + + + + + + + + + +
+ + + + +
Since:
+
  • 2.26.0
+ + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
@@ -4034,7 +4223,7 @@

Source:
@@ -4131,7 +4320,7 @@

Source:
@@ -4323,7 +4512,7 @@

Parameters:
Source:
@@ -4489,7 +4678,7 @@
Parameters:
Source:
@@ -4638,7 +4827,7 @@
Parameters:
Source:
@@ -4787,7 +4976,7 @@
Parameters:
Source:
@@ -4885,7 +5074,7 @@

Source:
@@ -4983,7 +5172,7 @@

Source:
diff --git a/docs/docs/Cesium3DTileset.html b/docs/docs/Cesium3DTileset.html index 4008f06c5..3e69f1fef 100644 --- a/docs/docs/Cesium3DTileset.html +++ b/docs/docs/Cesium3DTileset.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

@@ -693,7 +693,7 @@
Parameters:
Source:
@@ -869,7 +869,7 @@
Parameters:
Source:
@@ -1191,7 +1191,7 @@
Parameters:
Source:
@@ -1364,7 +1364,7 @@
Parameters:
Source:
@@ -1537,7 +1537,7 @@
Parameters:
Source:
@@ -1714,7 +1714,7 @@
Parameters:
Source:
@@ -1917,7 +1917,7 @@
Parameters:
Source:
@@ -2262,6 +2262,133 @@
Returns:
+

+ + + + + getCesiumOptions() → {Object} +

+ + + + + + +
+ Get the asset config's cesiumOptions, if it has any. This will return +a copy of the cesiumOptions object, so that changes made to the +returned object will not affect the original cesiumOptions object. +
+ + + + + + + + + + + + + +
+ + + + +
Since:
+
  • 2.26.0
+ + + +
Inherited From:
+
+ + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + +
+ A copy of the cesiumOptions object, or null if there +are no cesiumOptions. +
+ + + +
+
+ Type +
+
+ +Object + + +
+
+ + + + + + + + + + + + +

@@ -2377,7 +2504,7 @@
Parameters:
Source:
@@ -2671,7 +2798,7 @@

Parameters:
Source:
@@ -3502,7 +3629,7 @@
Parameters:
Source:
@@ -3625,7 +3752,7 @@

Source:
@@ -3750,7 +3877,7 @@

Source:
@@ -3922,7 +4049,7 @@

Parameters:
Source:
@@ -4212,7 +4339,7 @@

Source:
@@ -4552,7 +4679,7 @@

Parameters:
Source:
@@ -4710,7 +4837,7 @@
Parameters:
Source:
@@ -4832,7 +4959,7 @@

Source:
diff --git a/docs/docs/CesiumGeohash.html b/docs/docs/CesiumGeohash.html index 08d9047c9..b9ea6688c 100644 --- a/docs/docs/CesiumGeohash.html +++ b/docs/docs/CesiumGeohash.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

@@ -719,7 +719,7 @@
Parameters:
Source:
@@ -1250,7 +1250,7 @@
Parameters:
Source:
@@ -1597,7 +1597,7 @@
Parameters:
Source:
@@ -1770,7 +1770,7 @@
Parameters:
Source:
@@ -1943,7 +1943,7 @@
Parameters:
Source:
@@ -2120,7 +2120,7 @@
Parameters:
Source:
@@ -2323,7 +2323,7 @@
Parameters:
Source:
@@ -2729,6 +2729,133 @@
Returns:
+

+ + + + + getCesiumOptions() → {Object} +

+ + + + + + +
+ Get the asset config's cesiumOptions, if it has any. This will return +a copy of the cesiumOptions object, so that changes made to the +returned object will not affect the original cesiumOptions object. +
+ + + + + + + + + + + + + +
+ + + + +
Since:
+
  • 2.26.0
+ + + +
Inherited From:
+
+ + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + +
+ A copy of the cesiumOptions object, or null if there +are no cesiumOptions. +
+ + + +
+
+ Type +
+
+ +Object + + +
+
+ + + + + + + + + + + + +

@@ -2844,7 +2971,7 @@
Parameters:
Source:
@@ -3192,7 +3319,7 @@

Parameters:
Source:
@@ -4383,7 +4510,7 @@
Parameters:
Source:
@@ -4506,7 +4633,7 @@

Source:
@@ -4631,7 +4758,7 @@

Source:
@@ -4803,7 +4930,7 @@

Parameters:
Source:
@@ -5002,7 +5129,7 @@

Source:
@@ -6371,7 +6498,7 @@

Parameters:
Source:
@@ -6529,7 +6656,7 @@
Parameters:
Source:
@@ -6774,7 +6901,7 @@

Source:
diff --git a/docs/docs/CesiumImagery.html b/docs/docs/CesiumImagery.html index 159c5f515..281a4c657 100644 --- a/docs/docs/CesiumImagery.html +++ b/docs/docs/CesiumImagery.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

@@ -595,7 +595,7 @@
Parameters:
Source:
@@ -771,7 +771,7 @@
Parameters:
Source:
@@ -941,7 +941,7 @@
Parameters:
Source:
@@ -1092,7 +1092,7 @@
Parameters:
Source:
@@ -1265,7 +1265,7 @@
Parameters:
Source:
@@ -1438,7 +1438,7 @@
Parameters:
Source:
@@ -1615,7 +1615,7 @@
Parameters:
Source:
@@ -1818,7 +1818,7 @@
Parameters:
Source:
@@ -1936,7 +1936,7 @@

Source:
@@ -1995,6 +1995,133 @@

Returns:
+

+ + + + + getCesiumOptions() → {Object} +

+ + + + + + +
+ Get the asset config's cesiumOptions, if it has any. This will return +a copy of the cesiumOptions object, so that changes made to the +returned object will not affect the original cesiumOptions object. +
+ + + + + + + + + + + + + +
+ + + + +
Since:
+
  • 2.26.0
+ + + +
Inherited From:
+
+ + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + +
+ A copy of the cesiumOptions object, or null if there +are no cesiumOptions. +
+ + + +
+
+ Type +
+
+ +Object + + +
+
+ + + + + + + + + + + + +

@@ -2110,7 +2237,7 @@
Parameters:
Source:
@@ -2276,7 +2403,7 @@

Parameters:
Source:
@@ -2448,7 +2575,7 @@
Parameters:
Source:
@@ -2569,7 +2696,7 @@

Source:
@@ -2725,7 +2852,7 @@

Parameters:
Source:
@@ -2881,7 +3008,7 @@
Parameters:
Source:
@@ -3185,7 +3312,7 @@
Parameters:
Source:
@@ -3308,7 +3435,7 @@

Source:
@@ -3433,7 +3560,7 @@

Source:
@@ -3605,7 +3732,7 @@

Parameters:
Source:
@@ -3699,7 +3826,7 @@

Source:
@@ -3799,7 +3926,7 @@

Source:
@@ -3948,7 +4075,7 @@

Parameters:
Source:
@@ -4106,7 +4233,7 @@
Parameters:
Source:
@@ -4228,7 +4355,7 @@

Source:
diff --git a/docs/docs/CesiumTerrain.html b/docs/docs/CesiumTerrain.html index 0ad0bcd3d..4ffee3b24 100644 --- a/docs/docs/CesiumTerrain.html +++ b/docs/docs/CesiumTerrain.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

@@ -584,7 +584,7 @@
Parameters:
Source:
@@ -760,7 +760,7 @@
Parameters:
Source:
@@ -1081,7 +1081,7 @@
Parameters:
Source:
@@ -1254,7 +1254,7 @@
Parameters:
Source:
@@ -1427,7 +1427,7 @@
Parameters:
Source:
@@ -1604,7 +1604,7 @@
Parameters:
Source:
@@ -1807,7 +1807,7 @@
Parameters:
Source:
@@ -1865,6 +1865,133 @@
Returns:
+

+ + + + + getCesiumOptions() → {Object} +

+ + + + + + +
+ Get the asset config's cesiumOptions, if it has any. This will return +a copy of the cesiumOptions object, so that changes made to the +returned object will not affect the original cesiumOptions object. +
+ + + + + + + + + + + + + +
+ + + + +
Since:
+
  • 2.26.0
+ + + +
Inherited From:
+
+ + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + +
+ A copy of the cesiumOptions object, or null if there +are no cesiumOptions. +
+ + + +
+
+ Type +
+
+ +Object + + +
+
+ + + + + + + + + + + + +

@@ -1980,7 +2107,7 @@
Parameters:
Source:
@@ -2153,7 +2280,7 @@

Parameters:
Source:
@@ -2514,7 +2641,7 @@
Parameters:
Source:
@@ -2637,7 +2764,7 @@

Source:
@@ -2762,7 +2889,7 @@

Source:
@@ -2934,7 +3061,7 @@

Parameters:
Source:
@@ -3130,7 +3257,7 @@

Source:
@@ -3279,7 +3406,7 @@

Parameters:
Source:
@@ -3437,7 +3564,7 @@
Parameters:
Source:
@@ -3559,7 +3686,7 @@

Source:
diff --git a/docs/docs/CesiumVectorData.html b/docs/docs/CesiumVectorData.html index 1352230cc..8b7e83078 100644 --- a/docs/docs/CesiumVectorData.html +++ b/docs/docs/CesiumVectorData.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

@@ -739,7 +739,7 @@
Parameters:
Source:
@@ -1260,7 +1260,7 @@
Parameters:
Source:
@@ -1602,7 +1602,7 @@
Parameters:
Source:
@@ -1775,7 +1775,7 @@
Parameters:
Source:
@@ -1948,7 +1948,7 @@
Parameters:
Source:
@@ -2125,7 +2125,7 @@
Parameters:
Source:
@@ -2328,7 +2328,7 @@
Parameters:
Source:
@@ -2724,6 +2724,133 @@
Returns:
+

+ + + + + getCesiumOptions() → {Object} +

+ + + + + + +
+ Get the asset config's cesiumOptions, if it has any. This will return +a copy of the cesiumOptions object, so that changes made to the +returned object will not affect the original cesiumOptions object. +
+ + + + + + + + + + + + + +
+ + + + +
Since:
+
  • 2.26.0
+ + + +
Inherited From:
+
+ + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + +
+ A copy of the cesiumOptions object, or null if there +are no cesiumOptions. +
+ + + +
+
+ Type +
+
+ +Object + + +
+
+ + + + + + + + + + + + +

@@ -2839,7 +2966,7 @@
Parameters:
Source:
@@ -3182,7 +3309,7 @@

Parameters:
Source:
@@ -4343,7 +4470,7 @@
Parameters:
Source:
@@ -4466,7 +4593,7 @@

Source:
@@ -4591,7 +4718,7 @@

Source:
@@ -4763,7 +4890,7 @@

Parameters:
Source:
@@ -4957,7 +5084,7 @@

Source:
@@ -6286,7 +6413,7 @@

Parameters:
Source:
@@ -6444,7 +6571,7 @@
Parameters:
Source:
@@ -6684,7 +6811,7 @@

Source:
diff --git a/docs/docs/CesiumWidgetView.html b/docs/docs/CesiumWidgetView.html index ef00ebcac..c091e84bb 100644 --- a/docs/docs/CesiumWidgetView.html +++ b/docs/docs/CesiumWidgetView.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

+ + + + + + + + + + + + + + + + + + + + + + + + + + +

+ + + + + addLayers() +

+ + + + + + +
+ Add all of the model's layers to the map. This function is called +during the render function. +
+ + + + + + + + + + + + + +
+ + + + +
Since:
+
  • 2.26.0
+ + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
@@ -1388,7 +1486,7 @@
Parameters:
Source:
@@ -1577,7 +1675,7 @@
Parameters:
Source:
@@ -1770,7 +1868,7 @@
Parameters:
Source:
@@ -1891,7 +1989,7 @@

Source:
@@ -2080,7 +2178,7 @@

Parameters:
Source:
@@ -2277,7 +2375,7 @@
Parameters:
Source:
@@ -2453,7 +2551,7 @@
Parameters:
Source:
@@ -2643,7 +2741,7 @@
Parameters:
Source:
@@ -2737,7 +2835,7 @@

Source:
@@ -2904,7 +3002,7 @@

Parameters:
Source:
@@ -3011,7 +3109,7 @@

Source:
@@ -3283,7 +3381,182 @@

Source:
+ + + + + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + +

+ + + + + listenOnceForInteraction(callback, ignore) +

+ + + + + + +
+ Listen for any user interaction with the map. Once an interaction has +occurred, run the callback function and stop listening for +interactions. Useful for detecting the first user interaction with the +map. +
+ + + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
callback + + +function + + + + The function to run once the interaction +has occurred.
ignore + + +Array.<string> + + + + An array of Cesium.ScreenSpaceEventType +labels to ignore. See +https://cesium.com/learn/cesiumjs/ref-doc/ScreenSpaceEventType.html
+ + + + + + +
+ + + + +
Since:
+
  • 2.26.0
+ + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
@@ -3379,7 +3652,7 @@

Source:
@@ -3503,7 +3776,7 @@

Source:
@@ -3649,6 +3922,104 @@

Returns:
+ + + + + + +

+ + + + + setListeners() +

+ + + + + + +
+ Set all of the listeners for the CesiumWidgetView. This function is +called during the render function. +
+ + + + + + + + + + + + + +
+ + + + +
Since:
+
  • 2.26.0
+ + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + @@ -3716,7 +4087,7 @@

Source:
@@ -3928,7 +4299,7 @@

Parameters:
Source:
@@ -4026,7 +4397,7 @@

Source:
@@ -4121,7 +4492,7 @@

Source:
@@ -4221,7 +4592,7 @@

Source:
@@ -4366,7 +4737,7 @@

Parameters:
Source:
@@ -4461,7 +4832,7 @@

Source:
diff --git a/docs/docs/ChoiceFilter.html b/docs/docs/ChoiceFilter.html index 98cedbfb7..efdf2ba0e 100644 --- a/docs/docs/ChoiceFilter.html +++ b/docs/docs/ChoiceFilter.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/ChoiceFilterView.html b/docs/docs/ChoiceFilterView.html index 53e665d96..acae03988 100644 --- a/docs/docs/ChoiceFilterView.html +++ b/docs/docs/ChoiceFilterView.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/CitationHeaderView.html b/docs/docs/CitationHeaderView.html index d9aa731ae..aeb197516 100644 --- a/docs/docs/CitationHeaderView.html +++ b/docs/docs/CitationHeaderView.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

@@ -959,7 +959,7 @@
Type:
Source:
@@ -1220,7 +1220,7 @@
Type:
Source:
@@ -1783,7 +1783,7 @@
Parameters:
Source:
@@ -1935,7 +1935,7 @@
Parameters:
Source:
@@ -1999,7 +1999,7 @@

- CSLNamesToAPA(authors) → {string} + CSLNamesToAPA(authors, maxAuthorsopt) → {string}

@@ -2033,8 +2033,12 @@
Parameters:
Type + Attributes + + Default + Description @@ -2058,13 +2062,68 @@
Parameters:
+ + + + + + + + + + + + An array of CSL JSON name objects + + + + maxAuthors + + + + + +number + + + + + + + + + <optional>
+ + + + + + + + + + + + 20 + + + + + The maximum number of authors to +display. If there are more than this number of authors, then the +remaining authors will be replaced with an ellipsis. The default is 20 +since that is the maximum that APA allows. Set to a falsy value to +display all authors. + + + @@ -2110,7 +2169,7 @@
Parameters:
Source:
@@ -2285,7 +2344,7 @@
Parameters:
Source:
@@ -2463,7 +2522,7 @@
Parameters:
Source:
@@ -2565,7 +2624,7 @@

Source:
@@ -3170,7 +3229,7 @@

Properties
Source:
@@ -3363,7 +3422,7 @@

Source:
@@ -3426,7 +3485,7 @@

- renderAPA(options, template) + renderAPA(options, template, maxAuthorsopt)

@@ -3459,8 +3518,12 @@
Parameters:
Type + Attributes + + Default + Description @@ -3484,8 +3547,20 @@
Parameters:
+ + + + + + + + + + + + The options to pass to the template. @@ -3507,7 +3582,19 @@
Parameters:
+ + + + + + + + + + + + The template associated with this style, @@ -3515,6 +3602,49 @@
Parameters:
+ + + + maxAuthors + + + + + +number + + + + + + + + + <optional>
+ + + + + + + + + + + + 20 + + + + + The maximum number of authors to +display. If there are more than this number of authors, then the +remaining authors will be replaced with an ellipsis. The default is 20 +since that is the maximum that APA allows. Set to a falsy value to +display all authors. + + + @@ -3560,7 +3690,182 @@
Parameters:
Source:
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

+ + + + + renderAPAAllAuthors(options, template) +

+ + + + + + +
+ Render a complete APA style citation with all authors listed. +
+ + + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
options + + +Object + + + + The options to pass to the template.
template + + +function + + + + The template associated with this style, +or it's archive template if the object is archived and not indexed.
+ + + + + + +
+ + + + +
Since:
+
  • 2.26.0
+ + + +
Inherited From:
+
+ + + + + + + + + + + + + + + + + + + + + +
Source:
+
@@ -3735,7 +4040,7 @@
Parameters:
Source:
@@ -4220,7 +4525,7 @@
Parameters:
Source:
diff --git a/docs/docs/CitationListView.html b/docs/docs/CitationListView.html index 3b9f96f4d..b2f789032 100644 --- a/docs/docs/CitationListView.html +++ b/docs/docs/CitationListView.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/CitationModalView.html b/docs/docs/CitationModalView.html index 01d99ed6f..2b78fd18e 100644 --- a/docs/docs/CitationModalView.html +++ b/docs/docs/CitationModalView.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

@@ -1398,6 +1398,100 @@
Properties
+ + + + + + +

+ + + + + insertCitation() +

+ + + + + + +
+ Insert the citation view into the modal +
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + @@ -1463,7 +1557,7 @@

Source:
@@ -1557,7 +1651,7 @@

Source:
@@ -1861,7 +1955,7 @@

Source:
@@ -1955,7 +2049,7 @@

Source:
diff --git a/docs/docs/CitationModel.html b/docs/docs/CitationModel.html index a8ac75e96..71157adf8 100644 --- a/docs/docs/CitationModel.html +++ b/docs/docs/CitationModel.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

@@ -961,7 +961,7 @@
Parameters:
Source:
@@ -1132,7 +1132,7 @@
Parameters:
Source:
@@ -1498,7 +1498,7 @@

Source:
@@ -2131,7 +2131,7 @@

Source:
@@ -3103,7 +3103,7 @@

Source:
@@ -3224,7 +3224,7 @@

Source:
@@ -3693,7 +3693,7 @@

Source:
diff --git a/docs/docs/CitationView.html b/docs/docs/CitationView.html index e04535a5f..1ddcf782a 100644 --- a/docs/docs/CitationView.html +++ b/docs/docs/CitationView.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

@@ -419,7 +419,7 @@
Type:
Source:
@@ -498,7 +498,7 @@
Type:
Source:
@@ -578,7 +578,7 @@
Type:
Source:
@@ -659,7 +659,7 @@
Type:
Source:
@@ -825,7 +825,7 @@
Type:
Source:
@@ -908,7 +908,7 @@
Type:
Source:
@@ -938,8 +938,7 @@

- The format and layout options that are available for this view. The -`default` option is used when no format is specified in the options. + The format and layout options that are available for this view.
@@ -1043,7 +1042,7 @@

Properties:
Source:
@@ -1423,7 +1422,7 @@
Parameters:
Source:
@@ -1570,7 +1569,7 @@
Parameters:
Source:
@@ -1634,7 +1633,7 @@

- CSLNamesToAPA(authors) → {string} + CSLNamesToAPA(authors, maxAuthorsopt) → {string}

@@ -1668,8 +1667,12 @@
Parameters:
Type + Attributes + + Default + Description @@ -1693,13 +1696,68 @@
Parameters:
+ + + + + + + + + + + + An array of CSL JSON name objects + + + + maxAuthors + + + + + +number + + + + + + + + + <optional>
+ + + + + + + + + + + + 20 + + + + + The maximum number of authors to +display. If there are more than this number of authors, then the +remaining authors will be replaced with an ellipsis. The default is 20 +since that is the maximum that APA allows. Set to a falsy value to +display all authors. + + + @@ -1740,7 +1798,7 @@
Parameters:
Source:
@@ -1910,7 +1968,7 @@
Parameters:
Source:
@@ -2083,7 +2141,7 @@
Parameters:
Source:
@@ -2180,7 +2238,7 @@

Source:
@@ -2675,7 +2733,7 @@

Properties
Source:
@@ -2769,7 +2827,7 @@

Source:
@@ -2832,7 +2890,7 @@

- renderAPA(options, template) + renderAPA(options, template, maxAuthorsopt)

@@ -2865,8 +2923,12 @@
Parameters:
Type + Attributes + + Default + Description @@ -2890,7 +2952,19 @@
Parameters:
+ + + + + + + + + + + + The options to pass to the template. @@ -2913,14 +2987,69 @@
Parameters:
+ + + + + + + + + + + + The template associated with this style, or it's archive template if the object is archived and not indexed. + + + + maxAuthors + + + + + +number + + + + + + + + + <optional>
+ + + + + + + + + + + + 20 + + + + + The maximum number of authors to +display. If there are more than this number of authors, then the +remaining authors will be replaced with an ellipsis. The default is 20 +since that is the maximum that APA allows. Set to a falsy value to +display all authors. + + + @@ -2961,7 +3090,177 @@
Parameters:
Source:
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

+ + + + + renderAPAAllAuthors(options, template) +

+ + + + + + +
+ Render a complete APA style citation with all authors listed. +
+ + + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
options + + +Object + + + + The options to pass to the template.
template + + +function + + + + The template associated with this style, +or it's archive template if the object is archived and not indexed.
+ + + + + + +
+ + + + +
Since:
+
  • 2.26.0
+ + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
@@ -3131,7 +3430,7 @@
Parameters:
Source:
@@ -3419,7 +3718,7 @@
Parameters:
Source:
diff --git a/docs/docs/Citations.html b/docs/docs/Citations.html index 46f2629b3..17e400c3b 100644 --- a/docs/docs/Citations.html +++ b/docs/docs/Citations.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/CollectionModel.html b/docs/docs/CollectionModel.html index a89c77483..b85925700 100644 --- a/docs/docs/CollectionModel.html +++ b/docs/docs/CollectionModel.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

@@ -914,7 +914,7 @@
Parameters:
Source:
@@ -2787,7 +2787,7 @@

Source:
@@ -2845,6 +2845,135 @@

Returns:
+

+ + + + + getCanonicalDOIIRI() → {string|null} +

+ + + + + + +
+ Check if the seriesID or PID matches a DOI regex, and if so, return +a canonical IRI for the DOI. +
+ + + + + + + + + + + + + +
+ + + + +
Since:
+
  • 2.26.0
+ + + +
Inherited From:
+
+ + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + +
+ - The canonical IRI for the DOI, or null if +neither the seriesId nor the PID match a DOI regex. +
+ + + +
+
+ Type +
+
+ +string +| + +null + + +
+
+ + + + + + + + + + + + +

@@ -3103,7 +3232,7 @@

Source:
@@ -3263,7 +3392,7 @@

Parameters:
Source:
@@ -3888,7 +4017,7 @@

Parameters:
Source:
@@ -4012,7 +4141,7 @@

Source:
@@ -4182,7 +4311,7 @@

Parameters:
Source:
@@ -4299,7 +4428,7 @@

Source:
@@ -4538,7 +4667,7 @@

Source:
@@ -4662,7 +4791,7 @@

Source:
@@ -4832,7 +4961,7 @@

Parameters:
Source:
@@ -5880,7 +6009,7 @@
Parameters:
Source:
@@ -6488,7 +6617,7 @@

Source:
@@ -6641,7 +6770,7 @@

Parameters:
Source:
diff --git a/docs/docs/ColorPaletteView.html b/docs/docs/ColorPaletteView.html index 21764be58..5e7463acd 100644 --- a/docs/docs/ColorPaletteView.html +++ b/docs/docs/ColorPaletteView.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/DataCatalogViewWithFilters.html b/docs/docs/DataCatalogViewWithFilters.html index 6f23b0113..50ad20fb2 100644 --- a/docs/docs/DataCatalogViewWithFilters.html +++ b/docs/docs/DataCatalogViewWithFilters.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/DataItemView.html b/docs/docs/DataItemView.html index 9590ebe8e..ec5e87953 100644 --- a/docs/docs/DataItemView.html +++ b/docs/docs/DataItemView.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/DataONEObject.html b/docs/docs/DataONEObject.html index 7bd513b18..f1b5158cc 100644 --- a/docs/docs/DataONEObject.html +++ b/docs/docs/DataONEObject.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

@@ -499,7 +499,7 @@
Parameters:
Source:
@@ -1748,7 +1748,7 @@

Source:
@@ -1806,6 +1806,130 @@

Returns:
+

+ + + + + getCanonicalDOIIRI() → {string|null} +

+ + + + + + +
+ Check if the seriesID or PID matches a DOI regex, and if so, return +a canonical IRI for the DOI. +
+ + + + + + + + + + + + + +
+ + + + +
Since:
+
  • 2.26.0
+ + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + +
+ - The canonical IRI for the DOI, or null if +neither the seriesId nor the PID match a DOI regex. +
+ + + +
+
+ Type +
+
+ +string +| + +null + + +
+
+ + + + + + + + + + + + +

@@ -1958,7 +2082,7 @@

Source:
@@ -2113,7 +2237,7 @@

Parameters:
Source:
@@ -2629,7 +2753,7 @@

Parameters:
Source:
@@ -2748,7 +2872,7 @@

Source:
@@ -2913,7 +3037,7 @@

Parameters:
Source:
@@ -3025,7 +3149,7 @@

Source:
@@ -3254,7 +3378,7 @@

Source:
@@ -3373,7 +3497,7 @@

Source:
@@ -3538,7 +3662,7 @@

Parameters:
Source:
@@ -4116,7 +4240,7 @@
Parameters:
Source:
@@ -4605,7 +4729,7 @@

Source:
@@ -4753,7 +4877,7 @@

Parameters:
Source:
diff --git a/docs/docs/DataPackage.html b/docs/docs/DataPackage.html index d49560e2c..e2d00107a 100644 --- a/docs/docs/DataPackage.html +++ b/docs/docs/DataPackage.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/DataPackageView.html b/docs/docs/DataPackageView.html index 76f1fb642..a3e00406b 100644 --- a/docs/docs/DataPackageView.html +++ b/docs/docs/DataPackageView.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/DateFilter.html b/docs/docs/DateFilter.html index d4d92f380..4b21dcbd7 100644 --- a/docs/docs/DateFilter.html +++ b/docs/docs/DateFilter.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/DateFilterView.html b/docs/docs/DateFilterView.html index 3cce1f8cb..3f65acfc5 100644 --- a/docs/docs/DateFilterView.html +++ b/docs/docs/DateFilterView.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/DraftsView.html b/docs/docs/DraftsView.html index 733bcbb60..9fb89c539 100644 --- a/docs/docs/DraftsView.html +++ b/docs/docs/DraftsView.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/EML211.html b/docs/docs/EML211.html index c7a723dc4..4848c6f26 100644 --- a/docs/docs/EML211.html +++ b/docs/docs/EML211.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

@@ -392,7 +392,7 @@
Properties:
Source:
@@ -750,7 +750,7 @@
Parameters:
Source:
@@ -1705,7 +1705,7 @@
Properties:
Source:
@@ -2171,7 +2171,7 @@

Source:
@@ -2229,6 +2229,135 @@

Returns:
+

+ + + + + getCanonicalDOIIRI() → {string|null} +

+ + + + + + +
+ Check if the seriesID or PID matches a DOI regex, and if so, return +a canonical IRI for the DOI. +
+ + + + + + + + + + + + + +
+ + + + +
Since:
+
  • 2.26.0
+ + + +
Inherited From:
+
+ + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + +
+ - The canonical IRI for the DOI, or null if +neither the seriesId nor the PID match a DOI regex. +
+ + + +
+
+ Type +
+
+ +string +| + +null + + +
+
+ + + + + + + + + + + + +

@@ -2289,7 +2418,7 @@

Source:
@@ -2555,7 +2684,7 @@

Parameters:
Source:
@@ -2654,7 +2783,7 @@

Source:
@@ -2814,7 +2943,7 @@

Parameters:
Source:
@@ -3345,7 +3474,7 @@
Parameters:
Source:
@@ -3469,7 +3598,7 @@

Source:
@@ -3639,7 +3768,7 @@

Parameters:
Source:
@@ -3756,7 +3885,7 @@

Source:
@@ -3995,7 +4124,7 @@

Source:
@@ -4119,7 +4248,7 @@

Source:
@@ -4289,7 +4418,7 @@

Parameters:
Source:
@@ -4450,7 +4579,7 @@
Parameters:
Source:
@@ -4593,7 +4722,7 @@
Parameters:
Source:
@@ -5173,7 +5302,7 @@
Parameters:
Source:
@@ -5687,7 +5816,7 @@

Source:
@@ -5840,7 +5969,7 @@

Parameters:
Source:
@@ -5984,7 +6113,7 @@
Parameters:
Source:
diff --git a/docs/docs/EML211EditorView.html b/docs/docs/EML211EditorView.html index 339bf9189..e63c93956 100644 --- a/docs/docs/EML211EditorView.html +++ b/docs/docs/EML211EditorView.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/EMLAnnotation.html b/docs/docs/EMLAnnotation.html index 998087e8b..8e27a2656 100644 --- a/docs/docs/EMLAnnotation.html +++ b/docs/docs/EMLAnnotation.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/EMLAnnotations.html b/docs/docs/EMLAnnotations.html index a08ed1b7c..1c91fa8f1 100644 --- a/docs/docs/EMLAnnotations.html +++ b/docs/docs/EMLAnnotations.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/EMLAttribute.html b/docs/docs/EMLAttribute.html index f0a87401b..3791d90e8 100644 --- a/docs/docs/EMLAttribute.html +++ b/docs/docs/EMLAttribute.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

@@ -121,7 +121,7 @@

Source:
diff --git a/docs/docs/EMLAttributeView.html b/docs/docs/EMLAttributeView.html index 0dca4dd94..79b6b682a 100644 --- a/docs/docs/EMLAttributeView.html +++ b/docs/docs/EMLAttributeView.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

@@ -48,7 +48,8 @@

Class: EMLAttributeView

EMLAttributeView()

-
An EMLAttributeView displays the info about one attribute in a data object
+
An EMLAttributeView displays the info about one attribute in a +data object
@@ -130,7 +131,7 @@

Source:
@@ -187,9 +188,854 @@

Extends

+

Members

+ + + +

+ + + + + className :string +

+ + + + +
+ The className to add to the view container +
+ + + +
Type:
+
    +
  • + +string + + +
  • +
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + +

+ + + + + events :Object +

+ + + + +
+ The events this view will listen to and the associated function to +call. +
+ + + +
Type:
+
    +
  • + +Object + + +
  • +
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + +

+ + + + + template :Underscore.template +

+ + + + +
+ The HTML template for an attribute +
+ + + +
Type:
+
    +
  • + +Underscore.template + + +
  • +
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + +

Methods

+ + + + + + + +

+ + + + + hideValidation(e) +

+ + + + + + +
+ Hides validation errors on this view +
+ + + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
e + + +Event + + + + The event that was triggered by the user
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

+ + + + + initialize(options) +

+ + + + + + +
+ Creates a new EMLAttributeView +
+ + + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
options + + +Object + + + + A literal object with options to pass to the +view +
Properties
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDefaultDescription
model + + +EMLAttribute + + + + + + <optional>
+ + + + + +
+ + The EMLAttribute model to +display. If none is provided, an empty EMLAttribute will be created.
isNew + + +boolean + + + + + + <optional>
+ + + + + +
+ + false + + Set to true if this is a new +attribute
+ +
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

+ + + + + postRender() +

+ + + + + + +
+ After this view has been rendered, add the MeasurementTypeView and +render the MeasurementScaleView +
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

+ + + + + render() → {EMLAttributeView} +

+ + + + + + +
+ Renders this view +
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + -

Methods

+ + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + +
+ A reference to this view +
+ + + +
+
+ Type +
+
+ +EMLAttributeView + + +
+
+ + + + + + @@ -211,14 +1057,203 @@

- Render and insert the MeasurementTypeView for this view - -This is separated out into its own method so it can be called -from `postRender()` which is called after the user swithces to -the EntityView tab for this attribute. We do this to avoid -loading as many MeasurementTypeViews as there are Attributes -which would get us rate limited by BioPortal because every -MeasurementTypeView hits BioPortal's API on render. + Render and insert the MeasurementTypeView for this view. + +This is separated out into its own method so it can be called from +`postRender()` which is called after the user switches to the +EntityView tab for this attribute. We do this to avoid loading as many +MeasurementTypeViews as there are Attributes which would get us rate +limited by BioPortal because every MeasurementTypeView hits BioPortal's +API on render. +
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

+ + + + + showValidation() +

+ + + + + + +
+ Shows validation errors on this view +
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

+ + + + + updateModel(e) +

+ + + + + + +
+ Updates the model with the new value from the DOM element that was +changed.
@@ -229,6 +1264,55 @@

+

Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
e + + +Event + + + + The event that was triggered by the user
+ + @@ -262,7 +1346,7 @@

Source:
diff --git a/docs/docs/EMLDataTable.html b/docs/docs/EMLDataTable.html index d9ebe390e..f5d5f3abb 100644 --- a/docs/docs/EMLDataTable.html +++ b/docs/docs/EMLDataTable.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/EMLDistribution.html b/docs/docs/EMLDistribution.html new file mode 100644 index 000000000..06cf2fc85 --- /dev/null +++ b/docs/docs/EMLDistribution.html @@ -0,0 +1,208 @@ + + + + + MetacatUI Dev Docs: Class: EMLDistribution + + + + + + + + + + + + + + +
+ +

Class: EMLDistribution

+ + + + + + +
+ +
+ +

EMLDistribution()

+ +
Information on how the resource is distributed online and +offline
+ + + + + +
+ + + +
+ + + + +
+ +
+ + + + + \ No newline at end of file diff --git a/docs/docs/EMLEntity.html b/docs/docs/EMLEntity.html index edebfc1a5..472df7803 100644 --- a/docs/docs/EMLEntity.html +++ b/docs/docs/EMLEntity.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/EMLEntityView.html b/docs/docs/EMLEntityView.html index b54622252..64a0aea0d 100644 --- a/docs/docs/EMLEntityView.html +++ b/docs/docs/EMLEntityView.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/EMLGeoCoverage.html b/docs/docs/EMLGeoCoverage.html index 48253d44f..35929f09a 100644 --- a/docs/docs/EMLGeoCoverage.html +++ b/docs/docs/EMLGeoCoverage.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/EMLMeasurementScale.html b/docs/docs/EMLMeasurementScale.html index 5e5f4de79..fa560c843 100644 --- a/docs/docs/EMLMeasurementScale.html +++ b/docs/docs/EMLMeasurementScale.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/EMLMeasurementScaleView.html b/docs/docs/EMLMeasurementScaleView.html index 9ad239bee..b5c744533 100644 --- a/docs/docs/EMLMeasurementScaleView.html +++ b/docs/docs/EMLMeasurementScaleView.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/EMLMeasurementTypeView.html b/docs/docs/EMLMeasurementTypeView.html index ba3a75a2a..cca2e4d4c 100644 --- a/docs/docs/EMLMeasurementTypeView.html +++ b/docs/docs/EMLMeasurementTypeView.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/EMLMethodStep.html b/docs/docs/EMLMethodStep.html index 34ad48c65..5b49cf148 100644 --- a/docs/docs/EMLMethodStep.html +++ b/docs/docs/EMLMethodStep.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/EMLMethods.html b/docs/docs/EMLMethods.html index 2292caa7a..b27083b16 100644 --- a/docs/docs/EMLMethods.html +++ b/docs/docs/EMLMethods.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/EMLMethodsView.html b/docs/docs/EMLMethodsView.html index 69f6cabd1..6e3a6c867 100644 --- a/docs/docs/EMLMethodsView.html +++ b/docs/docs/EMLMethodsView.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/EMLMissingValueCode.html b/docs/docs/EMLMissingValueCode.html new file mode 100644 index 000000000..ab7950a80 --- /dev/null +++ b/docs/docs/EMLMissingValueCode.html @@ -0,0 +1,931 @@ + + + + + MetacatUI Dev Docs: Class: EMLMissingValueCode + + + + + + + + + + + + + + +
+ +

Class: EMLMissingValueCode

+ + + + + + +
+ +
+ +

EMLMissingValueCode()

+ +
A missing value code is a code that is used to indicate +that a value is missing from the data.
+ + + + + +
+ +
+
+ + + + +

Constructor

+ + + +

+ + + + + new EMLMissingValueCode() +

+ + + + + + + + + + + + + + + + + + +
+ + + + +
Since:
+
  • 2.26.0
+ + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + +
See:
+
+ +
+ + + +
+ + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + +

Methods

+ + + + + + + +

+ + + + + defaults() → {object} +

+ + + + + + +
+ The default attributes for an EMLMissingValueCode model. +
+ + + + + + + + + + + + + +
Properties:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
type + + +string + + + + The element type in the DOM
code + + +string + + + + The missing value code
codeExplanation + + +string + + + + The explanation for the missing value code
nodeOrder + + +Array.<string> + + + + The order of the EML nodes in this object
+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + +
+ The default attributes +
+ + + +
+
+ Type +
+
+ +object + + +
+
+ + + + + + + + + + + + + +

+ + + + + isEmpty() → {boolean} +

+ + + + + + +
+ Return true if all of the model's attributes are empty +
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + + + +
+
+ Type +
+
+ +boolean + + +
+
+ + + + + + + + + + + + + +

+ + + + + serialize() → {string} +

+ + + + + + +
+ Create an XML string from the model's attributes. +
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + +
+ The XML string +
+ + + +
+
+ Type +
+
+ +string + + +
+
+ + + + + + + + + + + + + +

+ + + + + updateDOM(objectDOM) +

+ + + + + + +
+ Copy the original XML and update fields in a DOM object +
+ + + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
objectDOM + + +object + + + + The DOM object to update
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

+ + + + + validate() → {object|undefined} +

+ + + + + + +
+ Validate the model attributes +
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + +
+ The validation errors, if any +
+ + + +
+
+ Type +
+
+ +object +| + +undefined + + +
+
+ + + + + + + + + + + + + +
+ +
+ + + + +
+ +
+ + + + + \ No newline at end of file diff --git a/docs/docs/EMLMissingValueCodeView.html b/docs/docs/EMLMissingValueCodeView.html new file mode 100644 index 000000000..69e9d5e3b --- /dev/null +++ b/docs/docs/EMLMissingValueCodeView.html @@ -0,0 +1,2240 @@ + + + + + MetacatUI Dev Docs: Class: EMLMissingValueCodeView + + + + + + + + + + + + + + +
+ +

Class: EMLMissingValueCodeView

+ + + + + + +
+ +
+ +

EMLMissingValueCodeView()

+ +
An EMLMissingValueCodeView provides an editing interface for a +single EML Missing Value Code. The view provides two inputs, one of the +code and one for the code explanation. If the model is part of a +collection, the view will also provide a button to remove the model from +the collection.
+ + + + + +
+

Screenshot

+ + + +
+ + + + +
+ +
+
+ + + + +

Constructor

+ + + +

+ + + + + new EMLMissingValueCodeView() +

+ + + + + + + + + + + + + + + + + + +
+ + + + +
Since:
+
  • 2.26.0
+ + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + +
+ + +

Extends

+ + + + +
    +
  • Backbone.View
  • +
+ + + + + + + + + + + + + + + +

Members

+ + + +

+ + + + + buttonHTML :string +

+ + + + +
+ The HTML for the remove button +
+ + + +
Type:
+
    +
  • + +string + + +
  • +
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + +

+ + + + + className :string +

+ + + + +
+ The className to add to the view container +
+ + + +
Type:
+
    +
  • + +string + + +
  • +
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + +

+ + + + + classes :Object +

+ + + + +
+ The classes to add to the HTML elements in this view +
+ + + +
Type:
+
    +
  • + +Object + + +
  • +
+ + + + + +
Properties:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
removeButton + + +string + + + + The class to add to the remove button
+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + +

+ + + + + isNew :boolean +

+ + + + +
+ Set this to true if this row is for a blank input row. This will +prevent the view from rendering a remove button until the user starts +typing. +
+ + + +
Type:
+
    +
  • + +boolean + + +
  • +
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
Default Value:
+
    +
  • false
  • +
+ + + +
Source:
+
+ + + + + + + +
+ + + + + + + + +

+ + + + + text :Object +

+ + + + +
+ User-facing text strings that will be displayed in this view. +
+ + + +
Type:
+
    +
  • + +Object + + +
  • +
+ + + + + +
Properties:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
codePlaceholder + + +string + + + + The placeholder text for the code +input
codeExplanationPlaceholder + + +string + + + + The placeholder text +for the code explanation input
removeButton + + +string + + + + The text for the remove button
+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + +

+ + + + + type :string +

+ + + + +
+ The type of View this is +
+ + + +
Type:
+
    +
  • + +string + + +
  • +
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + +

Methods

+ + + + + + + +

+ + + + + handleTyping(e) +

+ + + + + + +
+ When a user types anything into any input, update the model and show +the remove button if it was not yet rendered. +
+ + + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
e + + +Event + + + + The event that was triggered by the user
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

+ + + + + initialize(options) +

+ + + + + + +
+ Creates a new EMLMissingValueCodeView +
+ + + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
options + + +Object + + + + A literal object with options to pass to the +view +
Properties
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDescription
model + + +EMLAttribute + + + + + + <optional>
+ + + + + +
The EMLMissingValueCode model +to render. If no model is provided, an empty model will be created.
+ +
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

+ + + + + previewRemove() +

+ + + + + + +
+ When the button is hovered over, indicate visually that the row will +be removed when the button is clicked +
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

+ + + + + removeListeners() +

+ + + + + + +
+ Remove listeners from the view's DOM elements +
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

+ + + + + removeSelf() +

+ + + + + + +
+ Remove this view from the DOM and collection and remove any event +listeners +
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

+ + + + + render() → {EMLMissingValueCodeView} +

+ + + + + + +
+ Renders this view +
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + +
+ A reference to this view +
+ + + +
+
+ Type +
+
+ +EMLMissingValueCodeView + + +
+
+ + + + + + + + + + + + + +

+ + + + + renderInput(attr) → {Element} +

+ + + + + + +
+ Create and insert the input element for one of the model's attributes. +This will add the input to the end of the view's element. +
+ + + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
attr + + +string + + + + The name of the attribute to create an input +for, either "code" or "codeExplanation"
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + +
+ The input element +
+ + + +
+
+ Type +
+
+ +Element + + +
+
+ + + + + + + + + + + + + +

+ + + + + renderRemoveButton() → {Element} +

+ + + + + + +
+ Create and insert the remove button +
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + +
+ The remove button +
+ + + +
+
+ Type +
+
+ +Element + + +
+
+ + + + + + + + + + + + + +

+ + + + + setListeners() +

+ + + + + + +
+ Set listeners on the view's DOM elements +
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

+ + + + + undoPreviewRemove() +

+ + + + + + +
+ When the button is no longer hovered over, undo the visual indication +that the row will be removed when the button is clicked +
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

+ + + + + updateModelFromInput(attr) → {string} +

+ + + + + + +
+ Update the model with the value in the input +
+ + + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
attr + + +string + + + + The name of the attribute to update, either +"code" or "codeExplanation"
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + +
+ The new value +
+ + + +
+
+ Type +
+
+ +string + + +
+
+ + + + + + + + + + + + + +
+ +
+ + + + +
+ +
+ + + + + \ No newline at end of file diff --git a/docs/docs/EMLMissingValueCodes.html b/docs/docs/EMLMissingValueCodes.html new file mode 100644 index 000000000..b325eee60 --- /dev/null +++ b/docs/docs/EMLMissingValueCodes.html @@ -0,0 +1,752 @@ + + + + + MetacatUI Dev Docs: Class: EMLMissingValueCodes + + + + + + + + + + + + + + +
+ +

Class: EMLMissingValueCodes

+ + + + + + +
+ +
+ +

EMLMissingValueCodes()

+ +
A collection of EMLMissingValueCodes.
+ + + + + +
+ +
+
+ + + + +

Constructor

+ + + +

+ + + + + new EMLMissingValueCodes() +

+ + + + + + + + + + + + + + + + + + +
+ + + + +
Since:
+
  • 2.26.0
+ + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + +

Members

+ + + +

+ + + + + model :Backbone.Model +

+ + + + +
+ The reference to the model class that this collection is made of. +
+ + + +
Type:
+
    +
  • + +Backbone.Model + + +
  • +
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + +

Methods

+ + + + + + + +

+ + + + + parse(objectDOM) +

+ + + + + + +
+ Parse the incoming XML nodes +
+ + + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
objectDOM + + +jQuery +| + +Element + + + + The XML DOM element that represents
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

+ + + + + removeEmptyModels() +

+ + + + + + +
+ Remove any empty models from the collection +
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

+ + + + + updateDOM() → {Array.<Element>} +

+ + + + + + +
+ Update the DOM with the current model state for each model in the +collection, then return the set of updated DOMs. +
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + +
+ An array of updated DOM elements +
+ + + +
+
+ Type +
+
+ +Array.<Element> + + +
+
+ + + + + + + + + + + + + +

+ + + + + validate() → {Array} +

+ + + + + + +
+ Validate the collection of missing value codes. This will remove any +empty models from the collection. +
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + +
+ An array of error messages +
+ + + +
+
+ Type +
+
+ +Array + + +
+
+ + + + + + + + + + + + + +
+ +
+ + + + +
+ +
+ + + + + \ No newline at end of file diff --git a/docs/docs/EMLMissingValueCodesView.html b/docs/docs/EMLMissingValueCodesView.html new file mode 100644 index 000000000..2f5c53d96 --- /dev/null +++ b/docs/docs/EMLMissingValueCodesView.html @@ -0,0 +1,2031 @@ + + + + + MetacatUI Dev Docs: Class: EMLMissingValueCodesView + + + + + + + + + + + + + + +
+ +

Class: EMLMissingValueCodesView

+ + + + + + +
+ +
+ +

EMLMissingValueCodesView()

+ +
An EMLMissingValueCodesView provides an editing interface for an EML +Missing Value Codes collection. For each missing value code, the view +provides two inputs, one of the code and one for the code explanation. Each +missing value code can be removed from the collection by clicking the +"Remove" button next to the code. A new row of inputs will automatically be +added to the view when the user starts typing in the last row of inputs.
+ + + + + +
+

Screenshot

+ + + +
+ + + + +
+ +
+
+ + + + +

Constructor

+ + + +

+ + + + + new EMLMissingValueCodesView() +

+ + + + + + + + + + + + + + + + + + +
+ + + + +
Since:
+
  • 2.26.0
+ + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + +
+ + +

Extends

+ + + + +
    +
  • Backbone.View
  • +
+ + + + + + + + + + + + + + + +

Members

+ + + +

+ + + + + className :string +

+ + + + +
+ The className to add to the view container +
+ + + +
Type:
+
    +
  • + +string + + +
  • +
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + +

+ + + + + classes :Object +

+ + + + +
+ The classes to add to the HTML elements in this view +
+ + + +
Type:
+
    +
  • + +Object + + +
  • +
+ + + + + +
Properties:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
title + + +string + + + + The class to add to the title element
description + + +string + + + + The class to add to the description +paragraph element
notification + + +string + + + + The class to add to the validation +message container element
rows + + +string + + + + The class to add to the container element for +the missing value code rows
+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + +

+ + + + + text :Object +

+ + + + +
+ User-facing text strings that will be displayed in this view. +
+ + + +
Type:
+
    +
  • + +Object + + +
  • +
+ + + + + +
Properties:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
title + + +string + + + + The title text for this view
description + + +Array.<string> + + + + The description text for this view. +Each string in the array will be rendered as a separate paragraph.
+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + +

+ + + + + type :string +

+ + + + +
+ The type of View this is +
+ + + +
Type:
+
    +
  • + +string + + +
  • +
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + +

Methods

+ + + + + + + +

+ + + + + addNewRow() +

+ + + + + + +
+ Add a new, empty Missing Value Code model to the collection. This will +trigger the creation of a new row in the view. +
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

+ + + + + addRow(model) → {EML211MissingValueCodeView} +

+ + + + + + +
+ Creates a new row view for a missing value code model and inserts it +into this view at the end. +
+ + + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
model + + +EMLMissingValueCode + + + + The model to create a row for
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + +
+ The row view that was created +
+ + + +
+
+ Type +
+
+ +EML211MissingValueCodeView + + +
+
+ + + + + + + + + + + + + +

+ + + + + initialize(options) +

+ + + + + + +
+ Creates a new EMLMissingValueCodesView +
+ + + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
options + + +Object + + + + A literal object with options to pass to the +view +
Properties
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeAttributesDescription
collection + + +EMLAttribute + + + + + + <optional>
+ + + + + +
The EMLMissingValueCodes +collection to render in this view
+ +
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

+ + + + + modelIsNew(model) → {boolean} +

+ + + + + + +
+ Tests is a model should be considered "new" for the purposes of +displaying it in the view. A "new" model is used to render a blank row +in the view for entry of a new missing value code. We consider it new +if it's the last in the collection and both attributes are blank. +
+ + + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
model + + +EMLMissingValueCode + + + + The model to test
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + +
+ Whether or not the model is new +
+ + + +
+
+ Type +
+
+ +boolean + + +
+
+ + + + + + + + + + + + + +

+ + + + + removeListeners() +

+ + + + + + +
+ Remove listeners that were previously set for this view +
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

+ + + + + removeRow(model) → {EML211MissingValueCodeView} +

+ + + + + + +
+ Removes a row view from this view +
+ + + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
model + + +EMLMissingValueCode + + + + The model to remove a row for
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + +
+ The row view that was removed +
+ + + +
+
+ Type +
+
+ +EML211MissingValueCodeView + + +
+
+ + + + + + + + + + + + + +

+ + + + + render() → {EMLMissingValueCodesView} +

+ + + + + + +
+ Renders this view +
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + +
+ A reference to this view +
+ + + +
+
+ Type +
+
+ +EMLMissingValueCodesView + + +
+
+ + + + + + + + + + + + + +

+ + + + + renderRows() +

+ + + + + + +
+ Renders the rows for each missing value code in the collection, and +adds a new row for entry of a new missing value code. +
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

+ + + + + renderText() +

+ + + + + + +
+ Add the title, description, and placeholder for a validation message. +
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

+ + + + + setListeners() +

+ + + + + + +
+ Set listeners required for this view +
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + +
+ +
+ + + + + \ No newline at end of file diff --git a/docs/docs/EMLNonNumericDomain.html b/docs/docs/EMLNonNumericDomain.html index ce185519c..a4261303d 100644 --- a/docs/docs/EMLNonNumericDomain.html +++ b/docs/docs/EMLNonNumericDomain.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/EMLNumericDomain.html b/docs/docs/EMLNumericDomain.html index 4caef97e6..3b3a2957e 100644 --- a/docs/docs/EMLNumericDomain.html +++ b/docs/docs/EMLNumericDomain.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/EMLOtherEntity.html b/docs/docs/EMLOtherEntity.html index 0e1cc3892..d7a911e0b 100644 --- a/docs/docs/EMLOtherEntity.html +++ b/docs/docs/EMLOtherEntity.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/EMLOtherEntityView.html b/docs/docs/EMLOtherEntityView.html index e48858037..00eb8b05c 100644 --- a/docs/docs/EMLOtherEntityView.html +++ b/docs/docs/EMLOtherEntityView.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/EMLParty.html b/docs/docs/EMLParty.html index 8324ba6c5..9d199a3c3 100644 --- a/docs/docs/EMLParty.html +++ b/docs/docs/EMLParty.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/EMLPartyView.html b/docs/docs/EMLPartyView.html index d7144e6b0..e7fa3c4d9 100644 --- a/docs/docs/EMLPartyView.html +++ b/docs/docs/EMLPartyView.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/EMLSpecializedText.html b/docs/docs/EMLSpecializedText.html index 802417565..c316e1a39 100644 --- a/docs/docs/EMLSpecializedText.html +++ b/docs/docs/EMLSpecializedText.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/EMLTempCoverageView.html b/docs/docs/EMLTempCoverageView.html index d0bd74b26..3d5267c27 100644 --- a/docs/docs/EMLTempCoverageView.html +++ b/docs/docs/EMLTempCoverageView.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/EMLTemporalCoverage.html b/docs/docs/EMLTemporalCoverage.html index 7f7b25960..b5ef4e0f9 100644 --- a/docs/docs/EMLTemporalCoverage.html +++ b/docs/docs/EMLTemporalCoverage.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/EMLText.html b/docs/docs/EMLText.html index d342fa655..29115b29b 100644 --- a/docs/docs/EMLText.html +++ b/docs/docs/EMLText.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/EMLText211.html b/docs/docs/EMLText211.html index a9fc31f21..cd73311fa 100644 --- a/docs/docs/EMLText211.html +++ b/docs/docs/EMLText211.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/EMLUnit.html b/docs/docs/EMLUnit.html index 113f42bc1..67b4e280a 100644 --- a/docs/docs/EMLUnit.html +++ b/docs/docs/EMLUnit.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/EMLView.html b/docs/docs/EMLView.html index 5bc299b81..b9f4b1531 100644 --- a/docs/docs/EMLView.html +++ b/docs/docs/EMLView.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/EMlGeoCoverageView_.html b/docs/docs/EMlGeoCoverageView_.html index 2e32a4080..eecf74c0a 100644 --- a/docs/docs/EMlGeoCoverageView_.html +++ b/docs/docs/EMlGeoCoverageView_.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/EditCollectionView.html b/docs/docs/EditCollectionView.html index 7846c1bc9..d548d99c5 100644 --- a/docs/docs/EditCollectionView.html +++ b/docs/docs/EditCollectionView.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/EditorView.html b/docs/docs/EditorView.html index 76bf57918..9275883bc 100644 --- a/docs/docs/EditorView.html +++ b/docs/docs/EditorView.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/ExternalView.html b/docs/docs/ExternalView.html index 35b716805..7a78245cd 100644 --- a/docs/docs/ExternalView.html +++ b/docs/docs/ExternalView.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/Feature.html b/docs/docs/Feature.html index 78c140739..4b103a014 100644 --- a/docs/docs/Feature.html +++ b/docs/docs/Feature.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/FeatureInfoView.html b/docs/docs/FeatureInfoView.html index 7dc81d85e..6fd2af032 100644 --- a/docs/docs/FeatureInfoView.html +++ b/docs/docs/FeatureInfoView.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/Features.html b/docs/docs/Features.html index 812bc0c06..5537e4fea 100644 --- a/docs/docs/Features.html +++ b/docs/docs/Features.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/Filter.html b/docs/docs/Filter.html index 8cd4c6a7b..0c170e00d 100644 --- a/docs/docs/Filter.html +++ b/docs/docs/Filter.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/FilterEditorView.html b/docs/docs/FilterEditorView.html index 12a4da94c..d4d423954 100644 --- a/docs/docs/FilterEditorView.html +++ b/docs/docs/FilterEditorView.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/FilterGroup.html b/docs/docs/FilterGroup.html index 827c008d0..cb5edae29 100644 --- a/docs/docs/FilterGroup.html +++ b/docs/docs/FilterGroup.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/FilterGroupView.html b/docs/docs/FilterGroupView.html index a57ee782e..cb22272cf 100644 --- a/docs/docs/FilterGroupView.html +++ b/docs/docs/FilterGroupView.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/FilterGroupsView.html b/docs/docs/FilterGroupsView.html index bd3856402..40095b499 100644 --- a/docs/docs/FilterGroupsView.html +++ b/docs/docs/FilterGroupsView.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/FilterView.html b/docs/docs/FilterView.html index 708135de6..f95ff5a34 100644 --- a/docs/docs/FilterView.html +++ b/docs/docs/FilterView.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/Filters.html b/docs/docs/Filters.html index 86577086a..23dd49f9c 100644 --- a/docs/docs/Filters.html +++ b/docs/docs/Filters.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/FiltersMapConnector.html b/docs/docs/FiltersMapConnector.html index 179889787..fd0014e00 100644 --- a/docs/docs/FiltersMapConnector.html +++ b/docs/docs/FiltersMapConnector.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/FiltersSearchConnector.html b/docs/docs/FiltersSearchConnector.html index b7a0538d7..d8747d26a 100644 --- a/docs/docs/FiltersSearchConnector.html +++ b/docs/docs/FiltersSearchConnector.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/FooterView.html b/docs/docs/FooterView.html index 6509f58b7..58a68da9f 100644 --- a/docs/docs/FooterView.html +++ b/docs/docs/FooterView.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/Geohash.html b/docs/docs/Geohash.html index 6fd6e6af2..388d0bfac 100644 --- a/docs/docs/Geohash.html +++ b/docs/docs/Geohash.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/Geohashes.html b/docs/docs/Geohashes.html index 370a9ea12..3b58c48f4 100644 --- a/docs/docs/Geohashes.html +++ b/docs/docs/Geohashes.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/GoogleAnalytics.html b/docs/docs/GoogleAnalytics.html index 4721d5475..a6afc6fc3 100644 --- a/docs/docs/GoogleAnalytics.html +++ b/docs/docs/GoogleAnalytics.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/GroupListView.html b/docs/docs/GroupListView.html index 9f55edee4..3e04c220e 100644 --- a/docs/docs/GroupListView.html +++ b/docs/docs/GroupListView.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/ImageUploaderView.html b/docs/docs/ImageUploaderView.html index 01c0fc824..30f67d11e 100644 --- a/docs/docs/ImageUploaderView.html +++ b/docs/docs/ImageUploaderView.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/LayerDetailView.html b/docs/docs/LayerDetailView.html index 5c9efea1e..bd770773e 100644 --- a/docs/docs/LayerDetailView.html +++ b/docs/docs/LayerDetailView.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/LayerDetailsView.html b/docs/docs/LayerDetailsView.html index abff96be2..48761d98f 100644 --- a/docs/docs/LayerDetailsView.html +++ b/docs/docs/LayerDetailsView.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/LayerInfoView.html b/docs/docs/LayerInfoView.html index 7ec7e577c..ab3c78bbf 100644 --- a/docs/docs/LayerInfoView.html +++ b/docs/docs/LayerInfoView.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/LayerItemView.html b/docs/docs/LayerItemView.html index 39ca19dfe..f266633f9 100644 --- a/docs/docs/LayerItemView.html +++ b/docs/docs/LayerItemView.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/LayerListView.html b/docs/docs/LayerListView.html index 465213712..8d766003d 100644 --- a/docs/docs/LayerListView.html +++ b/docs/docs/LayerListView.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/LayerNavigationView.html b/docs/docs/LayerNavigationView.html index 31463e001..3f19f9864 100644 --- a/docs/docs/LayerNavigationView.html +++ b/docs/docs/LayerNavigationView.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/LayerOpacityView.html b/docs/docs/LayerOpacityView.html index da05d2c27..40d951ea6 100644 --- a/docs/docs/LayerOpacityView.html +++ b/docs/docs/LayerOpacityView.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/LegendView.html b/docs/docs/LegendView.html index 092464338..fc30b8640 100644 --- a/docs/docs/LegendView.html +++ b/docs/docs/LegendView.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/LogsSearch.html b/docs/docs/LogsSearch.html index 355be89d1..c799029fa 100644 --- a/docs/docs/LogsSearch.html +++ b/docs/docs/LogsSearch.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/LookupModel.html b/docs/docs/LookupModel.html index c5dbd3b00..f52998294 100644 --- a/docs/docs/LookupModel.html +++ b/docs/docs/LookupModel.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/Map.html b/docs/docs/Map.html index 8a068d846..4a47f6d64 100644 --- a/docs/docs/Map.html +++ b/docs/docs/Map.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/MapAsset.html b/docs/docs/MapAsset.html index d9c75852f..e5e01221e 100644 --- a/docs/docs/MapAsset.html +++ b/docs/docs/MapAsset.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

@@ -1203,7 +1203,7 @@
Parameters:
Source:
@@ -1374,7 +1374,7 @@
Parameters:
Source:
@@ -1543,7 +1543,7 @@
Parameters:
Source:
@@ -1711,7 +1711,7 @@
Parameters:
Source:
@@ -1879,7 +1879,7 @@
Parameters:
Source:
@@ -2051,7 +2051,7 @@
Parameters:
Source:
@@ -2249,7 +2249,7 @@
Parameters:
Source:
@@ -2307,6 +2307,128 @@
Returns:
+

+ + + + + getCesiumOptions() → {Object} +

+ + + + + + +
+ Get the asset config's cesiumOptions, if it has any. This will return +a copy of the cesiumOptions object, so that changes made to the +returned object will not affect the original cesiumOptions object. +
+ + + + + + + + + + + + + +
+ + + + +
Since:
+
  • 2.26.0
+ + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + +
+ A copy of the cesiumOptions object, or null if there +are no cesiumOptions. +
+ + + +
+
+ Type +
+
+ +Object + + +
+
+ + + + + + + + + + + + +

@@ -2417,7 +2539,7 @@
Parameters:
Source:
@@ -2585,7 +2707,7 @@

Parameters:
Source:
@@ -2752,7 +2874,7 @@
Parameters:
Source:
@@ -2870,7 +2992,7 @@

Source:
@@ -2990,7 +3112,7 @@

Source:
@@ -3157,7 +3279,7 @@

Parameters:
Source:
@@ -3252,7 +3374,7 @@

Source:
@@ -3396,7 +3518,7 @@

Parameters:
Source:
@@ -3549,7 +3671,7 @@
Parameters:
Source:
@@ -3666,7 +3788,7 @@

Source:
diff --git a/docs/docs/MapAssets.html b/docs/docs/MapAssets.html index 98a788b9c..1f0bd3adf 100644 --- a/docs/docs/MapAssets.html +++ b/docs/docs/MapAssets.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/MapConfig.html b/docs/docs/MapConfig.html index 61648ec0a..b51d978bf 100644 --- a/docs/docs/MapConfig.html +++ b/docs/docs/MapConfig.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/MapModel.html b/docs/docs/MapModel.html index 47afd94f9..3071062fd 100644 --- a/docs/docs/MapModel.html +++ b/docs/docs/MapModel.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/MapSearchConnector.html b/docs/docs/MapSearchConnector.html index 2ae4b49f8..366cca932 100644 --- a/docs/docs/MapSearchConnector.html +++ b/docs/docs/MapSearchConnector.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/MapSearchFiltersConnector.html b/docs/docs/MapSearchFiltersConnector.html index a16ac98cd..2010ef0e2 100644 --- a/docs/docs/MapSearchFiltersConnector.html +++ b/docs/docs/MapSearchFiltersConnector.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/MapView.html b/docs/docs/MapView.html index 310ef9e96..e4dd60e33 100644 --- a/docs/docs/MapView.html +++ b/docs/docs/MapView.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/MarkdownEditorView.html b/docs/docs/MarkdownEditorView.html index 0f4c2d784..d0a5cf6ff 100644 --- a/docs/docs/MarkdownEditorView.html +++ b/docs/docs/MarkdownEditorView.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/MarkdownView.html b/docs/docs/MarkdownView.html index 82c68df16..6da7e073a 100644 --- a/docs/docs/MarkdownView.html +++ b/docs/docs/MarkdownView.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/MdqRunView.html b/docs/docs/MdqRunView.html index 9da8264a8..808d363f5 100644 --- a/docs/docs/MdqRunView.html +++ b/docs/docs/MdqRunView.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/MetacatUI.html b/docs/docs/MetacatUI.html index 4d6dc8bb3..76bb6b4d1 100644 --- a/docs/docs/MetacatUI.html +++ b/docs/docs/MetacatUI.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/MetadataView.html b/docs/docs/MetadataView.html index dd21677b8..31f739fc2 100644 --- a/docs/docs/MetadataView.html +++ b/docs/docs/MetadataView.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

@@ -184,11 +184,97 @@

Extends

+ + + +

Members

+ + + +

+ + + + + alternativeIdentifierHelpText :string +

+ + + + +
+ Text to display in the help tooltip for the alternative identifier field, +if the field is present. +
+ + + +
Type:
+
    +
  • + +string + + +
  • +
+ + + + + +
+ + + + +
Since:
+
  • 2.26.0
+ + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + +

Methods

@@ -258,7 +344,7 @@

Source:
@@ -354,7 +440,7 @@

Source:
@@ -448,7 +534,7 @@

Source:
@@ -640,7 +726,7 @@

Parameters:
Source:
@@ -836,7 +922,7 @@
Parameters:
Source:
@@ -1061,7 +1147,7 @@
Parameters:
Source:
@@ -1286,7 +1372,7 @@
Parameters:
Source:
@@ -1384,7 +1470,7 @@

Source:
@@ -1481,7 +1567,7 @@

Source:
@@ -1627,7 +1713,7 @@

Parameters:
Source:
@@ -1723,7 +1809,7 @@

Source:
@@ -1867,7 +1953,7 @@

Parameters:
Source:
@@ -2043,7 +2129,7 @@
Parameters:
Source:
@@ -2138,7 +2224,7 @@

Source:
@@ -2234,7 +2320,7 @@

Source:
@@ -2331,7 +2417,7 @@

Source:
@@ -2481,7 +2567,7 @@

Parameters:
Source:
@@ -2653,7 +2739,7 @@
Parameters:
Source:
@@ -2749,7 +2835,106 @@

Source:
+ + + + + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + +

+ + + + + renderAltIdentifierHelpText() → {jQuery} +

+ + + + + + +
+ Inserts an info icon next to the alternate identifier field, if it +exists. The icon will display a tooltip with the help text for the +field. +
+ + + + + + + + + + + + + +
+ + + + +
Since:
+
  • 2.26.0
+ + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
@@ -2774,6 +2959,28 @@

+

Returns:
+ + +
+ The jQuery object for the icon element. +
+ + + +
+
+ Type +
+
+ +jQuery + + +
+
+ + @@ -2848,7 +3055,7 @@

Source:
diff --git a/docs/docs/MetricModalView.html b/docs/docs/MetricModalView.html index 908e4756e..ce970d939 100644 --- a/docs/docs/MetricModalView.html +++ b/docs/docs/MetricModalView.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/MetricView.html b/docs/docs/MetricView.html index 485d0af72..407a5d2ba 100644 --- a/docs/docs/MetricView.html +++ b/docs/docs/MetricView.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/Metrics.html b/docs/docs/Metrics.html index 8365ef8ff..851651977 100644 --- a/docs/docs/Metrics.html +++ b/docs/docs/Metrics.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/MetricsChartView.html b/docs/docs/MetricsChartView.html index c2f482036..30760b977 100644 --- a/docs/docs/MetricsChartView.html +++ b/docs/docs/MetricsChartView.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/NavbarView.html b/docs/docs/NavbarView.html index 1e69277c7..a3f7fd608 100644 --- a/docs/docs/NavbarView.html +++ b/docs/docs/NavbarView.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/NodeSelect.html b/docs/docs/NodeSelect.html index a2d86f4d1..c0887d67f 100644 --- a/docs/docs/NodeSelect.html +++ b/docs/docs/NodeSelect.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/NumericFilter.html b/docs/docs/NumericFilter.html index bceb52990..4cf42dac8 100644 --- a/docs/docs/NumericFilter.html +++ b/docs/docs/NumericFilter.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/NumericFilterView.html b/docs/docs/NumericFilterView.html index 48af9eabe..b53ed3004 100644 --- a/docs/docs/NumericFilterView.html +++ b/docs/docs/NumericFilterView.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/ObjectFormat.html b/docs/docs/ObjectFormat.html index 13edb83d9..8a464e8d4 100644 --- a/docs/docs/ObjectFormat.html +++ b/docs/docs/ObjectFormat.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/ObjectFormatSelect.html b/docs/docs/ObjectFormatSelect.html index b4511927a..c760b4d1d 100644 --- a/docs/docs/ObjectFormatSelect.html +++ b/docs/docs/ObjectFormatSelect.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/ObjectFormats.html b/docs/docs/ObjectFormats.html index ffa25c4db..4f0de4202 100644 --- a/docs/docs/ObjectFormats.html +++ b/docs/docs/ObjectFormats.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/PortEditorDataView.html b/docs/docs/PortEditorDataView.html index 8d7c9bad8..813c9cf60 100644 --- a/docs/docs/PortEditorDataView.html +++ b/docs/docs/PortEditorDataView.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/PortEditorImageView.html b/docs/docs/PortEditorImageView.html index 058eac41c..c258100ae 100644 --- a/docs/docs/PortEditorImageView.html +++ b/docs/docs/PortEditorImageView.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/PortEditorLogosView.html b/docs/docs/PortEditorLogosView.html index 1698c0a00..2cf2d82c4 100644 --- a/docs/docs/PortEditorLogosView.html +++ b/docs/docs/PortEditorLogosView.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/PortEditorMdSectionView.html b/docs/docs/PortEditorMdSectionView.html index 37bc9e88d..a85916556 100644 --- a/docs/docs/PortEditorMdSectionView.html +++ b/docs/docs/PortEditorMdSectionView.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/PortEditorSectionView.html b/docs/docs/PortEditorSectionView.html index 6063e6f8a..f94eb0e68 100644 --- a/docs/docs/PortEditorSectionView.html +++ b/docs/docs/PortEditorSectionView.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/PortEditorSectionsView.html b/docs/docs/PortEditorSectionsView.html index 15ab96de3..eff0959f7 100644 --- a/docs/docs/PortEditorSectionsView.html +++ b/docs/docs/PortEditorSectionsView.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/PortEditorSettingsView.html b/docs/docs/PortEditorSettingsView.html index 44908916d..864088ef1 100644 --- a/docs/docs/PortEditorSettingsView.html +++ b/docs/docs/PortEditorSettingsView.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/PortalDataView.html b/docs/docs/PortalDataView.html index 90b1e152d..23665ba36 100644 --- a/docs/docs/PortalDataView.html +++ b/docs/docs/PortalDataView.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/PortalEditorView.html b/docs/docs/PortalEditorView.html index 11c46bccf..5630d088d 100644 --- a/docs/docs/PortalEditorView.html +++ b/docs/docs/PortalEditorView.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/PortalHeaderView.html b/docs/docs/PortalHeaderView.html index fe814a2be..0ffa51991 100644 --- a/docs/docs/PortalHeaderView.html +++ b/docs/docs/PortalHeaderView.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/PortalImage.html b/docs/docs/PortalImage.html index 640e46f90..160a085e2 100644 --- a/docs/docs/PortalImage.html +++ b/docs/docs/PortalImage.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/PortalListView.html b/docs/docs/PortalListView.html index cb06084b8..8b464142f 100644 --- a/docs/docs/PortalListView.html +++ b/docs/docs/PortalListView.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/PortalLogosView.html b/docs/docs/PortalLogosView.html index bfa3339bd..5bffd9cfb 100644 --- a/docs/docs/PortalLogosView.html +++ b/docs/docs/PortalLogosView.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/PortalMembersView.html b/docs/docs/PortalMembersView.html index ffff9f613..267c770d9 100644 --- a/docs/docs/PortalMembersView.html +++ b/docs/docs/PortalMembersView.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/PortalModel.html b/docs/docs/PortalModel.html index df4b9fe76..b55fc4edc 100644 --- a/docs/docs/PortalModel.html +++ b/docs/docs/PortalModel.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

@@ -1254,7 +1254,7 @@
Parameters:
Source:
@@ -3754,7 +3754,7 @@

Source:
@@ -3812,6 +3812,135 @@

Returns:
+

+ + + + + getCanonicalDOIIRI() → {string|null} +

+ + + + + + +
+ Check if the seriesID or PID matches a DOI regex, and if so, return +a canonical IRI for the DOI. +
+ + + + + + + + + + + + + +
+ + + + +
Since:
+
  • 2.26.0
+ + + +
Inherited From:
+
+ + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + +
+ - The canonical IRI for the DOI, or null if +neither the seriesId nor the PID match a DOI regex. +
+ + + +
+
+ Type +
+
+ +string +| + +null + + +
+
+ + + + + + + + + + + + +

@@ -4393,7 +4522,7 @@

Source:
@@ -4748,7 +4877,7 @@

Parameters:
Source:
@@ -5588,7 +5717,7 @@

Parameters:
Source:
@@ -5712,7 +5841,7 @@

Source:
@@ -5882,7 +6011,7 @@

Parameters:
Source:
@@ -5999,7 +6128,7 @@

Source:
@@ -6238,7 +6367,7 @@

Source:
@@ -6362,7 +6491,7 @@

Source:
@@ -6532,7 +6661,7 @@

Parameters:
Source:
@@ -8264,7 +8393,7 @@
Parameters:
Source:
@@ -9308,7 +9437,7 @@

Source:
@@ -9461,7 +9590,7 @@

Parameters:
Source:
diff --git a/docs/docs/PortalSectionModel.html b/docs/docs/PortalSectionModel.html index 19073ea1c..1ff962db4 100644 --- a/docs/docs/PortalSectionModel.html +++ b/docs/docs/PortalSectionModel.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/PortalSectionView.html b/docs/docs/PortalSectionView.html index fd15a70ee..c23a579b9 100644 --- a/docs/docs/PortalSectionView.html +++ b/docs/docs/PortalSectionView.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/PortalUsagesView.html b/docs/docs/PortalUsagesView.html index 7d612f4a5..864e5d47b 100644 --- a/docs/docs/PortalUsagesView.html +++ b/docs/docs/PortalUsagesView.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/PortalView.html b/docs/docs/PortalView.html index a79881478..6ccb668d6 100644 --- a/docs/docs/PortalView.html +++ b/docs/docs/PortalView.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/PortalVisualizationsView.html b/docs/docs/PortalVisualizationsView.html index 0f17448cc..bcefa0c93 100644 --- a/docs/docs/PortalVisualizationsView.html +++ b/docs/docs/PortalVisualizationsView.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/PortalsSearchView.html b/docs/docs/PortalsSearchView.html index 4c60cd1fd..65721ae5b 100644 --- a/docs/docs/PortalsSearchView.html +++ b/docs/docs/PortalsSearchView.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/Project.html b/docs/docs/Project.html index 53f3c2793..c0faffa4c 100644 --- a/docs/docs/Project.html +++ b/docs/docs/Project.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/ProjectList.html b/docs/docs/ProjectList.html index c9037c278..4a9ebc73b 100644 --- a/docs/docs/ProjectList.html +++ b/docs/docs/ProjectList.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/ProjectView.html b/docs/docs/ProjectView.html index 238f038da..6a103e080 100644 --- a/docs/docs/ProjectView.html +++ b/docs/docs/ProjectView.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/QualityCheck.html b/docs/docs/QualityCheck.html index 12ba56537..b4ae7b9dc 100644 --- a/docs/docs/QualityCheck.html +++ b/docs/docs/QualityCheck.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/QualityReport.html b/docs/docs/QualityReport.html index f39a1ee2d..2a5bc7f1c 100644 --- a/docs/docs/QualityReport.html +++ b/docs/docs/QualityReport.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/QueryBuilderView.html b/docs/docs/QueryBuilderView.html index 1f865c215..485608956 100644 --- a/docs/docs/QueryBuilderView.html +++ b/docs/docs/QueryBuilderView.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/QueryField.html b/docs/docs/QueryField.html index 24e38dcd5..d495ea4ea 100644 --- a/docs/docs/QueryField.html +++ b/docs/docs/QueryField.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/QueryFieldSelectView.html b/docs/docs/QueryFieldSelectView.html index 58b432c46..f1216ef7f 100644 --- a/docs/docs/QueryFieldSelectView.html +++ b/docs/docs/QueryFieldSelectView.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/QueryFields.html b/docs/docs/QueryFields.html index 6833ccab7..9418f8f4b 100644 --- a/docs/docs/QueryFields.html +++ b/docs/docs/QueryFields.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/QueryRuleView.html b/docs/docs/QueryRuleView.html index f51361481..8448e0010 100644 --- a/docs/docs/QueryRuleView.html +++ b/docs/docs/QueryRuleView.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/Quota.html b/docs/docs/Quota.html index 6d23d589c..0f297c01f 100644 --- a/docs/docs/Quota.html +++ b/docs/docs/Quota.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/Quotas.html b/docs/docs/Quotas.html index c07a0c3d5..47acb3c3c 100644 --- a/docs/docs/Quotas.html +++ b/docs/docs/Quotas.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/RegisterCitationView.html b/docs/docs/RegisterCitationView.html index 4fa34828a..b3975c53b 100644 --- a/docs/docs/RegisterCitationView.html +++ b/docs/docs/RegisterCitationView.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/ScaleBarView.html b/docs/docs/ScaleBarView.html index 199984810..937ca1889 100644 --- a/docs/docs/ScaleBarView.html +++ b/docs/docs/ScaleBarView.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/ScienceMetadata.html b/docs/docs/ScienceMetadata.html index 74f4e9cb1..61f4ff521 100644 --- a/docs/docs/ScienceMetadata.html +++ b/docs/docs/ScienceMetadata.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

@@ -512,7 +512,7 @@
Parameters:
Source:
@@ -1801,7 +1801,7 @@

Source:
@@ -1859,6 +1859,135 @@

Returns:
+

+ + + + + getCanonicalDOIIRI() → {string|null} +

+ + + + + + +
+ Check if the seriesID or PID matches a DOI regex, and if so, return +a canonical IRI for the DOI. +
+ + + + + + + + + + + + + +
+ + + + +
Since:
+
  • 2.26.0
+ + + +
Inherited From:
+
+ + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + +
+ - The canonical IRI for the DOI, or null if +neither the seriesId nor the PID match a DOI regex. +
+ + + +
+
+ Type +
+
+ +string +| + +null + + +
+
+ + + + + + + + + + + + +

@@ -2021,7 +2150,7 @@

Source:
@@ -2181,7 +2310,7 @@

Parameters:
Source:
@@ -2712,7 +2841,7 @@

Parameters:
Source:
@@ -2836,7 +2965,7 @@

Source:
@@ -3006,7 +3135,7 @@

Parameters:
Source:
@@ -3123,7 +3252,7 @@

Source:
@@ -3362,7 +3491,7 @@

Source:
@@ -3486,7 +3615,7 @@

Source:
@@ -3656,7 +3785,7 @@

Parameters:
Source:
@@ -4254,7 +4383,7 @@
Parameters:
Source:
@@ -4768,7 +4897,7 @@

Source:
@@ -4921,7 +5050,7 @@

Parameters:
Source:
diff --git a/docs/docs/ScienceMetadataView.html b/docs/docs/ScienceMetadataView.html index 5354c5b35..49a288bef 100644 --- a/docs/docs/ScienceMetadataView.html +++ b/docs/docs/ScienceMetadataView.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/Search.html b/docs/docs/Search.html index 2dbc84784..83fa0fb4e 100644 --- a/docs/docs/Search.html +++ b/docs/docs/Search.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/SearchResultView.html b/docs/docs/SearchResultView.html index 9eb003f17..738d5e34a 100644 --- a/docs/docs/SearchResultView.html +++ b/docs/docs/SearchResultView.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/SearchResultsPagerView.html b/docs/docs/SearchResultsPagerView.html index 3b92dce2d..ea2bb4e3a 100644 --- a/docs/docs/SearchResultsPagerView.html +++ b/docs/docs/SearchResultsPagerView.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/SearchResultsView.html b/docs/docs/SearchResultsView.html index e68ed9055..68f452992 100644 --- a/docs/docs/SearchResultsView.html +++ b/docs/docs/SearchResultsView.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/SearchableSelectView.html b/docs/docs/SearchableSelectView.html index c1f996a50..79a65bcd1 100644 --- a/docs/docs/SearchableSelectView.html +++ b/docs/docs/SearchableSelectView.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/SemanticFilterView.html b/docs/docs/SemanticFilterView.html index 9d552cc0f..b020108bb 100644 --- a/docs/docs/SemanticFilterView.html +++ b/docs/docs/SemanticFilterView.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/SignInView.html b/docs/docs/SignInView.html index dc97b2905..a6d3681d6 100644 --- a/docs/docs/SignInView.html +++ b/docs/docs/SignInView.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/SolrResult.html b/docs/docs/SolrResult.html index 213f5df3f..11c124277 100644 --- a/docs/docs/SolrResult.html +++ b/docs/docs/SolrResult.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

@@ -296,7 +296,7 @@
Parameters:
Source:
@@ -400,7 +400,7 @@

Source:
diff --git a/docs/docs/SolrResults.html b/docs/docs/SolrResults.html index b890b1bac..d560e3239 100644 --- a/docs/docs/SolrResults.html +++ b/docs/docs/SolrResults.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/SorterView.html b/docs/docs/SorterView.html index 43f262fc6..20a07d27b 100644 --- a/docs/docs/SorterView.html +++ b/docs/docs/SorterView.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/SpatialFilter.html b/docs/docs/SpatialFilter.html index 653149fe9..9e2d330ef 100644 --- a/docs/docs/SpatialFilter.html +++ b/docs/docs/SpatialFilter.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/Stats.html b/docs/docs/Stats.html index c2f0a71b5..85da43a71 100644 --- a/docs/docs/Stats.html +++ b/docs/docs/Stats.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/Subscription.html b/docs/docs/Subscription.html index f0bcbf64d..1f8573691 100644 --- a/docs/docs/Subscription.html +++ b/docs/docs/Subscription.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/TOCView.html b/docs/docs/TOCView.html index b006ad6e5..3e84177db 100644 --- a/docs/docs/TOCView.html +++ b/docs/docs/TOCView.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/TableEditorView.html b/docs/docs/TableEditorView.html index de981cf4b..8822f96cd 100644 --- a/docs/docs/TableEditorView.html +++ b/docs/docs/TableEditorView.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/ToggleFilter.html b/docs/docs/ToggleFilter.html index a778197d6..adbdb7939 100644 --- a/docs/docs/ToggleFilter.html +++ b/docs/docs/ToggleFilter.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/ToggleFilterView.html b/docs/docs/ToggleFilterView.html index df7037498..ccce5131f 100644 --- a/docs/docs/ToggleFilterView.html +++ b/docs/docs/ToggleFilterView.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/ToolbarView.html b/docs/docs/ToolbarView.html index f2d64f606..219ece7fd 100644 --- a/docs/docs/ToolbarView.html +++ b/docs/docs/ToolbarView.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/UIRouter.html b/docs/docs/UIRouter.html index c708fb7a6..09f55355e 100644 --- a/docs/docs/UIRouter.html +++ b/docs/docs/UIRouter.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/Units.html b/docs/docs/Units.html index 0a73be23e..fc8d51c69 100644 --- a/docs/docs/Units.html +++ b/docs/docs/Units.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/Usage.html b/docs/docs/Usage.html index c2972dd15..2bf1ace62 100644 --- a/docs/docs/Usage.html +++ b/docs/docs/Usage.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/Usages.html b/docs/docs/Usages.html index 861540248..85cdc4c40 100644 --- a/docs/docs/Usages.html +++ b/docs/docs/Usages.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/UserGroup.html b/docs/docs/UserGroup.html index 366a5e1aa..dfd794681 100644 --- a/docs/docs/UserGroup.html +++ b/docs/docs/UserGroup.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/UserGroupView.html b/docs/docs/UserGroupView.html index e60d80d56..0a61c359d 100644 --- a/docs/docs/UserGroupView.html +++ b/docs/docs/UserGroupView.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/UserView.html b/docs/docs/UserView.html index 02dc0e64e..0e05f5ee1 100644 --- a/docs/docs/UserView.html +++ b/docs/docs/UserView.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/Utilities.html b/docs/docs/Utilities.html index b6b836a87..a98849553 100644 --- a/docs/docs/Utilities.html +++ b/docs/docs/Utilities.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/VectorFilter.html b/docs/docs/VectorFilter.html index bf8106bca..2cfa01618 100644 --- a/docs/docs/VectorFilter.html +++ b/docs/docs/VectorFilter.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/VectorFilters.html b/docs/docs/VectorFilters.html index fd15cc2b2..4870300c7 100644 --- a/docs/docs/VectorFilters.html +++ b/docs/docs/VectorFilters.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/docs_other_addtlDocs.jsdoc.html b/docs/docs/docs_other_addtlDocs.jsdoc.html index 60e9594b4..dd50f3dd4 100644 --- a/docs/docs/docs_other_addtlDocs.jsdoc.html +++ b/docs/docs/docs_other_addtlDocs.jsdoc.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/global.html b/docs/docs/global.html index cd95f83e1..7e516fdcd 100644 --- a/docs/docs/global.html +++ b/docs/docs/global.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

@@ -213,7 +213,9 @@

- Returns the default properties for this model. Defined here. + Default values for an EML 211 Distribution model. This is essentially a +flattened version of the EML 2.1.1 DistributionType, including nodes and +node attributes. Not all nodes are supported by this model yet.
@@ -256,6 +258,30 @@

Properties:
+ + + type + + + + + +string + + + + + + + + + + The name of the top-level XML element that this +model represents (distribution) + + + + objectXML @@ -274,7 +300,8 @@
Properties:
- The XML string for this model + The XML string representation of the +distribution @@ -297,20 +324,21 @@
Properties:
- The XML DOM for this model + The DOM representation of the +distribution - parentModel + mediumName -EML211 +string @@ -320,20 +348,21 @@
Properties:
- The parent EML211 model + The name of the medium on which the +offline distribution is stored - taxonomicClassification + mediumVolume -Array.<taxonomicClassification> +string @@ -343,16 +372,15 @@
Properties:
- An array -of taxonomic classifications, defining the taxonomic coverage of the -dataset + The volume number of the medium on +which the offline distribution is stored - generalTaxonomicCoverage + mediumFormat @@ -368,8 +396,127 @@
Properties:
- A general description of the -taxonomic coverage of the dataset + The format of the medium on which the +offline distribution is stored + + + + + + + mediumNote + + + + + +string + + + + + + + + + + A note about the medium on which the +offline distribution is stored + + + + + + + url + + + + + +string + + + + + + + + + + The URL of the online distribution + + + + + + + urlFunction + + + + + +string + + + + + + + + + + The purpose of the URL. May be either +"information" or "download". + + + + + + + onlineDescription + + + + + +string + + + + + + + + + + A description of the online +distribution + + + + + + + parentModel + + + + + +EML211 + + + + + + + + + + The parent model of this distribution +model @@ -408,7 +555,7 @@
Properties:
Source:
@@ -426,17 +573,21 @@
Properties:
-

- +

+ - taxonomicClassification :Object + defaults :Object

+
+ Returns the default properties for this model. Defined here. +
+

Type:
@@ -479,7 +630,7 @@
Properties:
- taxonRankName + objectXML @@ -495,21 +646,20 @@
Properties:
- The name of the taxonomic rank, for -example, Domain, Kingdom, etc. + The XML string for this model - taxonRankValue + objectDOM -string +Element @@ -519,21 +669,20 @@
Properties:
- The value for the given taxonomic rank, -for example, Animalia, Chordata, etc. + The XML DOM for this model - commonName + parentModel -Array.<string> +EML211 @@ -543,21 +692,20 @@
Properties:
- Common name(s) for the taxon, for example -["Animal"] + The parent EML211 model - taxonId + taxonomicClassification -Array.<Object> +Array.<taxonomicClassification> @@ -567,33 +715,16 @@
Properties:
- A taxon identifier from a controlled -vocabulary, for example, ITIS, NCBI, etc. -
Properties
- - - - - - - - - - - - - - - - - + + - - + + + +
NameTypeDescription
An array +of taxonomic classifications, defining the taxonomic coverage of the +dataset
providergeneralTaxonomicCoverage @@ -609,52 +740,1118 @@
Properties
-
The provider of the taxon identifier, -given as a URI, for example http://www.itis.govA general description of the +taxonomic coverage of the dataset
+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + +

+ + + + + distLocations :Array.<string> +

+ + + + +
+ The direct children of the node that can have values, and +that are supported by this model. "inline" is not supported yet. A +distribution may have ONE of these nodes. +
+ + + +
Type:
+
    +
  • + +Array.<string> + + +
  • +
+ + + + + +
+ + + + +
Since:
+
  • 2.26.0
+ + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + +

+ + + + + offlineNodes :Array.<string> +

+ + + + +
+ lower-case EML node names that belong within the node. These +must be in the correct order. +
+ + + +
Type:
+
    +
  • + +Array.<string> + + +
  • +
+ + + + + +
+ + + + +
Since:
+
  • 2.26.0
+ + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + +

+ + + + + onlineNodes :Array.<string> +

+ + + + +
+ lower-case EML node names that belong within the node. These +must be in the correct order. +
+ + + +
Type:
+
    +
  • + +Array.<string> + + +
  • +
+ + + + + +
+ + + + +
Since:
+
  • 2.26.0
+ + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + +

+ + + + + taxonomicClassification :Object +

+ + + + + + +
Type:
+
    +
  • + +Object + + +
  • +
+ + + + + +
Properties:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
taxonRankName + + +string + + + + The name of the taxonomic rank, for +example, Domain, Kingdom, etc.
taxonRankValue + + +string + + + + The value for the given taxonomic rank, +for example, Animalia, Chordata, etc.
commonName + + +Array.<string> + + + + Common name(s) for the taxon, for example +["Animal"]
taxonId + + +Array.<Object> + + + + A taxon identifier from a controlled +vocabulary, for example, ITIS, NCBI, etc. +
Properties
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
provider + + +string + + + + The provider of the taxon identifier, +given as a URI, for example http://www.itis.gov
value + + +string + + + + The identifier from the provider, for +example, 180092
+ +
taxonomicClassification + + +Array.<Object> + + + + A nested taxonomic +classification, since taxonomy is represented as a hierarchy in EML.
+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + +

+ + + + + urlFunctionTypes :Array.<string> +

+ + + + +
+ the allowed values for the urlFunction attribute +
+ + + +
Type:
+
    +
  • + +Array.<string> + + +
  • +
+ + + + + +
+ + + + +
Since:
+
  • 2.26.0
+ + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + +

Methods

+ + + + + + + +

+ + + + + classificationsAreEqual(c1, c2) → {boolean} +

+ + + + + + +
+ Check if two classifications are equal. Two classifications are equal if +they have the same rankName, rankValue, commonName, and taxonId, as well +as the same nested classifications. This function is recursive. +
+ + + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
c1 + + +taxonomicClassification + + + +
c2 + + +taxonomicClassification + + + +
+ + + + + + +
+ + + + +
Since:
+
  • 2.24.0
+ + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + +
+ - True if the two classifications are equal +
+ + + +
+
+ Type +
+
+ +boolean + + +
+
+ + + + + + + + + + + + + +

+ + + + + hasValuesForDistributionLocation(location) → {boolean} +

+ + + + + + +
+ Check if the model has values for the given distribution location. +
+ + + + + + + + + +
Parameters:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescription
location + + +string + + + + one of the names of the direct children of the + node, i.e. any of the values in this.distLocations.
+ + + + + + +
+ + + + +
Since:
+
  • 2.26.0
+ + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + +
+ - true if the model has values for the given location, +false otherwise. +
+ + + +
+
+ Type +
+
+ +boolean + + +
+
+ + + + + + + + + + + + + +

+ + + + + initialize(options) +

+ + + + + + +
+ Initializes this EMLDistribution object +
+ - - - value - - - - -string - - - - - The identifier from the provider, for -example, 180092 - +
Parameters:
- - - - + + + + + + + + + + + + + + + + + - + + @@ -675,6 +1872,8 @@
Properties
+ +
@@ -704,7 +1903,7 @@
Properties
Source:
@@ -720,11 +1919,19 @@
Properties
- - - -

Methods

+ + + + + + + + + + + + @@ -732,12 +1939,12 @@

Methods

-

- +

+ - classificationsAreEqual(c1, c2) → {boolean} + isDuplicate(classification, indexToSkip) → {boolean}

@@ -746,9 +1953,12 @@

- Check if two classifications are equal. Two classifications are equal if -they have the same rankName, rankValue, commonName, and taxonId, as well -as the same nested classifications. This function is recursive. + Returns true if the given classification is a duplicate of another +classification in this model. Duplicates are considered those that have +all values identical, including rankName, rankValue, commonName, and +taxonId. If there are any nested classifications, then they too must +be identical for the classification to be considered a duplicate, this +this function is recursive. Only checks one classification at a time.
@@ -784,7 +1994,7 @@

Parameters:
- + - + + @@ -867,7 +2080,7 @@
Parameters:
Source:
@@ -896,7 +2109,7 @@
Returns:
- - True if the two classifications are equal + - True if the given classification is a duplicate
@@ -925,12 +2138,12 @@
Returns:
-

- +

+ - isDuplicate(classification, indexToSkip) → {boolean} + parse(attributes)

@@ -939,12 +2152,7 @@

- Returns true if the given classification is a duplicate of another -classification in this model. Duplicates are considered those that have -all values identical, including rankName, rankValue, commonName, and -taxonId. If there are any nested classifications, then they too must -be identical for the classification to be considered a duplicate, this -this function is recursive. Only checks one classification at a time. + Parses the given XML node or object and sets the model's attributes
@@ -980,36 +2188,13 @@

Parameters:
- - - - - - - - - - - - - - - - - + + @@ -1039,9 +2222,6 @@
Parameters:
-
Since:
-
  • 2.24.0
- @@ -1066,7 +2246,7 @@
Parameters:
Source:
@@ -1091,28 +2271,6 @@
Parameters:
-
Returns:
- - -
- - True if the given classification is a duplicate -
- - - -
-
- Type -
-
- -boolean - - -
-
- - @@ -1225,6 +2383,118 @@
Fires:
+ + + + + +

+ + + + + serialize() → {string} +

+ + + + + + +
+ Returns the XML string representation of this model +
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Source:
+
+ + + + + + + +
+ + + + + + + + + + + + + + + +
Returns:
+ + + + +
+
+ Type +
+
+ +string + + +
+
+ + + + + + + + @@ -2487,7 +3757,7 @@
Properties:
Source:
@@ -4330,7 +5600,7 @@
Properties:
Source:
diff --git a/docs/docs/index.html b/docs/docs/index.html index f84747f2c..3615fe93b 100644 --- a/docs/docs/index.html +++ b/docs/docs/index.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_app.js.html b/docs/docs/src_js_app.js.html index 58ede3d6a..ebec0db1c 100644 --- a/docs/docs/src_js_app.js.html +++ b/docs/docs/src_js_app.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_collections_AccessPolicy.js.html b/docs/docs/src_js_collections_AccessPolicy.js.html index ab5c4c7b1..6c8c98b85 100644 --- a/docs/docs/src_js_collections_AccessPolicy.js.html +++ b/docs/docs/src_js_collections_AccessPolicy.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_collections_Citations.js.html b/docs/docs/src_js_collections_Citations.js.html index 48ade8248..0c4c73500 100644 --- a/docs/docs/src_js_collections_Citations.js.html +++ b/docs/docs/src_js_collections_Citations.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_collections_DataPackage.js.html b/docs/docs/src_js_collections_DataPackage.js.html index bb74c27cb..f67bcff4a 100644 --- a/docs/docs/src_js_collections_DataPackage.js.html +++ b/docs/docs/src_js_collections_DataPackage.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_collections_Filters.js.html b/docs/docs/src_js_collections_Filters.js.html index 4fa3d7845..7331da265 100644 --- a/docs/docs/src_js_collections_Filters.js.html +++ b/docs/docs/src_js_collections_Filters.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_collections_ObjectFormats.js.html b/docs/docs/src_js_collections_ObjectFormats.js.html index 75ccea245..11ee651bf 100644 --- a/docs/docs/src_js_collections_ObjectFormats.js.html +++ b/docs/docs/src_js_collections_ObjectFormats.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_collections_ProjectList.js.html b/docs/docs/src_js_collections_ProjectList.js.html index 2b457e03d..9a2da20ef 100644 --- a/docs/docs/src_js_collections_ProjectList.js.html +++ b/docs/docs/src_js_collections_ProjectList.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_collections_QualityReport.js.html b/docs/docs/src_js_collections_QualityReport.js.html index 4c924faa4..dc84cb46a 100644 --- a/docs/docs/src_js_collections_QualityReport.js.html +++ b/docs/docs/src_js_collections_QualityReport.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_collections_SolrResults.js.html b/docs/docs/src_js_collections_SolrResults.js.html index 45ae86505..45f8390de 100644 --- a/docs/docs/src_js_collections_SolrResults.js.html +++ b/docs/docs/src_js_collections_SolrResults.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_collections_Units.js.html b/docs/docs/src_js_collections_Units.js.html index cd406e603..2a0555a74 100644 --- a/docs/docs/src_js_collections_Units.js.html +++ b/docs/docs/src_js_collections_Units.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_collections_UserGroup.js.html b/docs/docs/src_js_collections_UserGroup.js.html index 9586ed1c9..90306e0f0 100644 --- a/docs/docs/src_js_collections_UserGroup.js.html +++ b/docs/docs/src_js_collections_UserGroup.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_collections_bookkeeper_Quotas.js.html b/docs/docs/src_js_collections_bookkeeper_Quotas.js.html index bef225d3b..384ab86f3 100644 --- a/docs/docs/src_js_collections_bookkeeper_Quotas.js.html +++ b/docs/docs/src_js_collections_bookkeeper_Quotas.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_collections_bookkeeper_Usages.js.html b/docs/docs/src_js_collections_bookkeeper_Usages.js.html index dabe5c166..fd42174ea 100644 --- a/docs/docs/src_js_collections_bookkeeper_Usages.js.html +++ b/docs/docs/src_js_collections_bookkeeper_Usages.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_collections_maps_AssetColors.js.html b/docs/docs/src_js_collections_maps_AssetColors.js.html index 2d5d4146a..def003d4f 100644 --- a/docs/docs/src_js_collections_maps_AssetColors.js.html +++ b/docs/docs/src_js_collections_maps_AssetColors.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_collections_maps_Features.js.html b/docs/docs/src_js_collections_maps_Features.js.html index d6a47d0ea..00fbe852d 100644 --- a/docs/docs/src_js_collections_maps_Features.js.html +++ b/docs/docs/src_js_collections_maps_Features.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_collections_maps_Geohashes.js.html b/docs/docs/src_js_collections_maps_Geohashes.js.html index c937a1d0a..aa562a0c1 100644 --- a/docs/docs/src_js_collections_maps_Geohashes.js.html +++ b/docs/docs/src_js_collections_maps_Geohashes.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_collections_maps_MapAssets.js.html b/docs/docs/src_js_collections_maps_MapAssets.js.html index cf169c816..1434a98d2 100644 --- a/docs/docs/src_js_collections_maps_MapAssets.js.html +++ b/docs/docs/src_js_collections_maps_MapAssets.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_collections_maps_VectorFilters.js.html b/docs/docs/src_js_collections_maps_VectorFilters.js.html index 755fe6fb8..f881b0ff1 100644 --- a/docs/docs/src_js_collections_maps_VectorFilters.js.html +++ b/docs/docs/src_js_collections_maps_VectorFilters.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_collections_metadata_eml_EMLAnnotations.js.html b/docs/docs/src_js_collections_metadata_eml_EMLAnnotations.js.html index 6441a9eae..2e8b14a58 100644 --- a/docs/docs/src_js_collections_metadata_eml_EMLAnnotations.js.html +++ b/docs/docs/src_js_collections_metadata_eml_EMLAnnotations.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_collections_metadata_eml_EMLMissingValueCodes.js.html b/docs/docs/src_js_collections_metadata_eml_EMLMissingValueCodes.js.html new file mode 100644 index 000000000..2d8f550a8 --- /dev/null +++ b/docs/docs/src_js_collections_metadata_eml_EMLMissingValueCodes.js.html @@ -0,0 +1,146 @@ + + + + + MetacatUI Dev Docs: Source: src/js/collections/metadata/eml/EMLMissingValueCodes.js + + + + + + + + + + + + + + +
+ +

Source: src/js/collections/metadata/eml/EMLMissingValueCodes.js

+ + + + + + +
+
+
"use strict";
+
+define(["backbone", "models/metadata/eml211/EMLMissingValueCode"], function (
+  Backbone,
+  EMLMissingValueCode
+) {
+  /**
+   * @class EMLMissingValueCodes
+   * @classdesc A collection of EMLMissingValueCodes.
+   * @classcategory Collections/Metadata/EML
+   * @since 2.26.0
+   */
+  var EMLMissingValueCodes = Backbone.Collection.extend(
+    /** @lends EMLMissingValueCodes.prototype */
+    {
+      /**
+       * The reference to the model class that this collection is made of.
+       * @type {Backbone.Model}
+       */
+      model: EMLMissingValueCode,
+
+      /**
+       * Parse the incoming XML nodes
+       * @param {jQuery|Element} objectDOM - The XML DOM element that represents
+       */
+      parse: function (objectDOM) {
+        const collection = this;
+
+        if (!objectDOM) return;
+        const $objectDOM = $(objectDOM);
+
+        // Get all of the missingValueCode nodes
+        const nodeName = "missingvaluecode";
+        const nodes = $objectDOM.filter(nodeName);
+        // Loop through each missingValueCode node
+        const opts = { parse: true };
+        for (let i = 0; i < nodes.length; i++) {
+          const node = nodes[i];
+          // Create a new missingValueCode model & add it to the collection
+          const attrs = { objectDOM: node };
+          const missingValueCode = new EMLMissingValueCode(attrs, opts);
+          collection.add(missingValueCode);
+        }
+
+        return collection;
+      },
+
+      /**
+       * Update the DOM with the current model state for each model in the
+       * collection, then return the set of updated DOMs.
+       * @returns {Element[]} An array of updated DOM elements
+       */
+      updateDOM: function () {
+        const objectDOMs = this.map((model) => model.updateDOM());
+        return objectDOMs;
+      },
+
+      /**
+       * Remove any empty models from the collection
+       */
+      removeEmptyModels: function () {
+        this.remove(this.filter((model) => model.isEmpty()));
+      },
+
+      /**
+       * Validate the collection of missing value codes. This will remove any
+       * empty models from the collection.
+       * @returns {Array} An array of error messages
+       */
+      validate: function () {
+        const errors = [];
+        this.forEach((model) => {
+          if (!model.isValid()) {
+            errors.push(model.validationError);
+          }
+        });
+        // return errors.length ? errors : null;
+        // For now, if there is at least one error, just return the first one
+        return errors.length ? errors[0] : null;
+      },
+    }
+  );
+
+  return EMLMissingValueCodes;
+});
+
+
+
+ + + + +
+ +
+ + + + + diff --git a/docs/docs/src_js_collections_queryFields_QueryFields.js.html b/docs/docs/src_js_collections_queryFields_QueryFields.js.html index 938a2cbc7..a41e6febb 100644 --- a/docs/docs/src_js_collections_queryFields_QueryFields.js.html +++ b/docs/docs/src_js_collections_queryFields_QueryFields.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_common_Utilities.js.html b/docs/docs/src_js_common_Utilities.js.html index fa810c2a5..3f270cf9a 100644 --- a/docs/docs/src_js_common_Utilities.js.html +++ b/docs/docs/src_js_common_Utilities.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_models_AccessRule.js.html b/docs/docs/src_js_models_AccessRule.js.html index 64e4e3958..f69f1bb34 100644 --- a/docs/docs/src_js_models_AccessRule.js.html +++ b/docs/docs/src_js_models_AccessRule.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_models_AppModel.js.html b/docs/docs/src_js_models_AppModel.js.html index d554355e4..82f17c67e 100644 --- a/docs/docs/src_js_models_AppModel.js.html +++ b/docs/docs/src_js_models_AppModel.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

@@ -467,6 +467,21 @@

Source: src/js/models/AppModel.js

* @since 2.13.0 */ editorSchemaLocation: "https://eml.ecoinformatics.org/eml-2.2.0 https://eml.ecoinformatics.org/eml-2.2.0/eml.xsd", + + /** + * The text to use for the eml system attribute. The system attribute + * indicates the data management system within which an identifier is in + * scope and therefore unique. This is typically a URL (Uniform Resource + * Locator) that indicates a data management system. All identifiers that + * share a system must be unique. In other words, if the same identifier + * is used in two locations with identical systems, then by definition the + * objects at which they point are in fact the same object. + * @type {string} + * @since 2.26.0 + * @link https://eml.ecoinformatics.org/schema/eml-resource_xsd#SystemType + * @link https://eml.ecoinformatics.org/schema/eml_xsd + */ + emlSystem: "knb", /** * This error message is displayed when the Editor encounters an error saving @@ -2444,6 +2459,76 @@

Source: src/js/models/AppModel.js

this.set("description", this.defaults.description); }, + /** + * Remove all DOI prefixes from a DOI string, including https, http, doi.org, + * dx.doi.org, and doi:. + * @param {string} str - The DOI string to remove prefixes from. + * @returns {string} - The DOI string without any prefixes. + * @since 2.26.0 + */ + removeAllDOIPrefixes: function (str) { + if (!str) return ""; + // Remove https and http prefixes + str = str.replace(/^(https?:\/\/)?/, ""); + // Remove domain prefixes, like doi.org and dx.doi.org + str = str.replace(/^(doi\.org\/|dx\.doi\.org\/)/, ""); + // Remove doi: prefix + str = str.replace(/^doi:/, ""); + return str; + }, + + /** + * Check if a string is a valid DOI. + * @param {string} doi - The string to check. + * @returns {boolean} - True if the string is a valid DOI, false otherwise. + * @since 2.26.0 + */ + isDOI: function (str) { + try { + if (!str) return false; + str = this.removeAllDOIPrefixes(str); + const doiRegex = /^10\.[0-9]{4,}(?:[.][0-9]+)*\/[^\s"<>]+$/; + return doiRegex.test(str); + } catch (e) { + console.error("Error checking if string is a DOI", e); + return false; + } + }, + + /** + * Get the URL for the online location of the object being cited when it + * has a DOI. If the DOI is not passed to the function, or if the string + * is not a DOI, then an empty string is returned. + * @param {string} str - The DOI string, handles both DOI and DOI URL, + * with or without prefixes + * @returns {string} - The DOI URL + * @since 2.23.0 + */ + DOItoURL: function (str) { + if (!str) return ""; + str = this.removeAllDOIPrefixes(str); + if (!this.isDOI(str)) return ""; + return "https://doi.org/" + str; + }, + + /** + * Get the DOI from a DOI URL. The URL can be http or https, can include the + * "doi:" prefix or not, and can use "dx.doi.org" or "doi.org" as the + * domain. If a string is not passed to the function, or if the string is + * not for a DOI URL, then an empty string is returned. + * @param {string} url - The DOI URL + * @returns {string} - The DOI string, including the "doi:" prefix + * @since 2.26.0 + */ + URLtoDOI: function (url) { + if (!url) return ""; + const doiURLRegex = + /https?:\/\/(dx\.)?doi\.org\/(doi:)?(10\.[0-9]{4,}(?:[.][0-9]+)*\/[^\s"<>]+)/; + const doiURLMatch = url.match(doiURLRegex); + if (doiURLMatch) return "doi:" + doiURLMatch[3]; + return ""; + }, + }); return AppModel; }); diff --git a/docs/docs/src_js_models_CitationModel.js.html b/docs/docs/src_js_models_CitationModel.js.html index 94b01bc0f..98ef5cdeb 100644 --- a/docs/docs/src_js_models_CitationModel.js.html +++ b/docs/docs/src_js_models_CitationModel.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

@@ -1023,15 +1023,7 @@

Source: src/js/models/CitationModel.js

* @since 2.23.0 */ isDOI: function (str) { - try { - if (!str) return false; - str = this.removeAllDOIPrefixes(str); - const doiRegex = /^10\.[0-9]{4,}(?:[.][0-9]+)*\/[^\s"<>]+$/; - return doiRegex.test(str); - } catch (e) { - console.error("Error checking if string is a DOI", e); - return false; - } + return MetacatUI.appModel.isDOI(str); }, /** @@ -1045,10 +1037,7 @@

Source: src/js/models/CitationModel.js

* @since 2.23.0 */ DOItoURL: function (str) { - if (!str) return ""; - str = this.removeAllDOIPrefixes(str); - if (!this.isDOI(str)) return ""; - return "https://doi.org/" + str; + return MetacatUI.appModel.DOItoURL(str); }, /** @@ -1061,12 +1050,7 @@

Source: src/js/models/CitationModel.js

* @since 2.23.0 */ URLtoDOI: function (url) { - if (!url) return ""; - const doiURLRegex = - /https?:\/\/(dx\.)?doi\.org\/(doi:)?(10\.[0-9]{4,}(?:[.][0-9]+)*\/[^\s"<>]+)/; - const doiURLMatch = url.match(doiURLRegex); - if (doiURLMatch) return "doi:" + doiURLMatch[3]; - return ""; + return MetacatUI.appModel.URLtoDOI(url); }, /** diff --git a/docs/docs/src_js_models_CollectionModel.js.html b/docs/docs/src_js_models_CollectionModel.js.html index 847eff88c..8ac332357 100644 --- a/docs/docs/src_js_models_CollectionModel.js.html +++ b/docs/docs/src_js_models_CollectionModel.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_models_DataONEObject.js.html b/docs/docs/src_js_models_DataONEObject.js.html index 9f5c3bbc8..1748ba1e5 100644 --- a/docs/docs/src_js_models_DataONEObject.js.html +++ b/docs/docs/src_js_models_DataONEObject.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

@@ -1860,6 +1860,22 @@

Source: src/js/models/DataONEObject.js

createViewURL: function(){ return MetacatUI.root + "/view/" + encodeURIComponent((this.get("seriesId") || this.get("id"))); }, + + /** + * Check if the seriesID or PID matches a DOI regex, and if so, return + * a canonical IRI for the DOI. + * @return {string|null} - The canonical IRI for the DOI, or null if + * neither the seriesId nor the PID match a DOI regex. + * @since 2.26.0 + */ + getCanonicalDOIIRI: function () { + const id = this.get("id"); + const seriesId = this.get("seriesId"); + let DOI = null; + if (this.isDOI(seriesId)) DOI = seriesId; + else if (this.isDOI(id)) DOI = id; + return MetacatUI.appModel.DOItoURL(DOI); + }, /** * Converts the identifier string to a string safe to use in an XML id attribute @@ -2178,43 +2194,10 @@

Source: src/js/models/DataONEObject.js

* @returns {boolean} True if it is a DOI */ isDOI: function(customString) { - var DOI_PREFIXES = ["doi:10.", "http://dx.doi.org/10.", "http://doi.org/10.", "http://doi.org/doi:10.", - "https://dx.doi.org/10.", "https://doi.org/10.", "https://doi.org/doi:10."], - DOI_REGEX = new RegExp(/^10.\d{4,9}\/[-._;()/:A-Z0-9]+$/i);; - - //If a custom string is given, then check that instead of the seriesId and id from the model - if( typeof customString == "string" ){ - for (var i=0; i < DOI_PREFIXES.length; i++) { - if (customString.toLowerCase().indexOf(DOI_PREFIXES[i].toLowerCase()) == 0 ) - return true; - } - - //If there is no DOI prefix, check for a DOI without the prefix using a regular expression - if( DOI_REGEX.test(customString) ){ - return true; - } - - } - else{ - var seriesId = this.get("seriesId"), - pid = this.get("id"); - - for (var i=0; i < DOI_PREFIXES.length; i++) { - if (seriesId && seriesId.toLowerCase().indexOf(DOI_PREFIXES[i].toLowerCase()) == 0 ) - return true; - else if (pid && pid.toLowerCase().indexOf(DOI_PREFIXES[i].toLowerCase()) == 0 ) - return true; - } - - //If there is no DOI prefix, check for a DOI without the prefix using a regular expression - if( DOI_REGEX.test(seriesId) || DOI_REGEX.test(pid) ){ - return true; - } - - } - - return false; - }, + return isDOI(customString) || + isDOI(this.get("id")) || + isDOI(this.get("seriesId")); + }, /** * Creates an array of objects that represent Member Nodes that could possibly be this diff --git a/docs/docs/src_js_models_LogsSearch.js.html b/docs/docs/src_js_models_LogsSearch.js.html index c249e2d3d..c2a1cad0b 100644 --- a/docs/docs/src_js_models_LogsSearch.js.html +++ b/docs/docs/src_js_models_LogsSearch.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_models_LookupModel.js.html b/docs/docs/src_js_models_LookupModel.js.html index e2a774edd..246834a9f 100644 --- a/docs/docs/src_js_models_LookupModel.js.html +++ b/docs/docs/src_js_models_LookupModel.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_models_Map.js.html b/docs/docs/src_js_models_Map.js.html index cfba1c7e3..cc7e71e1b 100644 --- a/docs/docs/src_js_models_Map.js.html +++ b/docs/docs/src_js_models_Map.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_models_MetricsModel.js.html b/docs/docs/src_js_models_MetricsModel.js.html index a1c6b98c9..068de75b2 100644 --- a/docs/docs/src_js_models_MetricsModel.js.html +++ b/docs/docs/src_js_models_MetricsModel.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_models_PackageModel.js.html b/docs/docs/src_js_models_PackageModel.js.html index 5f9a599d5..2fca1b17e 100644 --- a/docs/docs/src_js_models_PackageModel.js.html +++ b/docs/docs/src_js_models_PackageModel.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_models_QualityCheckModel.js.html b/docs/docs/src_js_models_QualityCheckModel.js.html index 038ac1810..238b55ce1 100644 --- a/docs/docs/src_js_models_QualityCheckModel.js.html +++ b/docs/docs/src_js_models_QualityCheckModel.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_models_Search.js.html b/docs/docs/src_js_models_Search.js.html index a1f46d520..933413916 100644 --- a/docs/docs/src_js_models_Search.js.html +++ b/docs/docs/src_js_models_Search.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

@@ -1006,11 +1006,8 @@

Source: src/js/models/Search.js

term = term.replace(/%2F/g, "%5C%2F"); if (escapeSquareBrackets) { - console.log("Escaping square brackets in term: ", term); term = term.replace(/%5B/g, "%5C%5B"); term = term.replace(/%5D/g, "%5C%5D"); - } else { - console.log("Not escaping square brackets in term: ", term); } return term; diff --git a/docs/docs/src_js_models_SolrResult.js.html b/docs/docs/src_js_models_SolrResult.js.html index be8a63752..df92eaaae 100644 --- a/docs/docs/src_js_models_SolrResult.js.html +++ b/docs/docs/src_js_models_SolrResult.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

@@ -254,43 +254,10 @@

Source: src/js/models/SolrResult.js

* @param {string} customString - Optional. An identifier string to check instead of the id and seriesId attributes on the model * @returns {boolean} True if it is a DOI */ - isDOI: function(customString) { - var DOI_PREFIXES = ["doi:10.", "http://dx.doi.org/10.", "http://doi.org/10.", "http://doi.org/doi:10.", - "https://dx.doi.org/10.", "https://doi.org/10.", "https://doi.org/doi:10."], - DOI_REGEX = new RegExp(/^10.\d{4,9}\/[-._;()/:A-Z0-9]+$/i);; - - //If a custom string is given, then check that instead of the seriesId and id from the model - if( typeof customString == "string" ){ - for (var i=0; i < DOI_PREFIXES.length; i++) { - if (customString.toLowerCase().indexOf(DOI_PREFIXES[i].toLowerCase()) == 0 ) - return true; - } - - //If there is no DOI prefix, check for a DOI without the prefix using a regular expression - if( DOI_REGEX.test(customString) ){ - return true; - } - - } - else{ - var seriesId = this.get("seriesId"), - pid = this.get("id"); - - for (var i=0; i < DOI_PREFIXES.length; i++) { - if (seriesId && seriesId.toLowerCase().indexOf(DOI_PREFIXES[i].toLowerCase()) == 0 ) - return true; - else if (pid && pid.toLowerCase().indexOf(DOI_PREFIXES[i].toLowerCase()) == 0 ) - return true; - } - - //If there is no DOI prefix, check for a DOI without the prefix using a regular expression - if( DOI_REGEX.test(seriesId) || DOI_REGEX.test(pid) ){ - return true; - } - - } - - return false; + isDOI: function (customString) { + return MetacatUI.appModel.isDOI(customString) || + MetacatUI.appModel.isDOI(this.get("id")) || + MetacatUI.appModel.isDOI(this.get("seriesId")); }, /* diff --git a/docs/docs/src_js_models_Stats.js.html b/docs/docs/src_js_models_Stats.js.html index 1bb91ae5c..c42d90ee0 100644 --- a/docs/docs/src_js_models_Stats.js.html +++ b/docs/docs/src_js_models_Stats.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_models_UserModel.js.html b/docs/docs/src_js_models_UserModel.js.html index 3f0ef6eb5..4b8258c6e 100644 --- a/docs/docs/src_js_models_UserModel.js.html +++ b/docs/docs/src_js_models_UserModel.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_models_analytics_Analytics.js.html b/docs/docs/src_js_models_analytics_Analytics.js.html index ff838f75e..3db3a4cda 100644 --- a/docs/docs/src_js_models_analytics_Analytics.js.html +++ b/docs/docs/src_js_models_analytics_Analytics.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_models_analytics_GoogleAnalytics.js.html b/docs/docs/src_js_models_analytics_GoogleAnalytics.js.html index 8e1e253df..42631c344 100644 --- a/docs/docs/src_js_models_analytics_GoogleAnalytics.js.html +++ b/docs/docs/src_js_models_analytics_GoogleAnalytics.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_models_bookkeeper_Quota.js.html b/docs/docs/src_js_models_bookkeeper_Quota.js.html index 8d7466106..0457b7187 100644 --- a/docs/docs/src_js_models_bookkeeper_Quota.js.html +++ b/docs/docs/src_js_models_bookkeeper_Quota.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_models_bookkeeper_Subscription.js.html b/docs/docs/src_js_models_bookkeeper_Subscription.js.html index aac9866fa..e1cc32325 100644 --- a/docs/docs/src_js_models_bookkeeper_Subscription.js.html +++ b/docs/docs/src_js_models_bookkeeper_Subscription.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_models_bookkeeper_Usage.js.html b/docs/docs/src_js_models_bookkeeper_Usage.js.html index 3e9c4b73c..67aa8315b 100644 --- a/docs/docs/src_js_models_bookkeeper_Usage.js.html +++ b/docs/docs/src_js_models_bookkeeper_Usage.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_models_connectors_Filters-Map.js.html b/docs/docs/src_js_models_connectors_Filters-Map.js.html index 2584b9222..90a55e040 100644 --- a/docs/docs/src_js_models_connectors_Filters-Map.js.html +++ b/docs/docs/src_js_models_connectors_Filters-Map.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_models_connectors_Filters-Search.js.html b/docs/docs/src_js_models_connectors_Filters-Search.js.html index ed000ec7e..38adde381 100644 --- a/docs/docs/src_js_models_connectors_Filters-Search.js.html +++ b/docs/docs/src_js_models_connectors_Filters-Search.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_models_connectors_Map-Search-Filters.js.html b/docs/docs/src_js_models_connectors_Map-Search-Filters.js.html index 14ffb0b9d..c7736a10c 100644 --- a/docs/docs/src_js_models_connectors_Map-Search-Filters.js.html +++ b/docs/docs/src_js_models_connectors_Map-Search-Filters.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_models_connectors_Map-Search.js.html b/docs/docs/src_js_models_connectors_Map-Search.js.html index ef66ec6cc..ea0a91fee 100644 --- a/docs/docs/src_js_models_connectors_Map-Search.js.html +++ b/docs/docs/src_js_models_connectors_Map-Search.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_models_filters_BooleanFilter.js.html b/docs/docs/src_js_models_filters_BooleanFilter.js.html index 90343f2a0..c8aa28797 100644 --- a/docs/docs/src_js_models_filters_BooleanFilter.js.html +++ b/docs/docs/src_js_models_filters_BooleanFilter.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_models_filters_ChoiceFilter.js.html b/docs/docs/src_js_models_filters_ChoiceFilter.js.html index 0720a98de..65635cf44 100644 --- a/docs/docs/src_js_models_filters_ChoiceFilter.js.html +++ b/docs/docs/src_js_models_filters_ChoiceFilter.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_models_filters_DateFilter.js.html b/docs/docs/src_js_models_filters_DateFilter.js.html index f75f073f3..6ee8c4d8a 100644 --- a/docs/docs/src_js_models_filters_DateFilter.js.html +++ b/docs/docs/src_js_models_filters_DateFilter.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_models_filters_Filter.js.html b/docs/docs/src_js_models_filters_Filter.js.html index a27157569..ba1280b47 100644 --- a/docs/docs/src_js_models_filters_Filter.js.html +++ b/docs/docs/src_js_models_filters_Filter.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_models_filters_FilterGroup.js.html b/docs/docs/src_js_models_filters_FilterGroup.js.html index 19c9e75d3..528599d85 100644 --- a/docs/docs/src_js_models_filters_FilterGroup.js.html +++ b/docs/docs/src_js_models_filters_FilterGroup.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_models_filters_NumericFilter.js.html b/docs/docs/src_js_models_filters_NumericFilter.js.html index b3e12fae1..734e4fedf 100644 --- a/docs/docs/src_js_models_filters_NumericFilter.js.html +++ b/docs/docs/src_js_models_filters_NumericFilter.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_models_filters_SpatialFilter.js.html b/docs/docs/src_js_models_filters_SpatialFilter.js.html index c0b1245ae..20e79d388 100644 --- a/docs/docs/src_js_models_filters_SpatialFilter.js.html +++ b/docs/docs/src_js_models_filters_SpatialFilter.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_models_filters_ToggleFilter.js.html b/docs/docs/src_js_models_filters_ToggleFilter.js.html index 129cd5041..579ee0d84 100644 --- a/docs/docs/src_js_models_filters_ToggleFilter.js.html +++ b/docs/docs/src_js_models_filters_ToggleFilter.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_models_formats_ObjectFormat.js.html b/docs/docs/src_js_models_formats_ObjectFormat.js.html index f2881fe8d..4a18afd30 100644 --- a/docs/docs/src_js_models_formats_ObjectFormat.js.html +++ b/docs/docs/src_js_models_formats_ObjectFormat.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_models_maps_AssetColor.js.html b/docs/docs/src_js_models_maps_AssetColor.js.html index 375969254..cc3e1813b 100644 --- a/docs/docs/src_js_models_maps_AssetColor.js.html +++ b/docs/docs/src_js_models_maps_AssetColor.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_models_maps_AssetColorPalette.js.html b/docs/docs/src_js_models_maps_AssetColorPalette.js.html index 5cf0bbc01..a4c78ce55 100644 --- a/docs/docs/src_js_models_maps_AssetColorPalette.js.html +++ b/docs/docs/src_js_models_maps_AssetColorPalette.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_models_maps_Feature.js.html b/docs/docs/src_js_models_maps_Feature.js.html index a91be31f3..bcdd27ab4 100644 --- a/docs/docs/src_js_models_maps_Feature.js.html +++ b/docs/docs/src_js_models_maps_Feature.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_models_maps_Geohash.js.html b/docs/docs/src_js_models_maps_Geohash.js.html index 175290597..1ac84c794 100644 --- a/docs/docs/src_js_models_maps_Geohash.js.html +++ b/docs/docs/src_js_models_maps_Geohash.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_models_maps_Map.js.html b/docs/docs/src_js_models_maps_Map.js.html index 4dd2d7d37..938d79478 100644 --- a/docs/docs/src_js_models_maps_Map.js.html +++ b/docs/docs/src_js_models_maps_Map.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_models_maps_VectorFilter.js.html b/docs/docs/src_js_models_maps_VectorFilter.js.html index fd93d5aeb..abf3ee359 100644 --- a/docs/docs/src_js_models_maps_VectorFilter.js.html +++ b/docs/docs/src_js_models_maps_VectorFilter.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_models_maps_assets_Cesium3DTileset.js.html b/docs/docs/src_js_models_maps_assets_Cesium3DTileset.js.html index fee7ec1a5..bda86589b 100644 --- a/docs/docs/src_js_models_maps_assets_Cesium3DTileset.js.html +++ b/docs/docs/src_js_models_maps_assets_Cesium3DTileset.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

@@ -172,7 +172,7 @@

Source: src/js/models/maps/assets/Cesium3DTileset.js

try { var model = this; - var cesiumOptions = model.get('cesiumOptions') + var cesiumOptions = this.getCesiumOptions(); var cesiumModel = null // If the cesium model already exists, don't create it again unless specified @@ -229,7 +229,7 @@

Source: src/js/models/maps/assets/Cesium3DTileset.js

setCesiumURL: function () { try { - var cesiumOptions = this.get('cesiumOptions') + var cesiumOptions = this.getCesiumOptions(); // Set the asset URL if this is a Cesium Ion 3D tileset or terrain if (cesiumOptions && cesiumOptions.ionAssetId) { diff --git a/docs/docs/src_js_models_maps_assets_CesiumGeohash.js.html b/docs/docs/src_js_models_maps_assets_CesiumGeohash.js.html index 6e042f934..2aec01f93 100644 --- a/docs/docs/src_js_models_maps_assets_CesiumGeohash.js.html +++ b/docs/docs/src_js_models_maps_assets_CesiumGeohash.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

@@ -109,7 +109,7 @@

Source: src/js/models/maps/assets/CesiumGeohash.js

defaults: function () { return Object.assign(CesiumVectorData.prototype.defaults(), { type: "CZMLDataSource", - label: "Geohashes", + label: "Dataset counts", geohashes: new Geohashes(), opacity: 0.8, colorPalette: new AssetColorPalette({ @@ -315,7 +315,7 @@

Source: src/js/models/maps/assets/CesiumGeohash.js

return; } // Set the GeoJSON representing geohashes on the model - const cesiumOptions = model.get("cesiumOptions"); + const cesiumOptions = this.getCesiumOptions(); const type = model.get("type"); const data = type === "geojson" ? this.getGeoJSON() : this.getCZML(); cesiumOptions["data"] = data; diff --git a/docs/docs/src_js_models_maps_assets_CesiumImagery.js.html b/docs/docs/src_js_models_maps_assets_CesiumImagery.js.html index 605471118..5ae6be5e8 100644 --- a/docs/docs/src_js_models_maps_assets_CesiumImagery.js.html +++ b/docs/docs/src_js_models_maps_assets_CesiumImagery.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

@@ -155,11 +155,8 @@

Source: src/js/models/maps/assets/CesiumImagery.js

this.getThumbnail(); } - catch (error) { - console.log( - 'There was an error initializing a CesiumImagery model' + - '. Error details: ' + error - ); + catch (e) { + console.log('Error initializing a CesiumImagery model: ', e); } }, @@ -242,7 +239,7 @@

Source: src/js/models/maps/assets/CesiumImagery.js

createCesiumModel: function (recreate = false) { var model = this; - var cesiumOptions = this.get('cesiumOptions'); + const cesiumOptions = this.getCesiumOptions(); var type = this.get('type') var providerFunction = Cesium[type] diff --git a/docs/docs/src_js_models_maps_assets_CesiumTerrain.js.html b/docs/docs/src_js_models_maps_assets_CesiumTerrain.js.html index 5a1c71a7a..06ece480d 100644 --- a/docs/docs/src_js_models_maps_assets_CesiumTerrain.js.html +++ b/docs/docs/src_js_models_maps_assets_CesiumTerrain.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

@@ -150,7 +150,7 @@

Source: src/js/models/maps/assets/CesiumTerrain.js

createCesiumModel: function (recreate = false) { var model = this; - var cesiumOptions = this.get('cesiumOptions'); + var cesiumOptions = model.getCesiumOptions(); var type = this.get('type') var terrainFunction = Cesium[type] @@ -191,7 +191,7 @@

Source: src/js/models/maps/assets/CesiumTerrain.js

setCesiumURL: function () { try { - var cesiumOptions = this.get('cesiumOptions') + var cesiumOptions = this.getCesiumOptions(); // Set the asset URL if this is a Cesium Ion 3D tileset or terrain if (cesiumOptions && cesiumOptions.ionAssetId) { diff --git a/docs/docs/src_js_models_maps_assets_CesiumVectorData.js.html b/docs/docs/src_js_models_maps_assets_CesiumVectorData.js.html index 74a187097..9b81f1d97 100644 --- a/docs/docs/src_js_models_maps_assets_CesiumVectorData.js.html +++ b/docs/docs/src_js_models_maps_assets_CesiumVectorData.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

@@ -207,7 +207,7 @@

Source: src/js/models/maps/assets/CesiumVectorData.js

-

Namespaces

Classes

Global

+

Namespaces

Classes

Global

@@ -362,6 +362,8 @@

Source: src/js/models/maps/assets/MapAsset.js

if (!assetConfig || typeof assetConfig !== 'object') { assetConfig = {} + } else { + assetConfig = JSON.parse(JSON.stringify(assetConfig)) } // Set the color palette @@ -425,6 +427,20 @@

Source: src/js/models/maps/assets/MapAsset.js

} }, + /** + * Get the asset config's cesiumOptions, if it has any. This will return + * a copy of the cesiumOptions object, so that changes made to the + * returned object will not affect the original cesiumOptions object. + * @returns {Object} A copy of the cesiumOptions object, or null if there + * are no cesiumOptions. + * @since 2.26.0 + */ + getCesiumOptions: function () { + const cesiumOptions = this.get('cesiumOptions') + if (!cesiumOptions) { return null } + return JSON.parse(JSON.stringify(cesiumOptions)) + }, + /** * Given a feature object from a Feature model, checks if it is part of the * selectedFeatures collection. See featureObject property from diff --git a/docs/docs/src_js_models_metadata_ScienceMetadata.js.html b/docs/docs/src_js_models_metadata_ScienceMetadata.js.html index f95ae1b4e..ff3a3c3a9 100644 --- a/docs/docs/src_js_models_metadata_ScienceMetadata.js.html +++ b/docs/docs/src_js_models_metadata_ScienceMetadata.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_models_metadata_eml211_EML211.js.html b/docs/docs/src_js_models_metadata_eml211_EML211.js.html index 4e6c87b60..5885b5008 100644 --- a/docs/docs/src_js_models_metadata_eml211_EML211.js.html +++ b/docs/docs/src_js_models_metadata_eml211_EML211.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

@@ -101,8 +101,7 @@

Source: src/js/models/metadata/eml211/EML211.js

keywordSets: [], //array of EMLKeywordSet objects additionalInfo: [], intellectualRights: "This work is dedicated to the public domain under the Creative Commons Universal 1.0 Public Domain Dedication. To view a copy of this dedication, visit https://creativecommons.org/publicdomain/zero/1.0/.", - onlineDist: [], // array of EMLOnlineDist objects - offlineDist: [], // array of EMLOfflineDist objects + distribution: [], // array of EMLDistribution objects geoCoverage : [], //an array for EMLGeoCoverages temporalCoverage : [], //an array of EMLTempCoverage models taxonCoverage : [], //an array of EMLTaxonCoverages @@ -561,13 +560,13 @@

Source: src/js/models/metadata/eml211/EML211.js

})); } //EML Distribution modules are stored in EMLDistribution models - else if(_.contains(emlDistribution, thisNode.localName)){ + else if(_.contains(emlDistribution, thisNode.localName)) { if(typeof modelJSON[thisNode.localName] == "undefined") modelJSON[thisNode.localName] = []; modelJSON[thisNode.localName].push(new EMLDistribution({ objectDOM: thisNode, parentModel: model - })); + }, { parse: true })); } //The EML Project is stored in the EMLProject model else if(thisNode.localName == "project"){ @@ -1074,6 +1073,24 @@

Source: src/js/models/metadata/eml211/EML211.js

.html("<para>" + this.get("intellectualRights") + "</para>")); } } + + // Serialize the distribution + const distributions = this.get('distribution'); + if (distributions && distributions.length > 0) { + // Remove existing nodes + datasetNode.children('distribution').remove(); + // Get the updated DOMs + const distributionDOMs = distributions.map(d => d.updateDOM()); + // Insert the updated DOMs in their correct positions + distributionDOMs.forEach((dom, i) => { + const insertAfter = this.getEMLPosition(eml, 'distribution'); + if (insertAfter) { + insertAfter.after(dom); + } else { + datasetNode.append(dom); + } + }); + } //Detach the project elements from the DOM if(datasetNode.find("project").length){ @@ -2124,6 +2141,10 @@

Source: src/js/models/metadata/eml211/EML211.js

/* Initialize the object XML for brand spankin' new EML objects */ createXML: function() { + + let emlSystem = MetacatUI.appModel.get("emlSystem"); + emlSystem = (!emlSystem || typeof emlSystem != "string") ? "knb" : emlSystem; + var xml = "<eml:eml xmlns:eml=\"https://eml.ecoinformatics.org/eml-2.2.0\"></eml:eml>", eml = $($.parseHTML(xml)); @@ -2132,7 +2153,7 @@

Source: src/js/models/metadata/eml211/EML211.js

eml.attr("xmlns:stmml", "http://www.xml-cml.org/schema/stmml-1.1"); eml.attr("xsi:schemaLocation", "https://eml.ecoinformatics.org/eml-2.2.0 https://eml.ecoinformatics.org/eml-2.2.0/eml.xsd"); eml.attr("packageId", this.get("id")); - eml.attr("system", "knb"); // We could make this configurable at some point + eml.attr("system", emlSystem); // Add the dataset eml.append(document.createElement("dataset")); diff --git a/docs/docs/src_js_models_metadata_eml211_EMLAnnotation.js.html b/docs/docs/src_js_models_metadata_eml211_EMLAnnotation.js.html index 8c67f866b..fe70fc920 100644 --- a/docs/docs/src_js_models_metadata_eml211_EMLAnnotation.js.html +++ b/docs/docs/src_js_models_metadata_eml211_EMLAnnotation.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_models_metadata_eml211_EMLAttribute.js.html b/docs/docs/src_js_models_metadata_eml211_EMLAttribute.js.html index b5dcd69fe..273f22c89 100644 --- a/docs/docs/src_js_models_metadata_eml211_EMLAttribute.js.html +++ b/docs/docs/src_js_models_metadata_eml211_EMLAttribute.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

@@ -46,8 +46,10 @@

Source: src/js/models/metadata/eml211/EMLAttribute.js

define(["jquery", "underscore", "backbone", "uuid",
         "models/metadata/eml211/EMLMeasurementScale", "models/metadata/eml211/EMLAnnotation",
+        "collections/metadata/eml/EMLMissingValueCodes",
         "models/DataONEObject"],
-    function($, _, Backbone, uuid, EMLMeasurementScale, EMLAnnotation,
+    function ($, _, Backbone, uuid, EMLMeasurementScale, EMLAnnotation,
+        EMLMissingValueCodes,
         DataONEObject) {
 
         /**
@@ -71,7 +73,7 @@ 

Source: src/js/models/metadata/eml211/EMLAttribute.js

Source: src/js/models/metadata/eml211/EMLAttribute.jsSource: src/js/models/metadata/eml211/EMLAttribute.jsSource: src/js/models/metadata/eml211/EMLAttribute.jsSource: src/js/models/metadata/eml211/EMLAttribute.jsSource: src/js/models/metadata/eml211/EMLAttribute.jsSource: src/js/models/metadata/eml211/EMLAttribute.jsSource: src/js/models/metadata/eml211/EMLAttribute.js -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_models_metadata_eml211_EMLDistribution.js.html b/docs/docs/src_js_models_metadata_eml211_EMLDistribution.js.html new file mode 100644 index 000000000..36e97dc54 --- /dev/null +++ b/docs/docs/src_js_models_metadata_eml211_EMLDistribution.js.html @@ -0,0 +1,390 @@ + + + + + MetacatUI Dev Docs: Source: src/js/models/metadata/eml211/EMLDistribution.js + + + + + + + + + + + + + + +
+ +

Source: src/js/models/metadata/eml211/EMLDistribution.js

+ + + + + + +
+
+
/* global define */
+define(["jquery", "underscore", "backbone", "models/DataONEObject"], function (
+  $,
+  _,
+  Backbone,
+  DataONEObject
+) {
+  /**
+   * @class EMLDistribution
+   * @classdesc Information on how the resource is distributed online and
+   * offline
+   * @classcategory Models/Metadata/EML211
+   * @see
+   * https://eml.ecoinformatics.org/schema/eml-resource_xsd.html#DistributionType
+   * @extends Backbone.Model
+   * @constructor
+   */
+  var EMLDistribution = Backbone.Model.extend({
+    /**
+     * Default values for an EML 211 Distribution model. This is essentially a
+     * flattened version of the EML 2.1.1 DistributionType, including nodes and
+     * node attributes. Not all nodes are supported by this model yet.
+     * @type {Object}
+     * @property {string} type - The name of the top-level XML element that this
+     * model represents (distribution)
+     * @property {string} objectXML - The XML string representation of the
+     * distribution
+     * @property {Element} objectDOM - The DOM representation of the
+     * distribution
+     * @property {string} mediumName - The name of the medium on which the
+     * offline distribution is stored
+     * @property {string} mediumVolume - The volume number of the medium on
+     * which the offline distribution is stored
+     * @property {string} mediumFormat - The format of the medium on which the
+     * offline distribution is stored
+     * @property {string} mediumNote - A note about the medium on which the
+     * offline distribution is stored
+     * @property {string} url - The URL of the online distribution
+     * @property {string} urlFunction - The purpose of the URL. May be either
+     * "information" or "download".
+     * @property {string} onlineDescription - A description of the online
+     * distribution
+     * @property {EML211} parentModel - The parent model of this distribution
+     * model
+     */
+    defaults: {
+      type: "distribution",
+      objectXML: null,
+      objectDOM: null,
+      mediumName: null,
+      mediumVolume: null,
+      mediumFormat: null,
+      mediumNote: null,
+      url: null,
+      urlFunction: null,
+      onlineDescription: null,
+      parentModel: null,
+    },
+
+    /**
+     * The direct children of the <distribution> node that can have values, and
+     * that are supported by this model. "inline" is not supported yet. A
+     * distribution may have ONE of these nodes.
+     * @type {string[]}
+     * @since 2.26.0
+     */
+    distLocations: ["offline", "online"],
+
+    /**
+     * lower-case EML node names that belong within the <offline> node. These
+     * must be in the correct order.
+     * @type {string[]}
+     * @since 2.26.0
+     */
+    offlineNodes: ["mediumname", "mediumvolume", "mediumformat", "mediumnote"],
+
+    /**
+     * lower-case EML node names that belong within the <online> node. These
+     * must be in the correct order.
+     * @type {string[]}
+     * @since 2.26.0
+     */
+    onlineNodes: ["url"],
+
+    /**
+     * the allowed values for the urlFunction attribute
+     * @type {string[]}
+     * @since 2.26.0
+     */
+    urlFunctionTypes: ["information", "download"],
+
+    /**
+     * Initializes this EMLDistribution object
+     * @param {Object} options - A literal object with options to pass to the
+     * model
+     */
+    initialize: function (attributes, options) {
+      const nodeAttr = Object.values(this.nodeNameMap());
+      this.listenTo(
+        this,
+        "change:" + nodeAttr.join(" change:"),
+        this.trickleUpChange
+      );
+    },
+
+    /*
+     * Maps the lower-case EML node names (valid in HTML DOM) to the camel-cased
+     * EML node names (valid in EML). Used during parse() and serialize()
+     */
+    nodeNameMap: function () {
+      return {
+        authsystem: "authSystem",
+        connectiondefinition: "connectionDefinition",
+        mediumdensity: "mediumDensity",
+        mediumdensityunits: "mediumDensityUnits",
+        mediumformat: "mediumFormat",
+        mediumname: "mediumName",
+        mediumnote: "mediumNote",
+        mediumvolume: "mediumVolume",
+        url: "url",
+      };
+    },
+
+    /**
+     * Parses the given XML node or object and sets the model's attributes
+     * @param {Object} attributes - the attributes passed in when the model is
+     * instantiated. Should include objectDOM or objectXML to be parsed.
+     */
+    parse: function (attributes) {
+      if (!attributes) attributes = {};
+      const objectDOM = attributes.objectDOM || attributes.objectXML;
+      if (!objectDOM) return attributes;
+      const $objectDOM = $(objectDOM);
+
+      const nodeNameMap = this.nodeNameMap();
+      this.distLocations.forEach((distLocation) => {
+        const location = $objectDOM.find(distLocation);
+        if (location.length) {
+          this[`${distLocation}Nodes`].forEach((nodeName) => {
+            const value = location.children(nodeName)?.text()?.trim();
+            if (value.length) {
+              attributes[nodeNameMap[nodeName]] = value;
+            }
+          });
+        }
+      });
+
+      // Check for a urlFunction attribute if there is a url node
+      const url = $objectDOM.find("url");
+      if (url.length) {
+        attributes.urlFunction = url.attr("function") || null;
+      }
+
+      return attributes;
+    },
+
+    /**
+     * Returns the XML string representation of this model
+     * @returns {string}
+     */
+    serialize: function () {
+      const objectDOM = this.updateDOM();
+      const xmlString = objectDOM.outerHTML;
+
+      // Camel-case the XML
+      xmlString = this.formatXML(xmlString);
+
+      return xmlString;
+    },
+
+    /**
+     * Check if the model has values for the given distribution location.
+     * @param {string} location - one of the names of the direct children of the
+     * <distribution> node, i.e. any of the values in this.distLocations.
+     * @returns {boolean} - true if the model has values for the given location,
+     * false otherwise.
+     * @since 2.26.0
+     */
+    hasValuesForDistributionLocation(location) {
+      const nodeNameMap = this.nodeNameMap();
+      return this[`${location}Nodes`].some((nodeName) => {
+        return this.get(nodeNameMap[nodeName]);
+      });
+    },
+
+    /*
+     * Makes a copy of the original XML DOM and updates it with the new values
+     * from the model.
+     */
+    updateDOM: function () {
+      const objectDOM =
+        this.get("objectDOM") || document.createElement(this.get("type"));
+      const $objectDOM = $(objectDOM);
+
+      // Remove empty (zero-length or whitespace-only) nodes
+      $objectDOM
+        .find("*")
+        .filter(function () {
+          return !$.trim($(this).text());
+        })
+        .remove();
+
+      const nodeNameMap = this.nodeNameMap();
+
+      // Determine if this is an online, offline, or inline distribution
+      const distLocation = this.distLocations.find((location) => {
+        return this.hasValuesForDistributionLocation(location);
+      });
+
+      // Remove all other distribution locations
+      this.distLocations.forEach((location) => {
+        if (location !== distLocation) {
+          $objectDOM.find(location).remove();
+        }
+      });
+
+      // If there is no distribution location, return the DOM
+      if (!distLocation) return objectDOM;
+
+      // Add the distribution location if it doesn't exist
+      if (!$objectDOM.find(distLocation).length) {
+        $objectDOM.append(`<${distLocation}></${distLocation}>`);
+      }
+
+      // For each node in the distribution location, add the value from the
+      // model. If the model value is empty, remove the node. Make sure that we
+      // don't replace any existing nodes, since not all nodes are supported by
+      // this model yet. We also need to ensure that the nodes are in the
+      // correct order.
+      this[`${distLocation}Nodes`].forEach((nodeName) => {
+        const nodeValue = this.get(nodeNameMap[nodeName]);
+        if (nodeValue) {
+          const node = $objectDOM.find(`${distLocation} > ${nodeName}`);
+          if (node.length) {
+            node.text(nodeValue);
+          } else {
+            const newNode = $(`<${nodeName}>${nodeValue}</${nodeName}>`);
+            const position = this.getEMLPosition(objectDOM, nodeName);
+            if (position) {
+              newNode.insertAfter(position);
+            } else {
+              $objectDOM.children(distLocation).append(newNode);
+            }
+          }
+        } else {
+          $objectDOM.find(`${distLocation} > ${nodeName}`).remove();
+        }
+      });
+
+      // Add the urlFunction attribute if one is set in the model. Remove it if
+      // it's not set.
+      const url = $objectDOM.find("url")
+      if (url) {
+        const urlFunction = this.get("urlFunction");
+        if (urlFunction) {
+          url.attr("function", urlFunction);
+        } else {
+          url.removeAttr("function");
+        }
+      }
+      
+
+      return objectDOM;
+    },
+
+    /*
+     * Returns the node in the object DOM that the given node type should be
+     * inserted after. @param {string} nodeName - The name of the node to find
+     * the position for @return {jQuery} - The jQuery object of the node that
+     * the given node should be inserted after, or false if the node is not
+     * supported by this model. @since 2.26.0
+     */
+    getEMLPosition: function (objectDOM, nodeName) {
+      // If this is a top level node, return false since it should be inserted
+      // within the <distribution> node, and there must only be one.
+      if (this.distLocations.includes(nodeName)) return false;
+
+      // Handle according to whether it's an online or offline node
+      const nodeNameMap = this.nodeNameMap();
+      this.distLocations.forEach((distLocation) => {
+        const nodeOrder = this[`${distLocation}Nodes`];
+        const siblingNodes = $(objectDOM).find(distLocation).children();
+        let position = nodeOrder.indexOf(nodeName);
+        if (position > -1) {
+          // Go through each node in the node list and find the position where
+          // this node will be inserted after
+          for (var i = position - 1; i >= 0; i--) {
+            const checkNode = siblingNodes.filter(nodeOrder[i]);
+            if (checkNode.length) {
+              return checkNode.last();
+            }
+          }
+        }
+      });
+
+      // If we get here, the node is not supported by this model
+      return false;
+    },
+
+    /*
+     * Climbs up the model hierarchy until it finds the EML model
+     *
+     * @return {EML211 or false} - Returns the EML 211 Model or false if not
+     * found
+     */
+    getParentEML: function () {
+      var emlModel = this.get("parentModel"),
+        tries = 0;
+
+      while (emlModel.type !== "EML" && tries < 6) {
+        emlModel = emlModel.get("parentModel");
+        tries++;
+      }
+
+      if (emlModel && emlModel.type == "EML") return emlModel;
+      else return false;
+    },
+
+    trickleUpChange: function () {
+      MetacatUI.rootDataPackage?.packageModel?.set("changed", true);
+    },
+
+    formatXML: function (xmlString) {
+      return DataONEObject.prototype.formatXML.call(this, xmlString);
+    },
+  });
+
+  return EMLDistribution;
+});
+
+
+
+ + + + +
+ +
+ + + + + diff --git a/docs/docs/src_js_models_metadata_eml211_EMLEntity.js.html b/docs/docs/src_js_models_metadata_eml211_EMLEntity.js.html index bf2bd1e50..21270e7e4 100644 --- a/docs/docs/src_js_models_metadata_eml211_EMLEntity.js.html +++ b/docs/docs/src_js_models_metadata_eml211_EMLEntity.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_models_metadata_eml211_EMLGeoCoverage.js.html b/docs/docs/src_js_models_metadata_eml211_EMLGeoCoverage.js.html index a07b2a368..81cf06ef3 100644 --- a/docs/docs/src_js_models_metadata_eml211_EMLGeoCoverage.js.html +++ b/docs/docs/src_js_models_metadata_eml211_EMLGeoCoverage.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_models_metadata_eml211_EMLMeasurementScale.js.html b/docs/docs/src_js_models_metadata_eml211_EMLMeasurementScale.js.html index 0c8aa4ba9..0d6033a6c 100644 --- a/docs/docs/src_js_models_metadata_eml211_EMLMeasurementScale.js.html +++ b/docs/docs/src_js_models_metadata_eml211_EMLMeasurementScale.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_models_metadata_eml211_EMLMethods.js.html b/docs/docs/src_js_models_metadata_eml211_EMLMethods.js.html index ff76a7dc5..b80312898 100644 --- a/docs/docs/src_js_models_metadata_eml211_EMLMethods.js.html +++ b/docs/docs/src_js_models_metadata_eml211_EMLMethods.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_models_metadata_eml211_EMLMissingValueCode.js.html b/docs/docs/src_js_models_metadata_eml211_EMLMissingValueCode.js.html new file mode 100644 index 000000000..15eedcaea --- /dev/null +++ b/docs/docs/src_js_models_metadata_eml211_EMLMissingValueCode.js.html @@ -0,0 +1,195 @@ + + + + + MetacatUI Dev Docs: Source: src/js/models/metadata/eml211/EMLMissingValueCode.js + + + + + + + + + + + + + + +
+ +

Source: src/js/models/metadata/eml211/EMLMissingValueCode.js

+ + + + + + +
+
+
define(["backbone"], function (Backbone) {
+  /**
+   * @class EMLMissingValueCode
+   * @classdesc A missing value code is a code that is used to indicate
+   * that a value is missing from the data.
+   * @see https://eml.ecoinformatics.org/schema/eml-attribute_xsd.html
+   * @classcategory Models/Metadata/EML211
+   * @since 2.26.0
+   */
+  var EMLMissingValueCode = Backbone.Model.extend(
+    /** @lends EMLMissingValueCode.prototype */ {
+      /**
+       * The default attributes for an EMLMissingValueCode model.
+       * @returns {object} The default attributes
+       * @property {string} type - The element type in the DOM
+       * @property {string} code - The missing value code
+       * @property {string} codeExplanation - The explanation for the missing value code
+       * @property {string[]} nodeOrder - The order of the EML nodes in this object
+       */
+      defaults: function () {
+        return {
+          type: "missingValueCode",
+          code: "",
+          codeExplanation: "",
+          nodeOrder: ["code", "codeExplanation"],
+        };
+      },
+
+      /*
+       * Parse the incoming attribute's XML elements.
+       */
+      parse: function (attributes, options) {
+        if (!attributes) return {};
+        const objectDOM = attributes.objectDOM || attributes.objectXML;
+        if (!objectDOM) return {};
+        const $objectDOM = $(objectDOM);
+
+        this.defaults().nodeOrder.forEach((node) => {
+          attributes[node] = $objectDOM.children(node.toLowerCase()).text();
+        });
+
+        attributes.objectDOM = $objectDOM[0];
+        return attributes;
+      },
+
+      /**
+       * Create an XML string from the model's attributes.
+       * @return {string} The XML string
+       */
+      serialize: function () {
+        let xml = this.updateDOM().outerHTML;
+        const elNames = this.get("nodeOrder");
+        elNames.push(this.get("type"));
+        // replace lowercase node names with camelCase
+        elNames.forEach((elName) => {
+          let elNameLower = elName.toLowerCase();
+          xml = xml.replace(`<${elNameLower}>`, `<${elName}>`);
+          xml = xml.replace(`</${elNameLower}>`, `</${elName}>`);
+        });
+        return xml;
+      },
+
+      /**
+       * Copy the original XML and update fields in a DOM object
+       * @param {object} objectDOM - The DOM object to update
+       */
+      updateDOM: function (objectDOM) {
+        const type = this.get("type") || "missingValueCode";
+        if (!objectDOM) {
+          objectDOM = this.get("objectDOM") || this.get("objectXML");
+        }
+        if (!objectDOM) {
+          objectDOM = document.createElement(type);
+        }
+        const $objectDOM = $(objectDOM);
+
+        this.get("nodeOrder").forEach((nodeName) => {
+          // Remove any existing nodes
+          $objectDOM.children(nodeName.toLowerCase()).remove();
+
+          const newValue = this.get(nodeName)?.trim();
+
+          // Add the new node
+          if (newValue) {
+            const node = document.createElement(nodeName);
+            $(node).text(newValue);
+            $objectDOM.append(node);
+          }
+        });
+
+        if (this.isEmpty()) {
+          return null;
+        } else {
+          return $objectDOM[0];
+        }
+      },
+
+      /**
+       * Return true if all of the model's attributes are empty
+       * @return {boolean}
+       */
+      isEmpty: function () {
+        return !this.get("code") && !this.get("codeExplanation");
+      },
+
+      /**
+       * Validate the model attributes
+       * @return {object|undefined} The validation errors, if any
+       */
+      validate() {
+        if (this.isEmpty()) return undefined;
+
+        const errors = {};
+
+        // Need a code and an explanation. Both must be non-empty strings.
+        let code = this.get("code")?.trim();
+        let codeExplanation = this.get("codeExplanation")?.trim();
+
+        this.set("code", code);
+        this.set("codeExplanation", codeExplanation);
+
+        if (!code || !codeExplanation) {
+          errors.missingValueCode =
+            "Both a missing value code and explanation are required.";
+          return errors;
+        }
+
+        return Object.keys(errors).length > 0 ? errors : undefined;
+      },
+    }
+  );
+
+  return EMLMissingValueCode;
+});
+
+
+
+ + + + +
+ +
+ + + + + diff --git a/docs/docs/src_js_models_metadata_eml211_EMLNonNumericDomain.js.html b/docs/docs/src_js_models_metadata_eml211_EMLNonNumericDomain.js.html index d0f55e357..75062925f 100644 --- a/docs/docs/src_js_models_metadata_eml211_EMLNonNumericDomain.js.html +++ b/docs/docs/src_js_models_metadata_eml211_EMLNonNumericDomain.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_models_metadata_eml211_EMLNumericDomain.js.html b/docs/docs/src_js_models_metadata_eml211_EMLNumericDomain.js.html index b7601ab0d..66e4bcbe1 100644 --- a/docs/docs/src_js_models_metadata_eml211_EMLNumericDomain.js.html +++ b/docs/docs/src_js_models_metadata_eml211_EMLNumericDomain.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_models_metadata_eml211_EMLOtherEntity.js.html b/docs/docs/src_js_models_metadata_eml211_EMLOtherEntity.js.html index 8809711b3..deaf2afa8 100644 --- a/docs/docs/src_js_models_metadata_eml211_EMLOtherEntity.js.html +++ b/docs/docs/src_js_models_metadata_eml211_EMLOtherEntity.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_models_metadata_eml211_EMLParty.js.html b/docs/docs/src_js_models_metadata_eml211_EMLParty.js.html index 4ad07ed7c..cf39f8b41 100644 --- a/docs/docs/src_js_models_metadata_eml211_EMLParty.js.html +++ b/docs/docs/src_js_models_metadata_eml211_EMLParty.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_models_metadata_eml211_EMLTaxonCoverage.js.html b/docs/docs/src_js_models_metadata_eml211_EMLTaxonCoverage.js.html index 4c80af5cf..a8ef3a754 100644 --- a/docs/docs/src_js_models_metadata_eml211_EMLTaxonCoverage.js.html +++ b/docs/docs/src_js_models_metadata_eml211_EMLTaxonCoverage.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_models_metadata_eml211_EMLTemporalCoverage.js.html b/docs/docs/src_js_models_metadata_eml211_EMLTemporalCoverage.js.html index 194b1bffc..a70b16317 100644 --- a/docs/docs/src_js_models_metadata_eml211_EMLTemporalCoverage.js.html +++ b/docs/docs/src_js_models_metadata_eml211_EMLTemporalCoverage.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_models_metadata_eml211_EMLText.js.html b/docs/docs/src_js_models_metadata_eml211_EMLText.js.html index 9cd275408..92c8af271 100644 --- a/docs/docs/src_js_models_metadata_eml211_EMLText.js.html +++ b/docs/docs/src_js_models_metadata_eml211_EMLText.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_models_metadata_eml211_EMLUnit.js.html b/docs/docs/src_js_models_metadata_eml211_EMLUnit.js.html index 67e37fadc..8f7f492ce 100644 --- a/docs/docs/src_js_models_metadata_eml211_EMLUnit.js.html +++ b/docs/docs/src_js_models_metadata_eml211_EMLUnit.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_models_metadata_eml220_EMLText.js.html b/docs/docs/src_js_models_metadata_eml220_EMLText.js.html index e0b454391..001438d9f 100644 --- a/docs/docs/src_js_models_metadata_eml220_EMLText.js.html +++ b/docs/docs/src_js_models_metadata_eml220_EMLText.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_models_metadata_eml_EMLMethodStep.js.html b/docs/docs/src_js_models_metadata_eml_EMLMethodStep.js.html index fd4b815e6..45f2fe233 100644 --- a/docs/docs/src_js_models_metadata_eml_EMLMethodStep.js.html +++ b/docs/docs/src_js_models_metadata_eml_EMLMethodStep.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_models_metadata_eml_EMLSpecializedText.js.html b/docs/docs/src_js_models_metadata_eml_EMLSpecializedText.js.html index 6f8577d85..ede176242 100644 --- a/docs/docs/src_js_models_metadata_eml_EMLSpecializedText.js.html +++ b/docs/docs/src_js_models_metadata_eml_EMLSpecializedText.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_models_portals_PortalImage.js.html b/docs/docs/src_js_models_portals_PortalImage.js.html index 647b1b286..4a34a7961 100644 --- a/docs/docs/src_js_models_portals_PortalImage.js.html +++ b/docs/docs/src_js_models_portals_PortalImage.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_models_portals_PortalModel.js.html b/docs/docs/src_js_models_portals_PortalModel.js.html index b3dee9e0d..1ab9d7ada 100644 --- a/docs/docs/src_js_models_portals_PortalModel.js.html +++ b/docs/docs/src_js_models_portals_PortalModel.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_models_portals_PortalSectionModel.js.html b/docs/docs/src_js_models_portals_PortalSectionModel.js.html index 44d4aa111..835013137 100644 --- a/docs/docs/src_js_models_portals_PortalSectionModel.js.html +++ b/docs/docs/src_js_models_portals_PortalSectionModel.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_models_portals_PortalVizSectionModel.js.html b/docs/docs/src_js_models_portals_PortalVizSectionModel.js.html index 646ea650b..d8ae9ecf9 100644 --- a/docs/docs/src_js_models_portals_PortalVizSectionModel.js.html +++ b/docs/docs/src_js_models_portals_PortalVizSectionModel.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_models_projects_Project.js.html b/docs/docs/src_js_models_projects_Project.js.html index 593110934..ea441abc0 100644 --- a/docs/docs/src_js_models_projects_Project.js.html +++ b/docs/docs/src_js_models_projects_Project.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_models_queryFields_QueryField.js.html b/docs/docs/src_js_models_queryFields_QueryField.js.html index f3f5437c2..8b60e38e7 100644 --- a/docs/docs/src_js_models_queryFields_QueryField.js.html +++ b/docs/docs/src_js_models_queryFields_QueryField.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_routers_router.js.html b/docs/docs/src_js_routers_router.js.html index 13d6c346b..7f4bd4a39 100644 --- a/docs/docs/src_js_routers_router.js.html +++ b/docs/docs/src_js_routers_router.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_views_AccessPolicyView.js.html b/docs/docs/src_js_views_AccessPolicyView.js.html index 222818e76..04aaafd95 100644 --- a/docs/docs/src_js_views_AccessPolicyView.js.html +++ b/docs/docs/src_js_views_AccessPolicyView.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_views_AccessRuleView.js.html b/docs/docs/src_js_views_AccessRuleView.js.html index ec8a10434..d7effb294 100644 --- a/docs/docs/src_js_views_AccessRuleView.js.html +++ b/docs/docs/src_js_views_AccessRuleView.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_views_AnnotationView.js.html b/docs/docs/src_js_views_AnnotationView.js.html index eaf9a4d93..8cef5ca0f 100644 --- a/docs/docs/src_js_views_AnnotationView.js.html +++ b/docs/docs/src_js_views_AnnotationView.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_views_AppView.js.html b/docs/docs/src_js_views_AppView.js.html index b555f1058..57410af8c 100644 --- a/docs/docs/src_js_views_AppView.js.html +++ b/docs/docs/src_js_views_AppView.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_views_CitationHeaderView.js.html b/docs/docs/src_js_views_CitationHeaderView.js.html index a3898c882..068fb7c73 100644 --- a/docs/docs/src_js_views_CitationHeaderView.js.html +++ b/docs/docs/src_js_views_CitationHeaderView.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_views_CitationListView.js.html b/docs/docs/src_js_views_CitationListView.js.html index 0865150b2..bd6d43032 100644 --- a/docs/docs/src_js_views_CitationListView.js.html +++ b/docs/docs/src_js_views_CitationListView.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_views_CitationView.js.html b/docs/docs/src_js_views_CitationView.js.html index 41da1227b..ea3e74544 100644 --- a/docs/docs/src_js_views_CitationView.js.html +++ b/docs/docs/src_js_views_CitationView.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

@@ -157,8 +157,7 @@

Source: src/js/views/CitationView.js

*/ /** - * The format and layout options that are available for this view. The - * `default` option is used when no format is specified in the options. + * The format and layout options that are available for this view. * @type {Object} * @property {CitationView#StyleDefinition} styleName - Each property in * the styles object maps a style name to a StyleOption object. @@ -177,6 +176,18 @@

Source: src/js/views/CitationView.js

render: "renderAPAInText", }, }, + apaAllAuthors: { + full: { + template: _.template(APATemplate), + archivedTemplate: _.template(ArchivedTemplate), + render: "renderAPAAllAuthors", + }, + inText: { + template: _.template(APAInTextTemplate), + archivedTemplate: _.template(InTextArchivedTemplate), + render: "renderAPAInText", + }, + }, }, /** @@ -425,11 +436,16 @@

Source: src/js/views/CitationView.js

* @param {Object} options - The options to pass to the template. * @param {function} template - The template associated with this style, * or it's archive template if the object is archived and not indexed. + * @param {number} [maxAuthors=20] - The maximum number of authors to + * display. If there are more than this number of authors, then the + * remaining authors will be replaced with an ellipsis. The default is 20 + * since that is the maximum that APA allows. Set to a falsy value to + * display all authors. * @since 2.23.0 */ - renderAPA: function (options, template) { + renderAPA: function (options, template, maxAuthors=20) { // Format the authors for display - options.origin = this.CSLNamesToAPA(options.originArray); + options.origin = this.CSLNamesToAPA(options.originArray, maxAuthors); this.el.innerHTML = template(options); // If there are citationMetadata, as well as an element in the current // template where they should be inserted, then show them inline. @@ -450,6 +466,17 @@

Source: src/js/views/CitationView.js

this.el.innerHTML = template(options); }, + /** + * Render a complete APA style citation with all authors listed. + * @param {Object} options - The options to pass to the template. + * @param {function} template - The template associated with this style, + * or it's archive template if the object is archived and not indexed. + * @since 2.26.0 + */ + renderAPAAllAuthors: function (options, template) { + this.renderAPA(options, template, false); + }, + /** * Render the list of in-text citations that cite the main citation. This * function will find the element in the template that is designated as @@ -527,10 +554,15 @@

Source: src/js/views/CitationView.js

* string for display in an APA citation. * @param {object[]} authors - An array of CSL JSON name objects * @returns {string} The formatted author string or an empty string if - * there are no authors + * there are no authors + * @param {number} [maxAuthors=20] - The maximum number of authors to + * display. If there are more than this number of authors, then the + * remaining authors will be replaced with an ellipsis. The default is 20 + * since that is the maximum that APA allows. Set to a falsy value to + * display all authors. * @since 2.23.0 */ - CSLNamesToAPA: function (authors) { + CSLNamesToAPA: function (authors, maxAuthors=20) { // Format authors as a proper APA style citation: if (!authors) return ""; @@ -542,9 +574,11 @@

Source: src/js/views/CitationView.js

authors = authors.map(this.CSLNameToFullNameStr); const numAuthors = authors.length; - const maxAuthors = 20; const lastAuthor = authors[numAuthors - 1]; + // Set maxAuthors to the number of authors if it is a falsy value. + maxAuthors = maxAuthors || numAuthors; + if (numAuthors === 1) return authors[0]; // Two authors: Separate author names with a comma. Use the ampersand. if (numAuthors === 2) return authors.join(", & "); diff --git a/docs/docs/src_js_views_ColorPaletteView.js.html b/docs/docs/src_js_views_ColorPaletteView.js.html index a9bf66fe0..9f9158ba9 100644 --- a/docs/docs/src_js_views_ColorPaletteView.js.html +++ b/docs/docs/src_js_views_ColorPaletteView.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_views_DataCatalogView.js.html b/docs/docs/src_js_views_DataCatalogView.js.html index 0ade8ed4a..d1d9b9b59 100644 --- a/docs/docs/src_js_views_DataCatalogView.js.html +++ b/docs/docs/src_js_views_DataCatalogView.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_views_DataCatalogViewWithFilters.js.html b/docs/docs/src_js_views_DataCatalogViewWithFilters.js.html index 6c8e61ccd..972a0c257 100644 --- a/docs/docs/src_js_views_DataCatalogViewWithFilters.js.html +++ b/docs/docs/src_js_views_DataCatalogViewWithFilters.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_views_DataItemView.js.html b/docs/docs/src_js_views_DataItemView.js.html index 19f62d742..eb4bc8911 100644 --- a/docs/docs/src_js_views_DataItemView.js.html +++ b/docs/docs/src_js_views_DataItemView.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_views_DataPackageView.js.html b/docs/docs/src_js_views_DataPackageView.js.html index 3ad9f862e..cd5b9a3fa 100644 --- a/docs/docs/src_js_views_DataPackageView.js.html +++ b/docs/docs/src_js_views_DataPackageView.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_views_DraftsView.js.html b/docs/docs/src_js_views_DraftsView.js.html index fd3386635..97f64111e 100644 --- a/docs/docs/src_js_views_DraftsView.js.html +++ b/docs/docs/src_js_views_DraftsView.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_views_EditCollectionView.js.html b/docs/docs/src_js_views_EditCollectionView.js.html index 22f6fdd52..de990a59d 100644 --- a/docs/docs/src_js_views_EditCollectionView.js.html +++ b/docs/docs/src_js_views_EditCollectionView.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_views_EditorView.js.html b/docs/docs/src_js_views_EditorView.js.html index 6b4dc7bfd..fe3060650 100644 --- a/docs/docs/src_js_views_EditorView.js.html +++ b/docs/docs/src_js_views_EditorView.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_views_FooterView.js.html b/docs/docs/src_js_views_FooterView.js.html index 36fc76bda..51efb8bfe 100644 --- a/docs/docs/src_js_views_FooterView.js.html +++ b/docs/docs/src_js_views_FooterView.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_views_GroupListView.js.html b/docs/docs/src_js_views_GroupListView.js.html index 5748dc89f..71aba3755 100644 --- a/docs/docs/src_js_views_GroupListView.js.html +++ b/docs/docs/src_js_views_GroupListView.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_views_ImageUploaderView.js.html b/docs/docs/src_js_views_ImageUploaderView.js.html index d297dcf78..316a1cf62 100644 --- a/docs/docs/src_js_views_ImageUploaderView.js.html +++ b/docs/docs/src_js_views_ImageUploaderView.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_views_MarkdownEditorView.js.html b/docs/docs/src_js_views_MarkdownEditorView.js.html index 470de5810..aaeca7c5a 100644 --- a/docs/docs/src_js_views_MarkdownEditorView.js.html +++ b/docs/docs/src_js_views_MarkdownEditorView.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_views_MarkdownView.js.html b/docs/docs/src_js_views_MarkdownView.js.html index 2220aef7c..28f59795d 100644 --- a/docs/docs/src_js_views_MarkdownView.js.html +++ b/docs/docs/src_js_views_MarkdownView.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_views_MdqRunView.js.html b/docs/docs/src_js_views_MdqRunView.js.html index 169dd0d04..4163d4963 100644 --- a/docs/docs/src_js_views_MdqRunView.js.html +++ b/docs/docs/src_js_views_MdqRunView.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_views_MetadataView.js.html b/docs/docs/src_js_views_MetadataView.js.html index 0cef8ba40..bd93c71c8 100644 --- a/docs/docs/src_js_views_MetadataView.js.html +++ b/docs/docs/src_js_views_MetadataView.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

@@ -142,6 +142,21 @@

Source: src/js/views/MetadataView.js

objectIds: [], + /** + * Text to display in the help tooltip for the alternative identifier field, + * if the field is present. + * @type {string} + * @since 2.26.0 + */ + alternativeIdentifierHelpText: ` + An identifier used to reference this dataset in the past or in another + system. This could be a link to the original dataset or an old + identifier that was replaced. The referenced dataset may be the same + or different from the one you are currently viewing, and its + accessibility may vary. It may provide additional context about the + history and evolution of the dataset. + `, + // Delegated events for creating new items, and clearing completed ones. events: { "click #publish": "publish", @@ -732,6 +747,51 @@

Source: src/js/views/MetadataView.js

//Mark the first row in each attribute list table as active since the first attribute is displayed at first this.$(".attributeListTable tr:first-child()").addClass("active"); + + // Add explanation text to the alternate identifier + this.renderAltIdentifierHelpText(); + }, + + /** + * Inserts an info icon next to the alternate identifier field, if it + * exists. The icon will display a tooltip with the help text for the + * field. + * @returns {jQuery} The jQuery object for the icon element. + * @since 2.26.0 + */ + renderAltIdentifierHelpText: function () { + try { + // Find the HTML element that contains the alternate identifier. + const altIdentifierLabel = this + .$(".control-label:contains('Alternate Identifier')"); + + // It may not exist for all datasets. + if (!altIdentifierLabel.length) return; + + const text = this.alternativeIdentifierHelpText; + + if(!text) return; + + // Create the tooltip + const icon = $(document.createElement("i")) + .addClass("tooltip-this icon icon-info-sign") + .css("margin-left", "4px"); + + // Activate the jQuery tooltip plugin + icon.tooltip({ + title: text, + placement: "top", + container: "body" + }); + + // Add the icon to the label. + altIdentifierLabel.append(icon); + + return icon; + } catch (e) { + console.log("Error adding help text to alternate identifier", e); + } + }, /* @@ -2951,15 +3011,9 @@

Source: src/js/views/MetadataView.js

* Note: Really could be generalized to more identifier schemes. */ getCanonicalDOIIRI: function (identifier) { - var pattern = /(10\.\d{4,9}\/[-\._;()\/:A-Z0-9]+)$/, - match = identifier.match(pattern); - - if (match === null || match.length !== 2 || match[1].length <= 0) { - return null; - } - - return "https://doi.org/" + match[1]; + return MetacatUI.appModel.DOItoURL(identifier) || null; }, + /** * Insert citation information as meta tags into the head of the page * diff --git a/docs/docs/src_js_views_MetricModalView.js.html b/docs/docs/src_js_views_MetricModalView.js.html index f25b027bc..c3ae88235 100644 --- a/docs/docs/src_js_views_MetricModalView.js.html +++ b/docs/docs/src_js_views_MetricModalView.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_views_MetricView.js.html b/docs/docs/src_js_views_MetricView.js.html index 79bfb659e..e070aa2c5 100644 --- a/docs/docs/src_js_views_MetricView.js.html +++ b/docs/docs/src_js_views_MetricView.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_views_MetricsChartView.js.html b/docs/docs/src_js_views_MetricsChartView.js.html index 9b5fe1a7a..f0fe2b3c8 100644 --- a/docs/docs/src_js_views_MetricsChartView.js.html +++ b/docs/docs/src_js_views_MetricsChartView.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_views_NavbarView.js.html b/docs/docs/src_js_views_NavbarView.js.html index 849e8c1ef..68ccde5a6 100644 --- a/docs/docs/src_js_views_NavbarView.js.html +++ b/docs/docs/src_js_views_NavbarView.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_views_RegisterCitationView.js.html b/docs/docs/src_js_views_RegisterCitationView.js.html index 809b47643..e1637d9eb 100644 --- a/docs/docs/src_js_views_RegisterCitationView.js.html +++ b/docs/docs/src_js_views_RegisterCitationView.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_views_SignInView.js.html b/docs/docs/src_js_views_SignInView.js.html index 56e2e13a8..063795252 100644 --- a/docs/docs/src_js_views_SignInView.js.html +++ b/docs/docs/src_js_views_SignInView.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_views_StatsView.js.html b/docs/docs/src_js_views_StatsView.js.html index 143b8d490..471ac6e04 100644 --- a/docs/docs/src_js_views_StatsView.js.html +++ b/docs/docs/src_js_views_StatsView.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_views_TOCView.js.html b/docs/docs/src_js_views_TOCView.js.html index ecbd2debe..4aff96fe5 100644 --- a/docs/docs/src_js_views_TOCView.js.html +++ b/docs/docs/src_js_views_TOCView.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_views_TableEditorView.js.html b/docs/docs/src_js_views_TableEditorView.js.html index 327d291c2..8fee3b341 100644 --- a/docs/docs/src_js_views_TableEditorView.js.html +++ b/docs/docs/src_js_views_TableEditorView.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_views_UserGroupView.js.html b/docs/docs/src_js_views_UserGroupView.js.html index f41c286a0..bfba04d57 100644 --- a/docs/docs/src_js_views_UserGroupView.js.html +++ b/docs/docs/src_js_views_UserGroupView.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_views_UserView.js.html b/docs/docs/src_js_views_UserView.js.html index 394823031..80b2966c1 100644 --- a/docs/docs/src_js_views_UserView.js.html +++ b/docs/docs/src_js_views_UserView.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_views_citations_CitationModalView.js.html b/docs/docs/src_js_views_citations_CitationModalView.js.html index 9998a18cf..8b5a95bde 100644 --- a/docs/docs/src_js_views_citations_CitationModalView.js.html +++ b/docs/docs/src_js_views_citations_CitationModalView.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

@@ -100,7 +100,7 @@

Source: src/js/views/citations/CitationModalView.js

* @default "apa" * @see {@link CitationView#styles} */ - style: "apa", + style: "apaAllAuthors", /** * The events this view will listen for. See @@ -237,6 +237,9 @@

Source: src/js/views/citations/CitationModalView.js

} }, + /** + * Insert the citation view into the modal + */ insertCitation: function () { const container = this.citationContainer; if (!container) return; diff --git a/docs/docs/src_js_views_filters_BooleanFilterView.js.html b/docs/docs/src_js_views_filters_BooleanFilterView.js.html index cabe5488e..3eaa33c21 100644 --- a/docs/docs/src_js_views_filters_BooleanFilterView.js.html +++ b/docs/docs/src_js_views_filters_BooleanFilterView.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_views_filters_ChoiceFilterView.js.html b/docs/docs/src_js_views_filters_ChoiceFilterView.js.html index 8daf70db0..85c09b216 100644 --- a/docs/docs/src_js_views_filters_ChoiceFilterView.js.html +++ b/docs/docs/src_js_views_filters_ChoiceFilterView.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_views_filters_DateFilterView.js.html b/docs/docs/src_js_views_filters_DateFilterView.js.html index 415f1c823..b11cd3562 100644 --- a/docs/docs/src_js_views_filters_DateFilterView.js.html +++ b/docs/docs/src_js_views_filters_DateFilterView.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_views_filters_FilterEditorView.js.html b/docs/docs/src_js_views_filters_FilterEditorView.js.html index aef2902a2..7b0a06d14 100644 --- a/docs/docs/src_js_views_filters_FilterEditorView.js.html +++ b/docs/docs/src_js_views_filters_FilterEditorView.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_views_filters_FilterGroupView.js.html b/docs/docs/src_js_views_filters_FilterGroupView.js.html index 652394a2a..5d3c353cc 100644 --- a/docs/docs/src_js_views_filters_FilterGroupView.js.html +++ b/docs/docs/src_js_views_filters_FilterGroupView.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

@@ -169,7 +169,7 @@

Source: src/js/views/filters/FilterGroupView.js

//Create a ToggleView var filterView = new ToggleFilterView(viewOptions); } - else if (view.areAllFieldsSemantic(filter.get("fields")) && MetacatUI.appModel.get("bioportalAPIKey")) { + else if (view.areAllFieldsSemantic(filter.get("fields")) && MetacatUI.appModel.get("bioportalAPIKey") && filter.type === "Filter") { var filterView = new SemanticFilterView(viewOptions); } else{ diff --git a/docs/docs/src_js_views_filters_FilterGroupsView.js.html b/docs/docs/src_js_views_filters_FilterGroupsView.js.html index 641f43624..57ae0d33a 100644 --- a/docs/docs/src_js_views_filters_FilterGroupsView.js.html +++ b/docs/docs/src_js_views_filters_FilterGroupsView.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_views_filters_FilterView.js.html b/docs/docs/src_js_views_filters_FilterView.js.html index 3896e0f88..04909edd1 100644 --- a/docs/docs/src_js_views_filters_FilterView.js.html +++ b/docs/docs/src_js_views_filters_FilterView.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_views_filters_NumericFilterView.js.html b/docs/docs/src_js_views_filters_NumericFilterView.js.html index c52635fa1..dc5d84784 100644 --- a/docs/docs/src_js_views_filters_NumericFilterView.js.html +++ b/docs/docs/src_js_views_filters_NumericFilterView.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_views_filters_SemanticFilterView.js.html b/docs/docs/src_js_views_filters_SemanticFilterView.js.html index 086493146..74d1fc6d9 100644 --- a/docs/docs/src_js_views_filters_SemanticFilterView.js.html +++ b/docs/docs/src_js_views_filters_SemanticFilterView.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_views_filters_ToggleFilterView.js.html b/docs/docs/src_js_views_filters_ToggleFilterView.js.html index 0936329b3..c4821af46 100644 --- a/docs/docs/src_js_views_filters_ToggleFilterView.js.html +++ b/docs/docs/src_js_views_filters_ToggleFilterView.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_views_maps_CesiumWidgetView.js.html b/docs/docs/src_js_views_maps_CesiumWidgetView.js.html index 871d7580f..4f48d2a03 100644 --- a/docs/docs/src_js_views_maps_CesiumWidgetView.js.html +++ b/docs/docs/src_js_views_maps_CesiumWidgetView.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

@@ -240,10 +240,6 @@

Source: src/js/views/maps/CesiumWidgetView.js

// raised. view.camera.percentChanged = 0.1 - // Zoom functions executed after each scene render - view.scene.postRender.addEventListener(function () { - view.postRender(); - }); // Disable HDR lighting for better performance and to avoid changing imagery colors. view.scene.highDynamicRange = false; @@ -270,81 +266,148 @@

Source: src/js/views/maps/CesiumWidgetView.js

view.updateDataSourceDisplay.call(view) }) + view.setListeners(); + view.addLayers(); + // Go to the home position, if one is set. view.flyHome(0) - // If users are allowed to click on features for more details, initialize - // picking behavior on the map. + // If users are allowed to click on features for more details, + // initialize picking behavior on the map. if (view.model.get('showFeatureInfo')) { view.initializePicking() } - // Set listeners for when the Cesium camera changes a significant amount. - view.camera.changed.addEventListener(function () { - view.trigger('moved') - view.model.trigger('moved') - // Update the bounding box for the visible area in the Map model - view.updateViewExtent() - // If the scale bar is showing, update the pixel to meter scale on the map - // model when the camera angle/zoom level changes - if (view.model.get('showScaleBar')) { - view.updateCurrentScale() - } - }) + return this - view.camera.moveEnd.addEventListener(function () { - view.trigger('moveEnd') - view.model.trigger('moveEnd') - }) - view.camera.moveStart.addEventListener(function () { - view.trigger('moveStart') - view.model.trigger('moveStart') - }) + } + catch (error) { + console.log( + 'Failed to render a CesiumWidgetView. Error details: ' + error + ); + } + }, - // Sets listeners for when the mouse moves, depending on the value of the map - // model's showScaleBar and showFeatureInfo attributes - view.setMouseMoveListeners() - - // When the appearance of a layer has been updated, then tell Cesium to - // re-render the scene. Each layer model triggers the 'appearanceChanged' - // function whenever the color, opacity, etc. has been updated in the - // associated Cesium model. - view.stopListening(view.model.get('layers'), 'appearanceChanged') - view.listenTo(view.model.get('layers'), 'appearanceChanged', view.requestRender) - - // Other views may trigger an event on the layer/asset model that indicates - // that the map should navigate to the extent of the data, or on the Map model - // to navigate to the home position. - view.stopListening(view.model.get('layers'), 'flyToExtent') - view.listenTo(view.model.get('layers'), 'flyToExtent', view.flyTo) - view.stopListening(view.model, 'flyHome') - view.listenTo(view.model, 'flyHome', view.flyHome) - - // Add each layer from the Map model to the Cesium widget. Render using the - // function configured in the View's mapAssetRenderFunctions property. Add in - // reverse order for layers to appear in the correct order on the map. - const layers = view.model.get('layers') - _.each(layers.last(layers.length).reverse(), function (mapAsset) { - view.addAsset(mapAsset) - }); + /** + * Set all of the listeners for the CesiumWidgetView. This function is + * called during the render function. + * @since 2.26.0 + */ + setListeners: function () { + + const view = this; - // The Cesium Widget will support just one terrain option to start. Later, - // we'll allow users to switch between terrains if there is more than one. - var terrains = view.model.get('terrains') - var terrainModel = terrains ? terrains.first() : false; - if (terrainModel) { - view.addAsset(terrainModel) + // Zoom functions executed after each scene render + view.scene.postRender.addEventListener(function () { + view.postRender(); + }); + + // When the user first interacts with the map, update the model. + // Ignore the event where the user just moves the mouse over the map. + view.listenOnceForInteraction(function () { + view.model.set('firstInteraction', true); + }, ["MOUSE_MOVE"]); + + // Set listeners for when the Cesium camera changes a significant + // amount. + view.camera.changed.addEventListener(function () { + view.trigger('moved') + view.model.trigger('moved') + // Update the bounding box for the visible area in the Map model + view.updateViewExtent() + // If the scale bar is showing, update the pixel to meter scale on + // the map model when the camera angle/zoom level changes + if (view.model.get('showScaleBar')) { + view.updateCurrentScale() } + }) + + view.camera.moveEnd.addEventListener(function () { + view.trigger('moveEnd') + view.model.trigger('moveEnd') + }) + view.camera.moveStart.addEventListener(function () { + view.trigger('moveStart') + view.model.trigger('moveStart') + }) + + // Sets listeners for when the mouse moves, depending on the value + // of the map model's showScaleBar and showFeatureInfo attributes + view.setMouseMoveListeners() + + // When the appearance of a layer has been updated, then tell Cesium + // to re-render the scene. Each layer model triggers the + // 'appearanceChanged' function whenever the color, opacity, etc. + // has been updated in the associated Cesium model. + view.stopListening(view.model.get('layers'), 'appearanceChanged') + view.listenTo(view.model.get('layers'), 'appearanceChanged', view.requestRender) + + // Other views may trigger an event on the layer/asset model that + // indicates that the map should navigate to the extent of the data, + // or on the Map model to navigate to the home position. + view.stopListening(view.model.get('layers'), 'flyToExtent') + view.listenTo(view.model.get('layers'), 'flyToExtent', view.flyTo) + view.stopListening(view.model, 'flyHome') + view.listenTo(view.model, 'flyHome', view.flyHome) + }, + /** + * Listen for any user interaction with the map. Once an interaction has + * occurred, run the callback function and stop listening for + * interactions. Useful for detecting the first user interaction with the + * map. + * @param {function} callback - The function to run once the interaction + * has occurred. + * @param {string[]} ignore - An array of Cesium.ScreenSpaceEventType + * labels to ignore. See + * {@link https://cesium.com/learn/cesiumjs/ref-doc/ScreenSpaceEventType.html} + * @since 2.26.0 + */ + listenOnceForInteraction: function ( + callback, + ignore = [] + ) { + const view = this; + const events = Cesium.ScreenSpaceEventType; + const inputHandler = new Cesium.ScreenSpaceEventHandler( + view.scene.canvas + ); + if (!ignore || !Array.isArray(ignore)) ignore = []; + + Object.entries(events).forEach(function ([label, value]) { + if (ignore.includes(label)) return; + inputHandler.setInputAction(function () { + callback(); + inputHandler.destroy(); + }, value); + }); + }, + /** + * Add all of the model's layers to the map. This function is called + * during the render function. + * @since 2.26.0 + */ + addLayers: function () { - return this + const view = this; - } - catch (error) { - console.log( - 'Failed to render a CesiumWidgetView. Error details: ' + error - ); + // Add each layer from the Map model to the Cesium widget. Render + // using the function configured in the View's mapAssetRenderFunctions + // property. Add in reverse order for layers to appear in the correct + // order on the map. + const layers = view.model.get('layers') + _.each(layers.last(layers.length).reverse(), function (mapAsset) { + view.addAsset(mapAsset) + }); + + // The Cesium Widget will support just one terrain option to start. + // Later, we'll allow users to switch between terrains if there is + // more than one. + var terrains = view.model.get('terrains') + var terrainModel = terrains ? terrains.first() : false; + if (terrainModel) { + view.addAsset(terrainModel) } }, diff --git a/docs/docs/src_js_views_maps_FeatureInfoView.js.html b/docs/docs/src_js_views_maps_FeatureInfoView.js.html index 0dc7610be..50ba0109f 100644 --- a/docs/docs/src_js_views_maps_FeatureInfoView.js.html +++ b/docs/docs/src_js_views_maps_FeatureInfoView.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_views_maps_LayerDetailView.js.html b/docs/docs/src_js_views_maps_LayerDetailView.js.html index f2e69b106..db6726649 100644 --- a/docs/docs/src_js_views_maps_LayerDetailView.js.html +++ b/docs/docs/src_js_views_maps_LayerDetailView.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_views_maps_LayerDetailsView.js.html b/docs/docs/src_js_views_maps_LayerDetailsView.js.html index fa86c6c29..9de2f6cf1 100644 --- a/docs/docs/src_js_views_maps_LayerDetailsView.js.html +++ b/docs/docs/src_js_views_maps_LayerDetailsView.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_views_maps_LayerInfoView.js.html b/docs/docs/src_js_views_maps_LayerInfoView.js.html index 613822d83..4eee5051c 100644 --- a/docs/docs/src_js_views_maps_LayerInfoView.js.html +++ b/docs/docs/src_js_views_maps_LayerInfoView.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_views_maps_LayerItemView.js.html b/docs/docs/src_js_views_maps_LayerItemView.js.html index d1e42031f..bba9564ae 100644 --- a/docs/docs/src_js_views_maps_LayerItemView.js.html +++ b/docs/docs/src_js_views_maps_LayerItemView.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_views_maps_LayerListView.js.html b/docs/docs/src_js_views_maps_LayerListView.js.html index 4a8bf1de4..f282eaa82 100644 --- a/docs/docs/src_js_views_maps_LayerListView.js.html +++ b/docs/docs/src_js_views_maps_LayerListView.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_views_maps_LayerNavigationView.js.html b/docs/docs/src_js_views_maps_LayerNavigationView.js.html index 5530c7a63..e160d313c 100644 --- a/docs/docs/src_js_views_maps_LayerNavigationView.js.html +++ b/docs/docs/src_js_views_maps_LayerNavigationView.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_views_maps_LayerOpacityView.js.html b/docs/docs/src_js_views_maps_LayerOpacityView.js.html index 9a0d895a3..b1847f2e7 100644 --- a/docs/docs/src_js_views_maps_LayerOpacityView.js.html +++ b/docs/docs/src_js_views_maps_LayerOpacityView.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_views_maps_LegendView.js.html b/docs/docs/src_js_views_maps_LegendView.js.html index 6a974a948..d91a408c2 100644 --- a/docs/docs/src_js_views_maps_LegendView.js.html +++ b/docs/docs/src_js_views_maps_LegendView.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_views_maps_MapView.js.html b/docs/docs/src_js_views_maps_MapView.js.html index 90c350219..26d4ab267 100644 --- a/docs/docs/src_js_views_maps_MapView.js.html +++ b/docs/docs/src_js_views_maps_MapView.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_views_maps_ScaleBarView.js.html b/docs/docs/src_js_views_maps_ScaleBarView.js.html index b7ff68897..ca35aad5b 100644 --- a/docs/docs/src_js_views_maps_ScaleBarView.js.html +++ b/docs/docs/src_js_views_maps_ScaleBarView.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_views_maps_ToolbarView.js.html b/docs/docs/src_js_views_maps_ToolbarView.js.html index ef4602b52..182166faf 100644 --- a/docs/docs/src_js_views_maps_ToolbarView.js.html +++ b/docs/docs/src_js_views_maps_ToolbarView.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_views_metadata_EML211EditorView.js.html b/docs/docs/src_js_views_metadata_EML211EditorView.js.html index a1ea64838..60f4815ac 100644 --- a/docs/docs/src_js_views_metadata_EML211EditorView.js.html +++ b/docs/docs/src_js_views_metadata_EML211EditorView.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_views_metadata_EML211MissingValueCodeView.js.html b/docs/docs/src_js_views_metadata_EML211MissingValueCodeView.js.html new file mode 100644 index 000000000..6d0072491 --- /dev/null +++ b/docs/docs/src_js_views_metadata_EML211MissingValueCodeView.js.html @@ -0,0 +1,328 @@ + + + + + MetacatUI Dev Docs: Source: src/js/views/metadata/EML211MissingValueCodeView.js + + + + + + + + + + + + + + +
+ +

Source: src/js/views/metadata/EML211MissingValueCodeView.js

+ + + + + + +
+
+
/* global define */
+define([
+  "jquery",
+  "backbone",
+  "models/metadata/eml211/EMLMissingValueCode",
+], function ($, Backbone, EMLMissingValueCode) {
+  /**
+   * @class EMLMissingValueCodeView
+   * @classdesc An EMLMissingValueCodeView provides an editing interface for a
+   * single EML Missing Value Code. The view provides two inputs, one of the
+   * code and one for the code explanation. If the model is part of a
+   * collection, the view will also provide a button to remove the model from
+   * the collection.
+   * @classcategory Views/Metadata
+   * @screenshot views/metadata/EMLMissingValueCodeView.png
+   * @extends Backbone.View
+   * @since 2.26.0
+   */
+  var EMLMissingValueCodeView = Backbone.View.extend(
+    /** @lends EMLMissingValueCodeView.prototype */ {
+      tagName: "div",
+
+      /**
+       * The type of View this is
+       * @type {string}
+       */
+      type: "EMLMissingValueCodeView",
+
+      /**
+       * The className to add to the view container
+       * @type {string}
+       */
+      className: "eml-missing-value",
+
+      /**
+       * The classes to add to the HTML elements in this view
+       * @type {Object}
+       * @property {string} removeButton - The class to add to the remove button
+       */
+      classes: {
+        removeButton: "reset-btn-styles",
+        codeInput: "code",
+        codeExplanationInput: "codeExplanation",
+      },
+
+      /**
+       * User-facing text strings that will be displayed in this view.
+       * @type {Object}
+       * @property {string} codePlaceholder - The placeholder text for the code
+       * input
+       * @property {string} codeExplanationPlaceholder - The placeholder text
+       * for the code explanation input
+       * @property {string} removeButton - The text for the remove button
+       */
+      text: {
+        codePlaceholder: "Missing Value Code",
+        codeExplanationPlaceholder: "Missing Value Code Explanation",
+        removeButton: "Remove",
+      },
+
+      /**
+       * The HTML for the remove button
+       * @type {string}
+       */
+      buttonHTML: `<button type="button">
+          <i class="icon icon-remove remove"></i>
+        </button>`,
+
+      /**
+       * Set this to true if this row is for a blank input row. This will
+       * prevent the view from rendering a remove button until the user starts
+       * typing.
+       * @type {boolean}
+       * @default false
+       */
+      isNew: false,
+
+      /**
+       * Creates a new EMLMissingValueCodeView
+       * @param {Object} options - A literal object with options to pass to the
+       * view
+       * @param {EMLAttribute} [options.model] - The EMLMissingValueCode model
+       * to render. If no model is provided, an empty model will be created.
+       */
+      initialize: function (options) {
+        if (!options || typeof options != "object") options = {};
+        this.model = options.model || new EMLMissingValueCode();
+        this.isNew = options.isNew === true;
+      },
+
+      /**
+       * Renders this view
+       * @return {EMLMissingValueCodeView} A reference to this view
+       */
+      render: function () {
+        try {
+          if (!this.model) {
+            console.warn(
+              "An EMLMissingValueCodeView model is required to render this view."
+            );
+            return this;
+          }
+
+          this.el.innerHTML = "";
+
+          this.renderInput("code");
+          this.renderInput("codeExplanation");
+
+          // Don't show a remove button if the model is marked as new
+          if (!this.isNew) {
+            this.renderRemoveButton();
+          }
+
+          // Set a listener for when the user types anything
+          this.setListeners();
+
+          return this;
+        } catch (error) {
+          console.log("Error rendering EMLMissingValueCodeView", error);
+        }
+      },
+
+      /**
+       * Set listeners on the view's DOM elements
+       */
+      setListeners: function () {
+        this.removeListeners();
+        // Listen for typing in inputs
+        this.el.addEventListener("input", this.handleTyping.bind(this));
+      },
+
+      /**
+       * Remove listeners from the view's DOM elements
+       */
+      removeListeners: function () {
+        this.el.removeEventListener("input", this.handleTyping.bind(this));
+      },
+
+      /**
+       * When a user types anything into any input, update the model and show
+       * the remove button if it was not yet rendered.
+       * @param {Event} e - The event that was triggered by the user
+       */
+      handleTyping: function (e) {
+        // If the user has typed in a new row, render a remove button and mark
+        // the row as no longer new
+        if (this.isNew) {
+          this.trigger("change:isNew");
+          this.isNew = false;
+        }
+        if (!this.removeButton) {
+          this.renderRemoveButton();
+        }
+        // Update the model with the new value in whichever input was typed in
+        this.updateModelFromInput(e.target.name);
+      },
+
+      /**
+       * Create and insert the input element for one of the model's attributes.
+       * This will add the input to the end of the view's element.
+       * @param {string} attr - The name of the attribute to create an input
+       * for, either "code" or "codeExplanation"
+       * @return {Element} The input element
+       */
+      renderInput(attr) {
+        if (!this.model) return;
+        const elName = `${attr}Input`;
+        const placeholder = this.text[`${attr}Placeholder`];
+        const classStr = this.classes[elName];
+        if (this[elName]) this[elName].remove();
+        const input = document.createElement("input");
+        input.classList.add(classStr);
+        input.setAttribute("type", "text");
+        input.setAttribute("name", attr);
+        input.setAttribute("placeholder", placeholder);
+        input.setAttribute("value", this.model.get(attr));
+        this.el.appendChild(input);
+        this[elName] = input;
+        return input;
+      },
+
+      /**
+       * Create and insert the remove button
+       * @return {Element} The remove button
+       */
+      renderRemoveButton: function () {
+        // The model must be part of a collection to remove it from anything
+        if (!this.model.collection) {
+          console.warn(
+            "The model must be part of a collection to render a remove button."
+          );
+          return;
+        }
+        if (this.removeButton) this.removeButton.remove();
+
+        const buttonHTML = this.buttonHTML || `<button>X</button>`;
+        const $button = $(buttonHTML).tooltip({
+          title: this.text.removeButton || "Remove",
+          placement: "top",
+          trigger: "hover",
+        });
+        const button = $button[0];
+
+        button.classList.add(this.classes.removeButton);
+        button.setAttribute("type", "button");
+        this.el.appendChild(button);
+
+        // remove self when the button is clicked
+        button.addEventListener("click", this.removeSelf.bind(this));
+        // Show a preview of what will happen when the button is clicked
+        button.addEventListener("mouseover", this.previewRemove.bind(this));
+        // Undo the preview when the mouse leaves the button
+        button.addEventListener("mouseout", this.undoPreviewRemove.bind(this));
+
+        this.removeButton = button;
+        return button;
+      },
+
+      /**
+       * When the button is hovered over, indicate visually that the row will
+       * be removed when the button is clicked
+       */
+      previewRemove: function () {
+        this.codeInput.style.opacity = 0.5;
+        this.codeExplanationInput.style.opacity = 0.5;
+      },
+
+      /**
+       * When the button is no longer hovered over, undo the visual indication
+       * that the row will be removed when the button is clicked
+       */
+      undoPreviewRemove: function () {
+        this.codeInput.style.opacity = 1;
+        this.codeExplanationInput.style.opacity = 1;
+      },
+
+      /**
+       * Update the model with the value in the input
+       * @param {string} attr - The name of the attribute to update, either
+       * "code" or "codeExplanation"
+       * @return {string} The new value
+       */
+      updateModelFromInput: function (attr) {
+        if (!this.model) return;
+        const newVal = this[`${attr}Input`]?.value;
+        this.model.set(attr, newVal);
+        return newVal;
+      },
+
+      /**
+       * Remove this view from the DOM and collection and remove any event
+       * listeners
+       */
+      removeSelf: function () {
+        this.removeListeners();
+        // Remove the model from the collection, if it exists
+        if (this.model.collection) {
+          this.model.collection.remove(this.model);
+        }
+        // Remove the view from the DOM
+        this.remove();
+      },
+    }
+  );
+
+  return EMLMissingValueCodeView;
+});
+
+
+
+ + + + +
+ +
+ + + + + diff --git a/docs/docs/src_js_views_metadata_EML211MissingValueCodesView.js.html b/docs/docs/src_js_views_metadata_EML211MissingValueCodesView.js.html new file mode 100644 index 000000000..b1ec59290 --- /dev/null +++ b/docs/docs/src_js_views_metadata_EML211MissingValueCodesView.js.html @@ -0,0 +1,299 @@ + + + + + MetacatUI Dev Docs: Source: src/js/views/metadata/EML211MissingValueCodesView.js + + + + + + + + + + + + + + +
+ +

Source: src/js/views/metadata/EML211MissingValueCodesView.js

+ + + + + + +
+
+
/* global define */
+define([
+  "backbone",
+  "models/metadata/eml211/EMLMissingValueCode",
+  "collections/metadata/eml/EMLMissingValueCodes",
+  "views/metadata/EML211MissingValueCodeView",
+], function (
+  Backbone,
+  EMLMissingValueCode,
+  EMLMissingValueCodes,
+  EML211MissingValueCodeView
+) {
+  /**
+   * @class EMLMissingValueCodesView
+   * @classdesc An EMLMissingValueCodesView provides an editing interface for an EML
+   * Missing Value Codes collection. For each missing value code, the view
+   * provides two inputs, one of the code and one for the code explanation. Each
+   * missing value code can be removed from the collection by clicking the
+   * "Remove" button next to the code. A new row of inputs will automatically be
+   * added to the view when the user starts typing in the last row of inputs.
+   * @classcategory Views/Metadata
+   * @screenshot views/metadata/EMLMissingValueCodesView.png
+   * @extends Backbone.View
+   * @since 2.26.0
+   */
+  var EMLMissingValueCodesView = Backbone.View.extend(
+    /** @lends EMLMissingValueCodesView.prototype */ {
+      tagName: "div",
+
+      /**
+       * The type of View this is
+       * @type {string}
+       */
+      type: "EMLMissingValueCodesView",
+
+      /**
+       * The className to add to the view container
+       * @type {string}
+       */
+      className: "eml-missing-values",
+
+      /**
+       * The classes to add to the HTML elements in this view
+       * @type {Object}
+       * @property {string} title - The class to add to the title element
+       * @property {string} description - The class to add to the description
+       * paragraph element
+       * @property {string} notification - The class to add to the validation
+       * message container element
+       * @property {string} rows - The class to add to the container element for
+       * the missing value code rows
+       */
+      classes: {
+        title: "",
+        description: "subtle",
+        notification: "notification",
+        rows: "eml-missing-value-rows",
+      },
+
+      /**
+       * User-facing text strings that will be displayed in this view.
+       * @type {Object}
+       * @property {string} title - The title text for this view
+       * @property {string[]} description - The description text for this view.
+       * Each string in the array will be rendered as a separate paragraph.
+       */
+      text: {
+        title: "Missing Value Codes",
+        description: [
+          `Specify the symbols or codes used to denote missing or
+          unavailable data in this attribute. Enter the symbol or number
+          representing the missing data along with a brief description
+          of why this code is used.`,
+          `Examples: "-9999, Sensor down time" or "NA, record not available"`,
+        ],
+      },
+
+      /**
+       * Creates a new EMLMissingValueCodesView
+       * @param {Object} options - A literal object with options to pass to the
+       * view
+       * @param {EMLAttribute} [options.collection] - The EMLMissingValueCodes
+       * collection to render in this view
+       */
+      initialize: function (options) {
+        if (!options || typeof options != "object") options = {};
+        this.collection = options.collection || new EMLMissingValueCodes();
+      },
+
+      /**
+       * Renders this view
+       * @return {EMLMissingValueCodesView} A reference to this view
+       */
+      render: function () {
+        if (!this.collection) {
+          console.warn(
+            `The EMLMissingValueCodesView requires a MissingValueCodes collection` +
+              ` to render.`
+          );
+          return;
+        }
+        this.setListeners();
+        this.el.innerHTML = "";
+        this.el.setAttribute("data-category", "missingValueCodes");
+        this.renderText();
+        this.renderRows();
+
+        return this;
+      },
+
+      /**
+       * Add the title, description, and placeholder for a validation message.
+       */
+      renderText: function () {
+        this.title = document.createElement("h5");
+        this.title.innerHTML = this.text.title;
+        this.el.appendChild(this.title);
+
+        this.text.description.forEach((descText) => {
+          this.description = document.createElement("p");
+          this.description.classList.add(this.classes.description);
+          this.description.innerHTML = descText;
+          this.el.appendChild(this.description);
+        });
+
+        this.notification = document.createElement("p");
+        this.notification.classList.add(this.classes.notification);
+        this.el.appendChild(this.notification);
+      },
+
+      /**
+       * Renders the rows for each missing value code in the collection, and
+       * adds a new row for entry of a new missing value code.
+       */
+      renderRows: function () {
+        // Create the div to hold each row
+        this.rows = document.createElement("div");
+        this.rows.classList.add(this.classes.rows);
+        this.el.appendChild(this.rows);
+
+        this.collection.each((model) => {
+          this.addRow(model);
+        });
+        // For entry of new values
+        this.addNewRow();
+      },
+
+      /**
+       * Add a new, empty Missing Value Code model to the collection. This will
+       * trigger the creation of a new row in the view.
+       */
+      addNewRow: function () {
+        this.collection.add(new EMLMissingValueCode());
+      },
+
+      /**
+       * Set listeners required for this view
+       */
+      setListeners: function () {
+        this.removeListeners();
+        // Add a row to the view when a model is added to the collection
+        this.listenTo(this.collection, "add", this.addRow);
+        // Make sure that removed models are removed from the view
+        this.listenTo(this.collection, "remove", this.removeRow);
+      },
+
+      /**
+       * Remove listeners that were previously set for this view
+       */
+      removeListeners: function () {
+        this.stopListening(this.collection, "add");
+        this.stopListening(this.collection, "remove");
+      },
+
+      /**
+       * Tests is a model should be considered "new" for the purposes of
+       * displaying it in the view. A "new" model is used to render a blank row
+       * in the view for entry of a new missing value code. We consider it new
+       * if it's the last in the collection and both attributes are blank.
+       * @param {EMLMissingValueCode} model - The model to test
+       * @return {boolean} Whether or not the model is new
+       */
+      modelIsNew: function (model) {
+        if (!model || !model.collection) return false;
+        const i = model.collection.indexOf(model);
+        const isLast = i === model.collection.length - 1;
+        return isLast && model.isEmpty();
+      },
+
+      /**
+       * Creates a new row view for a missing value code model and inserts it
+       * into this view at the end.
+       * @param {EMLMissingValueCode} model - The model to create a row for
+       * @returns {EML211MissingValueCodeView} The row view that was created
+       */
+      addRow: function (model) {
+        if (!model instanceof EMLMissingValueCode) return;
+
+        // New rows will not have a remove button until the user starts typing
+        const isNew = this.modelIsNew(model);
+
+        // Create and render the row view
+        const rowView = new EML211MissingValueCodeView({
+          model: model,
+          isNew: isNew,
+        }).render();
+
+        // Add the model ID to the row view so we can match it to the model
+        // Used by this.removeRow()
+        rowView.el.setAttribute("data-model-id", model.cid);
+
+        // Insert the row into the view
+        this.rows.append(rowView.el);
+
+        // If a user types in the last row, add a new row
+        if (isNew) {
+          this.listenToOnce(rowView, "change:isNew", this.addNewRow);
+        }
+      },
+
+      /**
+       * Removes a row view from this view
+       * @param {EMLMissingValueCode} model - The model to remove a row for
+       * @returns {EML211MissingValueCodeView} The row view that was removed
+       */
+      removeRow: function (model) {
+        if (!model instanceof EMLMissingValueCode) return;
+        const rowView = this.el.querySelector(`[data-model-id="${model.cid}"]`);
+        if (rowView) {
+          rowView.remove();
+          return rowView;
+        }
+      },
+    }
+  );
+
+  return EMLMissingValueCodesView;
+});
+
+
+
+ + + + +
+ +
+ + + + + diff --git a/docs/docs/src_js_views_metadata_EML211View.js.html b/docs/docs/src_js_views_metadata_EML211View.js.html index d4269c30b..78a861698 100644 --- a/docs/docs/src_js_views_metadata_EML211View.js.html +++ b/docs/docs/src_js_views_metadata_EML211View.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_views_metadata_EMLAttributeView.js.html b/docs/docs/src_js_views_metadata_EMLAttributeView.js.html index 2689f015c..3b8421ed3 100644 --- a/docs/docs/src_js_views_metadata_EMLAttributeView.js.html +++ b/docs/docs/src_js_views_metadata_EMLAttributeView.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

@@ -45,252 +45,339 @@

Source: src/js/views/metadata/EMLAttributeView.js

/* global define */
-define(['underscore', 'jquery', 'backbone',
-        'models/DataONEObject',
-        'models/metadata/eml211/EMLAttribute',
-        'models/metadata/eml211/EMLMeasurementScale',
-        'views/metadata/EMLMeasurementScaleView',
-        'text!templates/metadata/eml-attribute.html'],
-		function(_, $, Backbone, DataONEObject, EMLAttribute,
-			EMLMeasurementScale, EMLMeasurementScaleView, EMLAttributeTemplate){
-
-        /**
-        * @class EMLAttributeView
-        * @classdesc An EMLAttributeView displays the info about one attribute in a data object
-        * @classcategory Views/Metadata
-        * @screenshot views/metadata/EMLAttributeView.png
-        * @extends Backbone.View
-        */
-        var EMLAttributeView = Backbone.View.extend(
-          /** @lends EMLAttributeView.prototype */{
-
-            tagName: "div",
-
-            className: "eml-attribute",
-
-            id: null,
-
-            /* The HTML template for an attribute */
-            template: _.template(EMLAttributeTemplate),
-
-            /* Events this view listens to */
-            events: {
-              "change .input" : "updateModel",
-              "focusout" : "showValidation",
-              "keyup .error" : "hideValidation",
-              "click .radio" : "hideValidation"
-            },
-
-            initialize: function(options){
-            	if(!options)
-            		var options = {};
-
-            	this.isNew = (options.isNew == true) ? true : options.model? false : true;
-            	this.model = options.model || new EMLAttribute({xmlID: DataONEObject.generateId()});
-            },
-
-            render: function(){
-              var viewRef = this;
-
-            	var templateInfo = {
-            			title: this.model.get("attributeName")? this.model.get("attributeName") : "Add New Attribute"
-            	}
-
-            	_.extend(templateInfo, this.model.toJSON());
-
-            	//Render the template
-            	var viewHTML = this.template(templateInfo);
-
-            	//Insert the template HTML
-            	this.$el.html(viewHTML);
-
-            	var measurementScaleModel = this.model.get("measurementScale");
-
-            	if( !this.model.get("measurementScale") ){
-            		//Create a new EMLMeasurementScale model if this is a new attribute
-            		measurementScaleModel = EMLMeasurementScale.getInstance();
-            	}
-
-            	//Save a reference to this EMLAttribute model
-            	measurementScaleModel.set("parentModel", this.model);
-
-            	//Create an EMLMeasurementScaleView for this attribute's measurement scale
-            	var measurementScaleView = new EMLMeasurementScaleView({
-            		model: measurementScaleModel,
-            		parentView: this
-            	});
-
-            	//Render the EMLMeasurementScaleView and insert it into this view
-            	measurementScaleView.render();
-            	this.$(".measurement-scale-container").append(measurementScaleView.el);
-            	this.measurementScaleView = measurementScaleView;
-
-            	//Mark this view DOM as new if it is a new attribute
-            	if(this.isNew){
-            		this.$el.addClass("new");
-            	}
-
-            	//Save a reference to this model's id in the DOM
-            	this.$el.attr("data-attribute-id", this.model.cid);
-            },
-
-            postRender: function(){
-              this.measurementScaleView.postRender();
-              this.renderMeasurementTypeView();
-            },
-
-            /**
-             * Render and insert the MeasurementTypeView for this view
-             *
-             * This is separated out into its own method so it can be called
-             * from `postRender()` which is called after the user swithces to
-             * the EntityView tab for this attribute. We do this to avoid
-             * loading as many MeasurementTypeViews as there are Attributes
-             * which would get us rate limited by BioPortal because every
-             * MeasurementTypeView hits BioPortal's API on render.
-             */
-            renderMeasurementTypeView: function () {
-              if (!(MetacatUI.appModel.get("enableMeasurementTypeView") && MetacatUI.appModel.get("bioportalAPIKey"))) {
-                return;
-              }
-
-              var viewRef     = this,
-                  containerEl = viewRef.$(".measurement-type-container");
-
-              // Only insert a new view if we haven't already
-              if (!containerEl.is(":empty")) {
-                return;
-              }
-
-              // Dynamically require since this view is feature-flagged off by
-              // default and requires an API key
-              require(["views/metadata/EMLMeasurementTypeView"], function (EMLMeasurementTypeView) {
-                var view = new EMLMeasurementTypeView({
-                  model: viewRef.model
-                });
-
-                view.render();
-                containerEl.html(view.el);
-              });
-            },
-
-            updateModel: function(e){
-            	if(!e) return;
-
-              var emlModel = this.model.get("parentModel"),
-                  tries = 0;
-
-              while (emlModel.type !== "EML" && tries < 6){
-                emlModel = emlModel.get("parentModel");
-                tries++;
-              }
-
-            	var newValue = emlModel? emlModel.cleanXMLText( $(e.target).val() ) : $(e.target).val(),
-            		category  = $(e.target).attr("data-category"),
-            		currentValue = this.model.get(category);
-
-              //If the new value is just a string of space characters, then set it to an empty string
-              if( typeof newValue == "string" && !newValue.trim().length ){
-                newValue = "";
-              }
-
-              // If the current value is an array...
-            	if(Array.isArray(currentValue)){
-
-                //Get the position of the updated DOM element
-            		var index = this.$(".input[data-category='" + category + "']").index(e.target);
-
-                //If there is at least one value already in the array...
-            		if(currentValue.length > 0){
-                  //If the new value is a falsey value, then don't' set it on the model
-                  if( typeof newValue == "undefined" || newValue === false || newValue === null){
-
-                    //Remove one element at this index instead of inserting an
-                    // empty value
-                    var newArray = currentValue.splice(index, 1);
-
-                    //Set the new array on the model
-                    this.model.set(category, newArray);
-                  }
-                  //Otherwise, insert the value in the array at the calculated index
-                  else{
-                    currentValue[index] = newValue;
-                  }
-                }
-                // Otherwise if it's an empty array AND there is a value to set...
-            		else if( typeof newValue != "undefined" && newValue !== false && newValue !== null){
-
-                    //Push the new value into this array
-                    currentValue.push(newValue);
-
-                }
-
-                //Trigger a change on this model attribute
-            		this.model.trigger("change:" + category);
-
-            	}
-              //If the value is not an array...
-            	else{
-
-                //Check that there is an actual value here
-                if( typeof newValue != "undefined" && newValue !== false && newValue !== null){
-
-            		      this.model.set(category, newValue);
-
-                }
-
-            	}
-            },
-
-            showValidation: function(){
-
-            	var view = this;
-
-            	setTimeout(function(){
-					//If the user focused on another element in this view, don't do anything
-					if( _.contains($(document.activeElement).parents(), view.el) )
-						return;
-
-					//Reset the error messages and styling
-					view.$el.removeClass("error");
-					view.$(".error").removeClass("error");
-					view.$(".notification").text("");
-
-	            	if(!view.model.isValid()){
-
-	            		var errors = view.model.validationError;
-
-	            		_.each(Object.keys(errors), function(attr){
-
-	            			view.$(".input[data-category='" + attr + "']").addClass("error");
-	            			view.$(".radio [data-category='" + attr + "']").addClass("error");
-	            			view.$("[data-category='" + attr + "'] .notification").text(errors[attr]).addClass("error");
-
-	            		}, view);
-
-	            		view.$el.addClass("error");
-	            	}
-
-	            	//If the measurement scale model is not valid
-	            	if(view.model.get("measurementScale") && !view.model.get("measurementScale").isValid()){
-	            		view.measurementScaleView.showValidation();
-	            	}
-
-            	}, 200);
-
-            },
-
-            hideValidation: function(e){
-            	var input 	 = $(e.target),
-            		category = input.attr("data-category");
+define([
+  "underscore",
+  "jquery",
+  "backbone",
+  "models/DataONEObject",
+  "models/metadata/eml211/EMLAttribute",
+  "models/metadata/eml211/EMLMeasurementScale",
+  "views/metadata/EMLMeasurementScaleView",
+  "views/metadata/EML211MissingValueCodesView",
+  "text!templates/metadata/eml-attribute.html",
+], function (
+  _,
+  $,
+  Backbone,
+  DataONEObject,
+  EMLAttribute,
+  EMLMeasurementScale,
+  EMLMeasurementScaleView,
+  EML211MissingValueCodesView,
+  EMLAttributeTemplate
+) {
+  /**
+   * @class EMLAttributeView
+   * @classdesc An EMLAttributeView displays the info about one attribute in a
+   * data object
+   * @classcategory Views/Metadata
+   * @screenshot views/metadata/EMLAttributeView.png
+   * @extends Backbone.View
+   */
+  var EMLAttributeView = Backbone.View.extend(
+    /** @lends EMLAttributeView.prototype */ {
+      tagName: "div",
+
+      /**
+       * The className to add to the view container
+       * @type {string}
+       */
+      className: "eml-attribute",
+
+      /**
+       * The HTML template for an attribute
+       * @type {Underscore.template}
+       */
+      template: _.template(EMLAttributeTemplate),
+
+      /**
+       * The events this view will listen to and the associated function to
+       * call.
+       * @type {Object}
+       */
+      events: {
+        "change .input": "updateModel",
+        focusout: "showValidation",
+        "keyup .error": "hideValidation",
+        "click .radio": "hideValidation",
+      },
+
+      /**
+       * Creates a new EMLAttributeView
+       * @param {Object} options - A literal object with options to pass to the
+       * view
+       * @param {EMLAttribute} [options.model] - The EMLAttribute model to
+       * display. If none is provided, an empty EMLAttribute will be created.
+       * @param {boolean} [options.isNew=false] - Set to true if this is a new
+       * attribute
+       */
+      initialize: function (options) {
+        if (!options || typeof options != "object") options = {};
+        this.isNew =
+          options.isNew == true ? true : options.model ? false : true;
+        this.model =
+          options.model ||
+          new EMLAttribute({ xmlID: DataONEObject.generateId() });
+      },
+
+      /**
+       * Renders this view
+       * @return {EMLAttributeView} A reference to this view
+       */
+      render: function () {
+        var templateInfo = {
+          title: this.model.get("attributeName")
+            ? this.model.get("attributeName")
+            : "Add New Attribute",
+        };
+
+        _.extend(templateInfo, this.model.toJSON());
+
+        // Render the template
+        var viewHTML = this.template(templateInfo);
+
+        // Insert the template HTML
+        this.$el.html(viewHTML);
+
+        var measurementScaleModel = this.model.get("measurementScale");
+
+        if (!this.model.get("measurementScale")) {
+          // Create a new EMLMeasurementScale model if this is a new attribute
+          measurementScaleModel = EMLMeasurementScale.getInstance();
+        }
+
+        // Save a reference to this EMLAttribute model
+        measurementScaleModel.set("parentModel", this.model);
+
+        // Create an EMLMeasurementScaleView for this attribute's measurement
+        // scale
+        var measurementScaleView = new EMLMeasurementScaleView({
+          model: measurementScaleModel,
+          parentView: this,
+        });
 
-            	input.removeClass("error");
+        // Render the EMLMeasurementScaleView and insert it into this view
+        measurementScaleView.render();
+        this.$(".measurement-scale-container").append(measurementScaleView.el);
+        this.measurementScaleView = measurementScaleView;
 
-            	this.$("[data-category='" + category + "'] .notification").removeClass("error").empty();
-            }
+        // Create and insert a missing values view
+        const MissingValueCodesView = new EML211MissingValueCodesView({
+          collection: this.model.get("missingValueCodes"),
         });
-
-        return EMLAttributeView;
+        MissingValueCodesView.render();
+        this.$(".missing-values-container").append(MissingValueCodesView.el);
+        this.MissingValueCodesView = MissingValueCodesView;
+
+        // Mark this view DOM as new if it is a new attribute
+        if (this.isNew) {
+          this.$el.addClass("new");
+        }
+
+        // Save a reference to this model's id in the DOM
+        this.$el.attr("data-attribute-id", this.model.cid);
+      },
+
+      /**
+       * After this view has been rendered, add the MeasurementTypeView and
+       * render the MeasurementScaleView
+       */
+      postRender: function () {
+        this.measurementScaleView.postRender();
+        this.renderMeasurementTypeView();
+      },
+
+      /**
+       * Render and insert the MeasurementTypeView for this view.
+       *
+       * This is separated out into its own method so it can be called from
+       * `postRender()` which is called after the user switches to the
+       * EntityView tab for this attribute. We do this to avoid loading as many
+       * MeasurementTypeViews as there are Attributes which would get us rate
+       * limited by BioPortal because every MeasurementTypeView hits BioPortal's
+       * API on render.
+       */
+      renderMeasurementTypeView: function () {
+        if (
+          !(
+            MetacatUI.appModel.get("enableMeasurementTypeView") &&
+            MetacatUI.appModel.get("bioportalAPIKey")
+          )
+        ) {
+          return;
+        }
+
+        var viewRef = this,
+          containerEl = viewRef.$(".measurement-type-container");
+
+        // Only insert a new view if we haven't already
+        if (!containerEl.is(":empty")) {
+          return;
+        }
+
+        // Dynamically require since this view is feature-flagged off by default
+        // and requires an API key
+        require(["views/metadata/EMLMeasurementTypeView"], function (
+          EMLMeasurementTypeView
+        ) {
+          var view = new EMLMeasurementTypeView({
+            model: viewRef.model,
+          });
+
+          view.render();
+          containerEl.html(view.el);
+        });
+      },
+
+      /**
+       * Updates the model with the new value from the DOM element that was
+       * changed.
+       * @param {Event} e - The event that was triggered by the user
+       */
+      updateModel: function (e) {
+        if (!e) return;
+
+        var emlModel = this.model.get("parentModel"),
+          tries = 0;
+
+        while (emlModel.type !== "EML" && tries < 6) {
+          emlModel = emlModel.get("parentModel");
+          tries++;
+        }
+
+        var newValue = emlModel
+            ? emlModel.cleanXMLText($(e.target).val())
+            : $(e.target).val(),
+          category = $(e.target).attr("data-category"),
+          currentValue = this.model.get(category);
+
+        // If the new value is just a string of space characters, then set it to
+        // an empty string
+        if (typeof newValue == "string" && !newValue.trim().length) {
+          newValue = "";
+        }
+
+        // If the current value is an array...
+        if (Array.isArray(currentValue)) {
+          // Get the position of the updated DOM element
+          var index = this.$(".input[data-category='" + category + "']").index(
+            e.target
+          );
+
+          // If there is at least one value already in the array...
+          if (currentValue.length > 0) {
+            // If the new value is a falsey value, then don't' set it on the
+            // model
+            if (
+              typeof newValue == "undefined" ||
+              newValue === false ||
+              newValue === null
+            ) {
+              // Remove one element at this index instead of inserting an empty
+              // value
+              var newArray = currentValue.splice(index, 1);
+
+              // Set the new array on the model
+              this.model.set(category, newArray);
+            }
+            // Otherwise, insert the value in the array at the calculated index
+            else {
+              currentValue[index] = newValue;
+            }
+          }
+          // Otherwise if it's an empty array AND there is a value to set...
+          else if (
+            typeof newValue != "undefined" &&
+            newValue !== false &&
+            newValue !== null
+          ) {
+            // Push the new value into this array
+            currentValue.push(newValue);
+          }
+
+          // Trigger a change on this model attribute
+          this.model.trigger("change:" + category);
+        }
+        // If the value is not an array...
+        else {
+          // Check that there is an actual value here
+          if (
+            typeof newValue != "undefined" &&
+            newValue !== false &&
+            newValue !== null
+          ) {
+            this.model.set(category, newValue);
+          }
+        }
+      },
+
+      /**
+       * Shows validation errors on this view
+       */
+      showValidation: function () {
+        var view = this;
+
+        setTimeout(function () {
+          // If the user focused on another element in this view, don't do
+          // anything
+          if (_.contains($(document.activeElement).parents(), view.el)) return;
+
+          // Reset the error messages and styling
+          view.$el.removeClass("error");
+          view.$(".error").removeClass("error");
+          view.$(".notification").text("");
+
+          if (!view.model.isValid()) {
+            var errors = view.model.validationError;
+
+            _.each(
+              Object.keys(errors),
+              function (attr) {
+                view
+                  .$(".input[data-category='" + attr + "']")
+                  .addClass("error");
+                view
+                  .$(".radio [data-category='" + attr + "']")
+                  .addClass("error");
+                view
+                  .$("[data-category='" + attr + "'] .notification")
+                  .text(errors[attr])
+                  .addClass("error");
+              },
+              view
+            );
+
+            view.$el.addClass("error");
+          }
+
+          // If the measurement scale model is not valid
+          if (
+            view.model.get("measurementScale") &&
+            !view.model.get("measurementScale").isValid()
+          ) {
+            view.measurementScaleView.showValidation();
+          }
+        }, 200);
+      },
+
+      /**
+       * Hides validation errors on this view
+       * @param {Event} e - The event that was triggered by the user
+       */
+      hideValidation: function (e) {
+        var input = $(e.target),
+          category = input.attr("data-category");
+
+        input.removeClass("error");
+
+        this.$("[data-category='" + category + "'] .notification")
+          .removeClass("error")
+          .empty();
+      },
+    }
+  );
+
+  return EMLAttributeView;
 });
 
diff --git a/docs/docs/src_js_views_metadata_EMLEntityView.js.html b/docs/docs/src_js_views_metadata_EMLEntityView.js.html index d572c0270..a8a7585b6 100644 --- a/docs/docs/src_js_views_metadata_EMLEntityView.js.html +++ b/docs/docs/src_js_views_metadata_EMLEntityView.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_views_metadata_EMLGeoCoverageView.js.html b/docs/docs/src_js_views_metadata_EMLGeoCoverageView.js.html index ddf92aa46..e99a862e5 100644 --- a/docs/docs/src_js_views_metadata_EMLGeoCoverageView.js.html +++ b/docs/docs/src_js_views_metadata_EMLGeoCoverageView.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_views_metadata_EMLMeasurementScaleView.js.html b/docs/docs/src_js_views_metadata_EMLMeasurementScaleView.js.html index d6ba35183..127e69719 100644 --- a/docs/docs/src_js_views_metadata_EMLMeasurementScaleView.js.html +++ b/docs/docs/src_js_views_metadata_EMLMeasurementScaleView.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_views_metadata_EMLMeasurementTypeView.js.html b/docs/docs/src_js_views_metadata_EMLMeasurementTypeView.js.html index f837ce69e..5a8f262c4 100644 --- a/docs/docs/src_js_views_metadata_EMLMeasurementTypeView.js.html +++ b/docs/docs/src_js_views_metadata_EMLMeasurementTypeView.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_views_metadata_EMLMethodsView.js.html b/docs/docs/src_js_views_metadata_EMLMethodsView.js.html index a9191d2f2..8bcc80873 100644 --- a/docs/docs/src_js_views_metadata_EMLMethodsView.js.html +++ b/docs/docs/src_js_views_metadata_EMLMethodsView.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_views_metadata_EMLOtherEntityView.js.html b/docs/docs/src_js_views_metadata_EMLOtherEntityView.js.html index 1788f26e2..3b20d1e57 100644 --- a/docs/docs/src_js_views_metadata_EMLOtherEntityView.js.html +++ b/docs/docs/src_js_views_metadata_EMLOtherEntityView.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_views_metadata_EMLPartyView.js.html b/docs/docs/src_js_views_metadata_EMLPartyView.js.html index 3dd690044..5aaf2f320 100644 --- a/docs/docs/src_js_views_metadata_EMLPartyView.js.html +++ b/docs/docs/src_js_views_metadata_EMLPartyView.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_views_metadata_EMLTempCoverageView.js.html b/docs/docs/src_js_views_metadata_EMLTempCoverageView.js.html index 90262d22d..4af258f0c 100644 --- a/docs/docs/src_js_views_metadata_EMLTempCoverageView.js.html +++ b/docs/docs/src_js_views_metadata_EMLTempCoverageView.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_views_metadata_ScienceMetadataView.js.html b/docs/docs/src_js_views_metadata_ScienceMetadataView.js.html index ddc90d47f..389437d71 100644 --- a/docs/docs/src_js_views_metadata_ScienceMetadataView.js.html +++ b/docs/docs/src_js_views_metadata_ScienceMetadataView.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_views_portals_PortalDataView.js.html b/docs/docs/src_js_views_portals_PortalDataView.js.html index 73abd3eb6..1c29b7c14 100644 --- a/docs/docs/src_js_views_portals_PortalDataView.js.html +++ b/docs/docs/src_js_views_portals_PortalDataView.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_views_portals_PortalHeaderView.js.html b/docs/docs/src_js_views_portals_PortalHeaderView.js.html index 6e0ba1510..55bcefee7 100644 --- a/docs/docs/src_js_views_portals_PortalHeaderView.js.html +++ b/docs/docs/src_js_views_portals_PortalHeaderView.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_views_portals_PortalListView.js.html b/docs/docs/src_js_views_portals_PortalListView.js.html index 6b139109e..84c70b7fe 100644 --- a/docs/docs/src_js_views_portals_PortalListView.js.html +++ b/docs/docs/src_js_views_portals_PortalListView.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_views_portals_PortalLogosView.js.html b/docs/docs/src_js_views_portals_PortalLogosView.js.html index 2f5d51431..452e907c8 100644 --- a/docs/docs/src_js_views_portals_PortalLogosView.js.html +++ b/docs/docs/src_js_views_portals_PortalLogosView.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_views_portals_PortalMembersView.js.html b/docs/docs/src_js_views_portals_PortalMembersView.js.html index 33d06d5c0..48c80ecf7 100644 --- a/docs/docs/src_js_views_portals_PortalMembersView.js.html +++ b/docs/docs/src_js_views_portals_PortalMembersView.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_views_portals_PortalMetricsView.js.html b/docs/docs/src_js_views_portals_PortalMetricsView.js.html index 0dfb37f3f..338178a5b 100644 --- a/docs/docs/src_js_views_portals_PortalMetricsView.js.html +++ b/docs/docs/src_js_views_portals_PortalMetricsView.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_views_portals_PortalSectionView.js.html b/docs/docs/src_js_views_portals_PortalSectionView.js.html index fbb471c03..7a89afb24 100644 --- a/docs/docs/src_js_views_portals_PortalSectionView.js.html +++ b/docs/docs/src_js_views_portals_PortalSectionView.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_views_portals_PortalUsagesView.js.html b/docs/docs/src_js_views_portals_PortalUsagesView.js.html index 450e99bc8..4748bfdc2 100644 --- a/docs/docs/src_js_views_portals_PortalUsagesView.js.html +++ b/docs/docs/src_js_views_portals_PortalUsagesView.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_views_portals_PortalView.js.html b/docs/docs/src_js_views_portals_PortalView.js.html index 80f70db2e..1d60faaac 100644 --- a/docs/docs/src_js_views_portals_PortalView.js.html +++ b/docs/docs/src_js_views_portals_PortalView.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_views_portals_PortalVisualizationsView.js.html b/docs/docs/src_js_views_portals_PortalVisualizationsView.js.html index 6e63decd3..d91b365b7 100644 --- a/docs/docs/src_js_views_portals_PortalVisualizationsView.js.html +++ b/docs/docs/src_js_views_portals_PortalVisualizationsView.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_views_portals_PortalsSearchView.js.html b/docs/docs/src_js_views_portals_PortalsSearchView.js.html index fb8aa13c9..57a123934 100644 --- a/docs/docs/src_js_views_portals_PortalsSearchView.js.html +++ b/docs/docs/src_js_views_portals_PortalsSearchView.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_views_portals_editor_PortEditorDataView.js.html b/docs/docs/src_js_views_portals_editor_PortEditorDataView.js.html index 399060742..b63e0e761 100644 --- a/docs/docs/src_js_views_portals_editor_PortEditorDataView.js.html +++ b/docs/docs/src_js_views_portals_editor_PortEditorDataView.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_views_portals_editor_PortEditorImageView.js.html b/docs/docs/src_js_views_portals_editor_PortEditorImageView.js.html index a0d14e495..c50ae9725 100644 --- a/docs/docs/src_js_views_portals_editor_PortEditorImageView.js.html +++ b/docs/docs/src_js_views_portals_editor_PortEditorImageView.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_views_portals_editor_PortEditorLogosView.js.html b/docs/docs/src_js_views_portals_editor_PortEditorLogosView.js.html index 1920f5efc..4252a2f6e 100644 --- a/docs/docs/src_js_views_portals_editor_PortEditorLogosView.js.html +++ b/docs/docs/src_js_views_portals_editor_PortEditorLogosView.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_views_portals_editor_PortEditorMdSectionView.js.html b/docs/docs/src_js_views_portals_editor_PortEditorMdSectionView.js.html index 4d2558e64..64f3135ca 100644 --- a/docs/docs/src_js_views_portals_editor_PortEditorMdSectionView.js.html +++ b/docs/docs/src_js_views_portals_editor_PortEditorMdSectionView.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_views_portals_editor_PortEditorSectionView.js.html b/docs/docs/src_js_views_portals_editor_PortEditorSectionView.js.html index 795ddff7f..a8a26bdc6 100644 --- a/docs/docs/src_js_views_portals_editor_PortEditorSectionView.js.html +++ b/docs/docs/src_js_views_portals_editor_PortEditorSectionView.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_views_portals_editor_PortEditorSectionsView.js.html b/docs/docs/src_js_views_portals_editor_PortEditorSectionsView.js.html index 5e32254fd..59307bed2 100644 --- a/docs/docs/src_js_views_portals_editor_PortEditorSectionsView.js.html +++ b/docs/docs/src_js_views_portals_editor_PortEditorSectionsView.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_views_portals_editor_PortEditorSettingsView.js.html b/docs/docs/src_js_views_portals_editor_PortEditorSettingsView.js.html index cf531ae2c..4009e5210 100644 --- a/docs/docs/src_js_views_portals_editor_PortEditorSettingsView.js.html +++ b/docs/docs/src_js_views_portals_editor_PortEditorSettingsView.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_views_portals_editor_PortalEditorView.js.html b/docs/docs/src_js_views_portals_editor_PortalEditorView.js.html index e07a42423..17f1ebf49 100644 --- a/docs/docs/src_js_views_portals_editor_PortalEditorView.js.html +++ b/docs/docs/src_js_views_portals_editor_PortalEditorView.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_views_projects_ProjectView.js.html b/docs/docs/src_js_views_projects_ProjectView.js.html index d60bf122e..ff2bca8bf 100644 --- a/docs/docs/src_js_views_projects_ProjectView.js.html +++ b/docs/docs/src_js_views_projects_ProjectView.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_views_queryBuilder_QueryBuilderView.js.html b/docs/docs/src_js_views_queryBuilder_QueryBuilderView.js.html index db542d506..ddf000c04 100644 --- a/docs/docs/src_js_views_queryBuilder_QueryBuilderView.js.html +++ b/docs/docs/src_js_views_queryBuilder_QueryBuilderView.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_views_queryBuilder_QueryRuleView.js.html b/docs/docs/src_js_views_queryBuilder_QueryRuleView.js.html index 16fe27b1e..7398c674b 100644 --- a/docs/docs/src_js_views_queryBuilder_QueryRuleView.js.html +++ b/docs/docs/src_js_views_queryBuilder_QueryRuleView.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_views_searchSelect_AccountSelectView.js.html b/docs/docs/src_js_views_searchSelect_AccountSelectView.js.html index 4b79912c2..83b68c0a4 100644 --- a/docs/docs/src_js_views_searchSelect_AccountSelectView.js.html +++ b/docs/docs/src_js_views_searchSelect_AccountSelectView.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_views_searchSelect_AnnotationFilterView.js.html b/docs/docs/src_js_views_searchSelect_AnnotationFilterView.js.html index 6ace46a66..dea86f313 100644 --- a/docs/docs/src_js_views_searchSelect_AnnotationFilterView.js.html +++ b/docs/docs/src_js_views_searchSelect_AnnotationFilterView.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_views_searchSelect_NodeSelectView.js.html b/docs/docs/src_js_views_searchSelect_NodeSelectView.js.html index 132d113c2..623d28fe5 100644 --- a/docs/docs/src_js_views_searchSelect_NodeSelectView.js.html +++ b/docs/docs/src_js_views_searchSelect_NodeSelectView.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_views_searchSelect_ObjectFormatSelectView.js.html b/docs/docs/src_js_views_searchSelect_ObjectFormatSelectView.js.html index 547b7aa63..710983af0 100644 --- a/docs/docs/src_js_views_searchSelect_ObjectFormatSelectView.js.html +++ b/docs/docs/src_js_views_searchSelect_ObjectFormatSelectView.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_views_searchSelect_QueryFieldSelectView.js.html b/docs/docs/src_js_views_searchSelect_QueryFieldSelectView.js.html index 13a3e42ab..60ac8fc77 100644 --- a/docs/docs/src_js_views_searchSelect_QueryFieldSelectView.js.html +++ b/docs/docs/src_js_views_searchSelect_QueryFieldSelectView.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_views_searchSelect_SearchableSelectView.js.html b/docs/docs/src_js_views_searchSelect_SearchableSelectView.js.html index e4d4e21d8..d192233fb 100644 --- a/docs/docs/src_js_views_searchSelect_SearchableSelectView.js.html +++ b/docs/docs/src_js_views_searchSelect_SearchableSelectView.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_views_search_CatalogSearchView.js.html b/docs/docs/src_js_views_search_CatalogSearchView.js.html index 69ebb53ea..7cd1e857e 100644 --- a/docs/docs/src_js_views_search_CatalogSearchView.js.html +++ b/docs/docs/src_js_views_search_CatalogSearchView.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

@@ -139,13 +139,25 @@

Source: src/js/views/search/CatalogSearchView.js

filtersVisible: true, /** - * Whether to limit the search to the extent of the map. If true, the - * search will update when the user pans or zooms the map. + * Whether to limit the search to the extent of the map. When true, the + * search will update when the user pans or zooms the map. This property + * will be updated when the user clicks the map filter toggle. Whatever is + * set during the initial render will be the default. * @type {boolean} * @since 2.25.0 + * @default false + */ + limitSearchToMapArea: false, + + /** + * Whether to limit the search to the extent the first time the user + * interacts with the map. This only applies if limitSearchToMapArea is + * initially set to false. + * @type {boolean} + * @since 2.26.0 * @default true */ - limitSearchToMapArea: true, + limitSearchToMapOnInteraction: true, /** * The View that displays the search results. The render method will be @@ -346,8 +358,9 @@

Source: src/js/views/search/CatalogSearchView.js

addSpatialFilter: options.addSpatialFilter !== false, }); } - model.connect(); + this.model = model; + this.model.connect(); }, /** @@ -363,6 +376,9 @@

Source: src/js/views/search/CatalogSearchView.js

// Render the search components this.renderComponents(); + + // Set up the initial map toggle state + this.setMapToggleState(); }, /** @@ -400,6 +416,27 @@

Source: src/js/views/search/CatalogSearchView.js

this.toggleMapVisibility(this.mapVisible); }, + /** + * Sets the initial state of the map filter toggle. Optionally listens + * for the first user interaction with the map before turning on the + * spatial filter. + * @since 2.26.0 + */ + setMapToggleState: function () { + // Set the initial state of the spatial filter + this.toggleMapFilter(this.limitSearchToMapArea); + + if (this.limitSearchToMapOnInteraction && !this.limitSearchToMapArea) { + this.listenToOnce( + this.model.get("map"), + "change:firstInteraction", + function () { + this.toggleMapFilter(true); + } + ); + } + }, + /** * Sets up the basic components of this view * @since 2.22.0 @@ -419,7 +456,11 @@

Source: src/js/views/search/CatalogSearchView.js

this.addLinkedData(); // Render the template - this.$el.html(this.template({})); + this.$el.html( + this.template({ + mapFilterOn: this.limitSearchToMapArea === true, + }) + ); } catch (e) { console.log( "There was an error setting up the CatalogSearchView:" + e @@ -863,12 +904,25 @@

Source: src/js/views/search/CatalogSearchView.js

? !this.limitSearchToMapArea // the opposite of the current mode : newSetting; // the provided new mode if it is a boolean + // Select the map filter toggle checkbox so that we can keep it in sync + // with the new setting + let mapFilterToggle = this.el.querySelector(this.mapFilterToggle); + // If it's not a checkbox input, find the child checkbox input + if (mapFilterToggle && mapFilterToggle.tagName != "INPUT") { + mapFilterToggle = mapFilterToggle.querySelector("input"); + } if (newSetting) { // If true, then the filter should be ON this.model.connectFiltersMap(); + if (mapFilterToggle) { + mapFilterToggle.checked = true; + } } else { // If false, then the filter should be OFF this.model.disconnectFiltersMap(true); + if (mapFilterToggle) { + mapFilterToggle.checked = false; + } } this.limitSearchToMapArea = newSetting; }, diff --git a/docs/docs/src_js_views_search_SearchResultView.js.html b/docs/docs/src_js_views_search_SearchResultView.js.html index 0ed1c7a22..36ffb29d3 100644 --- a/docs/docs/src_js_views_search_SearchResultView.js.html +++ b/docs/docs/src_js_views_search_SearchResultView.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_views_search_SearchResultsPagerView.js.html b/docs/docs/src_js_views_search_SearchResultsPagerView.js.html index 8fe1794ca..1d62ed3d3 100644 --- a/docs/docs/src_js_views_search_SearchResultsPagerView.js.html +++ b/docs/docs/src_js_views_search_SearchResultsPagerView.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_views_search_SearchResultsView.js.html b/docs/docs/src_js_views_search_SearchResultsView.js.html index 342a275dd..a878eaec3 100644 --- a/docs/docs/src_js_views_search_SearchResultsView.js.html +++ b/docs/docs/src_js_views_search_SearchResultsView.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_js_views_search_SorterView.js.html b/docs/docs/src_js_views_search_SorterView.js.html index d605fc3cf..992302761 100644 --- a/docs/docs/src_js_views_search_SorterView.js.html +++ b/docs/docs/src_js_views_search_SorterView.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/docs/docs/src_loader.js.html b/docs/docs/src_loader.js.html index dca1aa73e..e04970567 100644 --- a/docs/docs/src_loader.js.html +++ b/docs/docs/src_loader.js.html @@ -30,7 +30,7 @@ -

Namespaces

Classes

Global

+

Namespaces

Classes

Global

diff --git a/package-lock.json b/package-lock.json index d6c0cd054..eb95215a4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "metacatui", - "version": "2.25.0", + "version": "2.26.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "metacatui", - "version": "2.25.0", + "version": "2.26.0", "license": "Apache-2.0", "dependencies": { "@actions/core": "^1.9.1", diff --git a/package.json b/package.json index c6a5f1c3f..17f99a13b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "metacatui", - "version": "2.25.0", + "version": "2.26.0", "description": "MetacatUI: A client-side web interface for DataONE data repositories", "main": "server.js", "dependencies": { diff --git a/src/index.html b/src/index.html index d77911f52..94e2702d6 100644 --- a/src/index.html +++ b/src/index.html @@ -44,7 +44,7 @@ //Create the MetacatUI object var MetacatUI = {}; - MetacatUI.metacatUIVersion = "2.25.0"; + MetacatUI.metacatUIVersion = "2.26.0"; //Catch errors when the config or loader file fails to load. // These are mainly helpful for developers/operators installing MetacatUI diff --git a/src/js/collections/metadata/eml/EMLMissingValueCodes.js b/src/js/collections/metadata/eml/EMLMissingValueCodes.js index e4d81b315..714a0388f 100644 --- a/src/js/collections/metadata/eml/EMLMissingValueCodes.js +++ b/src/js/collections/metadata/eml/EMLMissingValueCodes.js @@ -8,7 +8,7 @@ define(["backbone", "models/metadata/eml211/EMLMissingValueCode"], function ( * @class EMLMissingValueCodes * @classdesc A collection of EMLMissingValueCodes. * @classcategory Collections/Metadata/EML - * @since x.x.x + * @since 2.26.0 */ var EMLMissingValueCodes = Backbone.Collection.extend( /** @lends EMLMissingValueCodes.prototype */ diff --git a/src/js/models/AppModel.js b/src/js/models/AppModel.js index bac2ef566..498b5e496 100644 --- a/src/js/models/AppModel.js +++ b/src/js/models/AppModel.js @@ -431,7 +431,7 @@ define(['jquery', 'underscore', 'backbone'], * is used in two locations with identical systems, then by definition the * objects at which they point are in fact the same object. * @type {string} - * @since x.x.x + * @since 2.26.0 * @link https://eml.ecoinformatics.org/schema/eml-resource_xsd#SystemType * @link https://eml.ecoinformatics.org/schema/eml_xsd */ @@ -2418,7 +2418,7 @@ define(['jquery', 'underscore', 'backbone'], * dx.doi.org, and doi:. * @param {string} str - The DOI string to remove prefixes from. * @returns {string} - The DOI string without any prefixes. - * @since x.x.x + * @since 2.26.0 */ removeAllDOIPrefixes: function (str) { if (!str) return ""; @@ -2435,7 +2435,7 @@ define(['jquery', 'underscore', 'backbone'], * Check if a string is a valid DOI. * @param {string} doi - The string to check. * @returns {boolean} - True if the string is a valid DOI, false otherwise. - * @since x.x.x + * @since 2.26.0 */ isDOI: function (str) { try { @@ -2472,7 +2472,7 @@ define(['jquery', 'underscore', 'backbone'], * not for a DOI URL, then an empty string is returned. * @param {string} url - The DOI URL * @returns {string} - The DOI string, including the "doi:" prefix - * @since x.x.x + * @since 2.26.0 */ URLtoDOI: function (url) { if (!url) return ""; diff --git a/src/js/models/DataONEObject.js b/src/js/models/DataONEObject.js index 8d8c3cd23..78d4cde85 100644 --- a/src/js/models/DataONEObject.js +++ b/src/js/models/DataONEObject.js @@ -1820,7 +1820,7 @@ define(['jquery', 'underscore', 'backbone', 'uuid', 'he', 'collections/AccessPol * a canonical IRI for the DOI. * @return {string|null} - The canonical IRI for the DOI, or null if * neither the seriesId nor the PID match a DOI regex. - * @since x.x.x + * @since 2.26.0 */ getCanonicalDOIIRI: function () { const id = this.get("id"); diff --git a/src/js/models/maps/assets/MapAsset.js b/src/js/models/maps/assets/MapAsset.js index 5476b60a8..cccbcf4b0 100644 --- a/src/js/models/maps/assets/MapAsset.js +++ b/src/js/models/maps/assets/MapAsset.js @@ -387,7 +387,7 @@ define( * returned object will not affect the original cesiumOptions object. * @returns {Object} A copy of the cesiumOptions object, or null if there * are no cesiumOptions. - * @since x.x.x + * @since 2.26.0 */ getCesiumOptions: function () { const cesiumOptions = this.get('cesiumOptions') diff --git a/src/js/models/metadata/eml211/EMLDistribution.js b/src/js/models/metadata/eml211/EMLDistribution.js index 86cbb6167..fe0e17e28 100644 --- a/src/js/models/metadata/eml211/EMLDistribution.js +++ b/src/js/models/metadata/eml211/EMLDistribution.js @@ -62,7 +62,7 @@ define(["jquery", "underscore", "backbone", "models/DataONEObject"], function ( * that are supported by this model. "inline" is not supported yet. A * distribution may have ONE of these nodes. * @type {string[]} - * @since x.x.x + * @since 2.26.0 */ distLocations: ["offline", "online"], @@ -70,7 +70,7 @@ define(["jquery", "underscore", "backbone", "models/DataONEObject"], function ( * lower-case EML node names that belong within the node. These * must be in the correct order. * @type {string[]} - * @since x.x.x + * @since 2.26.0 */ offlineNodes: ["mediumname", "mediumvolume", "mediumformat", "mediumnote"], @@ -78,14 +78,14 @@ define(["jquery", "underscore", "backbone", "models/DataONEObject"], function ( * lower-case EML node names that belong within the node. These * must be in the correct order. * @type {string[]} - * @since x.x.x + * @since 2.26.0 */ onlineNodes: ["url"], /** * the allowed values for the urlFunction attribute * @type {string[]} - * @since x.x.x + * @since 2.26.0 */ urlFunctionTypes: ["information", "download"], @@ -174,7 +174,7 @@ define(["jquery", "underscore", "backbone", "models/DataONEObject"], function ( * node, i.e. any of the values in this.distLocations. * @returns {boolean} - true if the model has values for the given location, * false otherwise. - * @since x.x.x + * @since 2.26.0 */ hasValuesForDistributionLocation(location) { const nodeNameMap = this.nodeNameMap(); @@ -268,7 +268,7 @@ define(["jquery", "underscore", "backbone", "models/DataONEObject"], function ( * inserted after. @param {string} nodeName - The name of the node to find * the position for @return {jQuery} - The jQuery object of the node that * the given node should be inserted after, or false if the node is not - * supported by this model. @since x.x.x + * supported by this model. @since 2.26.0 */ getEMLPosition: function (objectDOM, nodeName) { // If this is a top level node, return false since it should be inserted diff --git a/src/js/models/metadata/eml211/EMLMissingValueCode.js b/src/js/models/metadata/eml211/EMLMissingValueCode.js index 3653a7d40..301a8dccf 100644 --- a/src/js/models/metadata/eml211/EMLMissingValueCode.js +++ b/src/js/models/metadata/eml211/EMLMissingValueCode.js @@ -5,7 +5,7 @@ define(["backbone"], function (Backbone) { * that a value is missing from the data. * @see https://eml.ecoinformatics.org/schema/eml-attribute_xsd.html * @classcategory Models/Metadata/EML211 - * @since x.x.x + * @since 2.26.0 */ var EMLMissingValueCode = Backbone.Model.extend( /** @lends EMLMissingValueCode.prototype */ { diff --git a/src/js/views/CitationView.js b/src/js/views/CitationView.js index 672458045..990a9ca80 100644 --- a/src/js/views/CitationView.js +++ b/src/js/views/CitationView.js @@ -425,7 +425,7 @@ define([ * @param {Object} options - The options to pass to the template. * @param {function} template - The template associated with this style, * or it's archive template if the object is archived and not indexed. - * @since x.x.x + * @since 2.26.0 */ renderAPAAllAuthors: function (options, template) { this.renderAPA(options, template, false); diff --git a/src/js/views/MetadataView.js b/src/js/views/MetadataView.js index 2c900aa51..23a878855 100644 --- a/src/js/views/MetadataView.js +++ b/src/js/views/MetadataView.js @@ -100,7 +100,7 @@ define(['jquery', * Text to display in the help tooltip for the alternative identifier field, * if the field is present. * @type {string} - * @since x.x.x + * @since 2.26.0 */ alternativeIdentifierHelpText: ` An identifier used to reference this dataset in the past or in another @@ -711,7 +711,7 @@ define(['jquery', * exists. The icon will display a tooltip with the help text for the * field. * @returns {jQuery} The jQuery object for the icon element. - * @since x.x.x + * @since 2.26.0 */ renderAltIdentifierHelpText: function () { try { diff --git a/src/js/views/maps/CesiumWidgetView.js b/src/js/views/maps/CesiumWidgetView.js index e9fc02087..a9837adeb 100644 --- a/src/js/views/maps/CesiumWidgetView.js +++ b/src/js/views/maps/CesiumWidgetView.js @@ -245,7 +245,7 @@ define( /** * Set all of the listeners for the CesiumWidgetView. This function is * called during the render function. - * @since x.x.x + * @since 2.26.0 */ setListeners: function () { @@ -315,7 +315,7 @@ define( * @param {string[]} ignore - An array of Cesium.ScreenSpaceEventType * labels to ignore. See * {@link https://cesium.com/learn/cesiumjs/ref-doc/ScreenSpaceEventType.html} - * @since x.x.x + * @since 2.26.0 */ listenOnceForInteraction: function ( callback, @@ -340,7 +340,7 @@ define( /** * Add all of the model's layers to the map. This function is called * during the render function. - * @since x.x.x + * @since 2.26.0 */ addLayers: function () { diff --git a/src/js/views/metadata/EML211MissingValueCodeView.js b/src/js/views/metadata/EML211MissingValueCodeView.js index fa8688934..8fd4f730e 100644 --- a/src/js/views/metadata/EML211MissingValueCodeView.js +++ b/src/js/views/metadata/EML211MissingValueCodeView.js @@ -14,7 +14,7 @@ define([ * @classcategory Views/Metadata * @screenshot views/metadata/EMLMissingValueCodeView.png * @extends Backbone.View - * @since x.x.x + * @since 2.26.0 */ var EMLMissingValueCodeView = Backbone.View.extend( /** @lends EMLMissingValueCodeView.prototype */ { diff --git a/src/js/views/metadata/EML211MissingValueCodesView.js b/src/js/views/metadata/EML211MissingValueCodesView.js index 03c20ecdd..336337c57 100644 --- a/src/js/views/metadata/EML211MissingValueCodesView.js +++ b/src/js/views/metadata/EML211MissingValueCodesView.js @@ -21,7 +21,7 @@ define([ * @classcategory Views/Metadata * @screenshot views/metadata/EMLMissingValueCodesView.png * @extends Backbone.View - * @since x.x.x + * @since 2.26.0 */ var EMLMissingValueCodesView = Backbone.View.extend( /** @lends EMLMissingValueCodesView.prototype */ { diff --git a/src/js/views/search/CatalogSearchView.js b/src/js/views/search/CatalogSearchView.js index b4066dd21..08075dbd9 100644 --- a/src/js/views/search/CatalogSearchView.js +++ b/src/js/views/search/CatalogSearchView.js @@ -108,7 +108,7 @@ define([ * interacts with the map. This only applies if limitSearchToMapArea is * initially set to false. * @type {boolean} - * @since x.x.x + * @since 2.26.0 * @default true */ limitSearchToMapOnInteraction: true, @@ -374,7 +374,7 @@ define([ * Sets the initial state of the map filter toggle. Optionally listens * for the first user interaction with the map before turning on the * spatial filter. - * @since x.x.x + * @since 2.26.0 */ setMapToggleState: function () { // Set the initial state of the spatial filter
NameTypeDescription
taxonomicClassificationoptions -Array.<Object> +Object @@ -664,8 +1861,8 @@
Properties
-
A nested taxonomic -classification, since taxonomy is represented as a hierarchy in EML.A literal object with options to pass to the +model
c1classification @@ -807,13 +2017,13 @@
Parameters:
c2indexToSkip -taxonomicClassification +number @@ -823,7 +2033,10 @@
Parameters:
-
The index of the classification to skip +when checking for duplicates. This is useful when checking if a +classification is a duplicate of another classification in the same +model, but not itself.
classification - - -taxonomicClassification - - - -
indexToSkipattributes -number +Object @@ -1019,10 +2204,8 @@
Parameters:
-
The index of the classification to skip -when checking for duplicates. This is useful when checking if a -classification is a duplicate of another classification in the same -model, but not itself.the attributes passed in when the model is +instantiated. Should include objectDOM or objectXML to be parsed.