import {Option} from "../../../sharedComponents/input/input.component"; import {PluginOpenAIREProducts} from "../components/openaireProducts/plugin-openaire-products.component"; import {PluginDiscoverBySubcommunity} from "../components/discover-by-subcommunity/plugin-discover-by-subcommunity.component"; import {PluginBaseInfo} from "./base-plugin.component"; import {PluginGatewayInformation} from "../components/gateway-information/plugin-gateway-information.component"; import {PluginFeaturedDatasets} from "../components/featured-datasets/plugin-featured-datasets.component"; import {PluginSearchDepositLink} from "../components/search-deposit-link/plugin-search-deposit-link.component"; import {PluginOrganizations} from "../components/organizations/plugin-organizations.component"; import {PluginSuggestedRepositories} from "../components/suggested-repositories/plugin-suggested-repositories.component"; import {PluginGraphInfo} from "../components/graph-info/plugin-graph-info.component"; import {PluginStats} from "../components/stats/plugin-stats.component"; import {PluginCardInfo} from "../components/card-info/plugin-card-info.component"; import {PluginSearchBar} from "../components/search-bar/plugin-search-bar.component"; export class PluginUtils{ public attrTypeOptions: Option[] = [ {label:"Text", value:"text"}, {label:"HTML", value:"HTML"}, {label:"Boolean", value:"boolean"}, {label:"URL", value:"URL"}, ]; public availablePluginCodesOptions: Option[] = [ {label:"OpenAIRE products", value:"openaire-products"}, {label:"Discover by subcommunity", value:"discover-by-subcommunity"}, {label:"Gateway information", value:"gateway-information"}, {label:"Search/ deposit/ link", value:"search-deposit-link"}, {label:"Learn and Connect", value:"learn-and-connect"}, {label:"How to use", value:"how-to-use"}, {label:"Suggested Repositories", value:"suggested-repositories"}, {label:"Featured Datasets", value:"featured-datasets"}, {label:"Organizations", value:"organizations"}, {label:"Graph info", value:"graph-info"}, {label:"Statistics", value:"stats"}, {label:"Search Bar", value:"search-bar"}, {label:"Card info", value:"card-info"}, {label:"Card slides", value:"card-slide"} ]; public availablePluginCodes: string[] = ["openaire-products", "discover-by-subcommunity", "gateway-information", "search-deposit-link", "learn-and-connect", "how-to-use", "suggested-repositories", "featured-datasets", "organizations", "graph-info", "organizations", "stats", "search-bar","card-info", "card-slide"]; public placementsOptions: Option[] = [ {label:"Right", value:"right"}, {label:"Top", value:"top"}, // {label:"Top Right", value:"top-right"}, // {label:"Center", value:"center"}, {label:"Bottom", value:"bottom"}, {label:"Left", value:"left"}, ]; public planOptions: Option[] = [ {value: 'starter', label: 'Starter'}, {value: 'extended', label: 'Extended'} ]; public static initializeObjectAndCompare(code, oldObject = null){ switch(code) { case 'openaire-products': { return (new PluginOpenAIREProducts()).compare(oldObject); } case 'discover-by-subcommunity': { return (new PluginDiscoverBySubcommunity()).compare(oldObject); } case 'gateway-information': { return (new PluginGatewayInformation()).compare(oldObject); } case 'search-deposit-link': { return (new PluginSearchDepositLink()).compare(oldObject); } case 'suggested-repositories': { return (new PluginSuggestedRepositories()).compare(oldObject); } case 'featured-datasets': { return (new PluginFeaturedDatasets()).compare(oldObject); } case 'organizations': { return (new PluginOrganizations()).compare(oldObject); } case 'graph-info': { return (new PluginGraphInfo()).compare(oldObject); } case 'stats': { return (new PluginStats()).compare(oldObject); } case 'learn-and-connect': { return (new PluginCardInfo()).compare(oldObject); } case 'how-to-use': { return (new PluginCardInfo()).compare(oldObject); } case 'card-info': { return (new PluginCardInfo()).compare(oldObject); } case 'search-bar': { return (new PluginSearchBar()).compare(oldObject); } default: { return (new PluginBaseInfo()).compare(oldObject); } } } // public static updateExistingObject(oldObject, object ){ if(!oldObject) { oldObject = Object.assign(object) }else{ for (let attrKey of Object.keys(object)) { if (!oldObject[attrKey] && oldObject[attrKey] != false) { oldObject[attrKey] = Object.assign(object[attrKey]) } } } return oldObject; } }