diff --git a/app/assets/json/agents/basic3D.json b/app/assets/json/agents/basic3D.json
index 0b6492e..519777f 100644
--- a/app/assets/json/agents/basic3D.json
+++ b/app/assets/json/agents/basic3D.json
@@ -6,6 +6,7 @@
"children": [
{
"type": "Mesh",
+ "idSuffix": "head",
"geometry": { "type": "SphereGeometry", "args": [0.3, 16, 16] },
"material": { "type": "MeshStandardMaterial", "color": "blue" },
"position": [0, 0.5, 0]
diff --git a/app/assets/json/meta/accelerator-tracks.json b/app/assets/json/meta/accelerator-tracks.json
deleted file mode 100644
index d8017e4..0000000
--- a/app/assets/json/meta/accelerator-tracks.json
+++ /dev/null
@@ -1,61 +0,0 @@
-{
- "version": "1.0",
- "locale": "en-uk",
- "source": "http://data.eic.eu/model/track",
- "updated": "2023-03-23 14:03:12",
- "expires": null,
- "content": [
- {
- "id": "daTai94ymStyRbQWybH3eDw",
- "label": "EIC Plug In",
- "children": [
- {"id": "ddMBYo64lQTOCNxJnpprx5A", "label": "Austria"},
- {"id": "dQDpO6LcNTLi3QN5kTiw0MA", "label": "Belgium"},
- {"id":"dAU-fpjd-RzWAdeqCnTo_hQ", "label": "Bulgaria"},
- {"id": "duCbnathTR6ORqUexphvcNA", "label": "Croatia"},
- {"id": "dgyso3mX6R4y3CJG7T0wm7Q", "label": "Cyprus"},
- {"id": "dWyQnwI9fRL69gZvonUD-3g", "label": "Czech Republic"},
- {"id": "dBeD1TDpIRMupaYJFrE15fA", "label": "Denmark"},
- {"id": "deaeC-g4zSU-lrQmD7RXTLA", "label": "Estonia"},
- {"id": "dzYncC5C_RPSG-I2W4xccBg", "label": "Finland"},
- {"id": "dqO7eNhkaTpi7-vrL7xbrLA", "label": "France"},
- {"id": "dETQuC1DCQOa1inlawb1LUw", "label": "Germany"},
- {"id": "dFY2sRS_0Q92Av7-_LfUDOg", "label": "Greece"},
- {"id": "d0FngG6GARSC-rRaqbpWhaw", "label": "Hungary"},
- {"id": "dwrwtGAwuSGGsqqB7T2lZUg", "label": "Ireland"},
- {"id": "ddUy-9-e-Tdyc4dxr2tVHkg", "label": "Italy"},
- {"id":"dGDsjdxxZQVefpIlHVPaWNg", "label": "Lithuania"},
- {"id": "dGlnFXv8aQzahaVjjnLTE4A", "label": "Malta"},
- {"id": "d1bssyFT7Tsa0smN7zkzG8w", "label": "The Netherlands"},
- {"id": "doZaFLUxUT_OvHkzH5_YBjA", "label": "Poland"},
- {"id": "dAyJVxePsRaubXqm1rWF9Fw", "label": "Portugal"},
- {"id": "dUTwpYqmOTWye1lfOkRFauw", "label": "Romania"},
- {"id": "dzeYoKXm8RjeBghutjHfQ_Q", "label": "Spain"},
- {"id": "dbmUbq_FsSViCsdZe46WVxA", "label": "Sweden"},
- {"id": "dCCbZtp4RQ2eQLydphtKJvg", "label": "Montenegro"},
- {"id": "dI816Ui0MSxWDygFzA_MVrw", "label": "Norway"},
- {"id": "dMl2qhvAjRUywduo6jCDyNQ", "label": "Türkiye"}
- ]
- },
- {
- "id": "d7xAg5kIhQYeDMB1H6eXnBg",
- "label": "EIC Fast Track",
- "children": [
- {"id": "d-eit-climate-kic-FqkCw", "label": "Climate KIC"},
- {"id": "d-eit-digital-g-FhFqkCw", "label": "Digital KIC"},
- {"id": "d-eit-food-q9jg-FhFqkCw", "label": "Food KIC"},
- {"id": "d-eit-health-jg-FhFqkCw", "label": "Health KIC"},
- {"id": "d-eit-innoenergy-hFqkCw", "label": "InnoEnergy KIC"},
- {"id": "d-eit-manufacturing-kCw", "label": "Manufacturing KIC"},
- {"id": "d-eit-rawmaterials-qkCw", "label": "RawMaterials KIC"},
- {"id": "d-eit-urban-mobility-Cw", "label": "Urban Mobility KIC"},
- {"id": "d-eit-cultu-mobility-Cw", "label": "Culture & creativity KIC"},
- {"id": "d-eic-pathfinder-hFqkCw", "label": "EIC Pathfinder"},
- {"id": "d-eic-transition-ity-Cw", "label": "EIC Transition"},
- {"id": "d-eic-accelerator-ty-Cw", "label": "EIC Accelerator"},
- {"id": "d-eic-women-tech-eu-kCw", "label": "EIC Women Tech EU"},
- {"id": "dzDvMeuo7S-if5U-Jv_84xg", "label": "EUREKA"}
- ]
- }
- ]
-}
diff --git a/app/assets/json/meta/coaching-countries.json b/app/assets/json/meta/coaching-countries.json
deleted file mode 100644
index 681d276..0000000
--- a/app/assets/json/meta/coaching-countries.json
+++ /dev/null
@@ -1,386 +0,0 @@
-{
- "version": "1.0",
- "locale": "en-uk",
- "source": "http://data.eic.eu/model/repository-items",
- "updated": "2024-03-20 14:32:12",
- "expires": "2023-11-15 20:32:12",
- "content": [
- { "id": "d3YaBxS-FR9quTjIP4Ln95Q", "label": "Europe",
- "children": [
- {
- "id": "dgttW8OjFQca9qLdbsdPxiQ",
- "label": "Western Europe",
- "children": [
- { "id": "de0icXyh9RJ-pJxq_EYFoBA", "label": "Austria" },
- { "id": "dgv1rlNSfRxG_RJPSgIGIXg", "label": "Belgium" },
- { "id": "dR7lH1oLpRTmgjpmsT944Eg", "label": "France" },
- { "id": "d6__9ZstZTTuwXEavH2xn-A", "label": "Germany" },
- { "id": "d54ANdkhKTN-WgywOaWDOLQ", "label": "Liechtenstein" },
- { "id": "dVyyoU6O_TRqKKAnDxz3V9g", "label": "Luxembourg" },
- { "id": "dTUabC-ZlQA6-4v1aOVE0Pw", "label": "Monaco" },
- { "id": "dW00nAY6nQda7i9OUhcdMAA", "label": "Netherlands" },
- { "id": "dpCfJoRWBS8-HTaWZUFI3Xw", "label": "Switzerland" },
- { "id": "dw7CcVRmGQXGoubV85QjYCw", "label": "United Kingdom" }
- ]
- },
- {
- "id": "d5Rph-09tRdqCzo2QFUfxRA",
- "label": "Northern Europe",
- "children": [
- { "id": "dz14gfhmqS9GGUrB2Msi5lA", "label": "Åland Islands" },
- { "id": "dKk4Xc6JsQeSRPPizKEgsoQ", "label": "Denmark" },
- { "id": "dw6vY8DC2QquWjT5AhpzAYw", "label": "Estonia" },
- { "id": "doXELPKs1SPSwPZW6E6epqA", "label": "Faroe Islands" },
- { "id": "dD0KELKV9RG6S2ymN3_ilXg", "label": "Finland" },
- { "id": "dpptSvmNJRcCza5syycX2pQ", "label": "Guernsey" },
- { "id": "dY0Bn_KbMTXmV7J0XOO8wpw", "label": "Iceland" },
- { "id": "dY2W8OzxwSbqCVjgtSL1NvA", "label": "Ireland" },
- { "id": "dwOl3Vhs5TziZ5RKr-aIyEQ", "label": "Isle of Man" },
- { "id": "dsOHvxnnFSxevsZDqxbymcA", "label": "Jersey" },
- { "id": "d1GP9fSp3R-uH2zNX2GXwsQ", "label": "Latvia" },
- { "id": "dYqshhJd4TwSuOw3mFlLlJA", "label": "Lithuania" },
- { "id": "dD-cyDbPxTmGn6dts4cGY8g", "label": "Norway" },
- { "id": "dZKlGVwUcQ2aTe7VE09UjMA", "label": "Svalbard and Jan Mayen" },
- { "id": "dg2aWPdz8Qk-lue5t4UtSeg", "label": "Sweden" },
- { "id": "dV8v7gw6XRhm9W4pgkMkJCg", "label": "United Kingdom of Great Britain and Northern Ireland"
- }
- ]
- },
- {
- "id": "dg92-2rpcQBWU5Xvzc_ed5w",
- "label": "Eastern Europe",
- "children": [
- { "id": "drpruv1jNT66zUUhmcYF8Lw", "label": "Belarus" },
- { "id": "dUAIwLJ3MToGpprduRxL9Lw", "label": "Bulgaria" },
- { "id": "dnbomWOPnTLGl8ROfSNoH9w", "label": "Czech Republic" },
- { "id": "dDtT4nyPGRImjljcuBePRbQ", "label": "Hungary" },
- { "id": "d97umNcDmTzedJ-Dv6h5X7Q", "label": "Moldova (Republic of)" },
- { "id": "dMAdhjBnVSt-6TwlmSqd6CQ", "label": "Poland" },
- { "id": "dQyGSs8S5T_KzRipuuSE2TQ", "label": "Romania" },
- { "id": "dX-_mQ3eMRiOODv44hwFHjA", "label": "Russian Federation" },
- { "id": "dsio8MaIYRHCMEP9nm83uBQ", "label": "Slovakia" },
- { "id": "dM8h8uEWcTSWcGumrFC9wDA", "label": "Ukraine" }
- ]
- },
- {
- "id": "d3Uq8HkK9SCmV3-9cyoNRbw",
- "label": "Southern Europe",
- "children": [
- { "id": "djCaD1C4hT0WbUfsQmHKjYw", "label": "Albania" },
- { "id": "dhom0u7wNSZ-vLUxtu8MyvA", "label": "Andorra" },
- { "id": "d13NG9DgqQtiLXuRytBkOHw", "label": "Bosnia and Herzegovina" },
- { "id": "d1YbsIXE4TFK4cfxcqiybww", "label": "Croatia" },
- { "id": "dnykwn_tNQG-HHmsYflkpEA", "label": "Gibraltar" },
- { "id": "d_CCTaaeRSFuLjCmAovKnMg", "label": "Greece" },
- { "id": "dVcXz_b_zTZ-6w7d6l03dRA", "label": "Holy See" },
- { "id": "dZNTDPf3lSBSlSHrQotbrdA", "label": "Italy" },
- { "id": "dXU3o8d3dQrqs8KS54lPvgg", "label": "Macedonia (the former Yugoslav Republic of)" },
- { "id": "d3mr3rQSOQf23IkGndOOROA", "label": "Malta" },
- { "id": "dNOZyp_brT_GcMBCWeJq0ZQ", "label": "Montenegro" },
- { "id": "dxLz0Vft1RE6C1CaDQYvy6Q", "label": "Portugal" },
- { "id": "dV2CETRPXQ2u9H2ixcW2_KQ", "label": "San Marino" },
- { "id": "dZFWnbTJgQcasq1xGbirPNw", "label": "Serbia" },
- { "id": "dRcyMt6R2QCeVW7QHQf5Dwg", "label": "Slovenia" },
- { "id": "dw9CIZ0vFR6-I1SeMlvMDFw", "label": "Spain" }
- ]
- }
- ]
- },
- { "id": "dxIYK0bK-T5220nRUTz8zrA", "label": "Africa",
- "children": [
- {
- "id": "d4wSH8cZKQbCBs_5ZT8kGaw",
- "label": "Sub-Saharan Africa",
- "children": [
- { "id": "ddAE3PbzzRKmJWUgAlG9_oA", "label": "Angola" },
- { "id": "d9McCYAxVTTq6yGAaXX8Bdw", "label": "Benin" },
- { "id": "d6mlBDfdmTQ6yTBvqBjBSaQ", "label": "Botswana" },
- { "id": "day1JDcIbRUW3y4FxLAtZfg", "label": "British Indian Ocean Territory" },
- { "id": "dr03rEDFYTsy0WitmFmlNXA", "label": "Burkina Faso" },
- { "id": "dgvU57aupQGiUUWRxhkLFDw", "label": "Burundi" },
- { "id": "df4DalrfvQXOWXJOVsfFvLA", "label": "Cabo Verde" },
- { "id": "d3Jh_mOJCTUWt64dX2b4maQ", "label": "Cameroon" },
- { "id": "d7LVOaYCbQQWOW_s8Jdh8AA", "label": "Central African Republic" },
- { "id": "dkUiSJ0nbT8OZVFNvD1nLMQ", "label": "Chad" },
- { "id": "ddyGl69WCT2m6LVNU4ukwEA", "label": "Comoros" },
- { "id": "d_s-lDnG7R-q278SqhreLEQ", "label": "Congo" },
- { "id": "ddX-iTMN_RwqTEB241hoViQ", "label": "Congo (Democratic Republic of the)" },
- { "id": "daUXdCV88Rkq780DQSqdfNw", "label": "Côte d'Ivoire" },
- { "id": "dOJF56bhJSS2iR6TE3IOhQw", "label": "Djibouti" },
- { "id": "dSRJjZFtpS6iwdht-CQw2UA", "label": "Equatorial Guinea" },
- { "id": "dvUQnTH4RRSiW9IdsC2ps2w", "label": "Eritrea" },
- { "id": "dBcm6iijMTty7yVigniWphg", "label": "Eswatini" },
- { "id": "dpnv7XkBPTby420ZOdSEGKA", "label": "Ethiopia" },
- { "id": "dkpPLqNVISk6mvopc2dMTbw", "label": "French Southern Territories" },
- { "id": "dpSpPvurmTtWNSq5kwpbdbQ", "label": "Gabon" },
- { "id": "ddLSh4pChS3q6ah4lLsbzDg", "label": "Gambia" },
- { "id": "d6gTY7iGeRZm5Zxu41tm-zQ", "label": "Ghana" },
- { "id": "dXqI4RXugRUu21SIjd1lZbQ", "label": "Guinea" },
- { "id": "dZ4r7lGzrQoqBqiaJzc1aZg", "label": "Guinea-Bissau" },
- { "id": "d53tGHYSAQdSyGLbkzN15Fw", "label": "Kenya" },
- { "id": "dQUdRYSRlRMCpVhIG1XXzfg", "label": "Lesotho" },
- { "id": "dgX5fJNMbT1eXnNczqT18xA", "label": "Liberia" },
- { "id": "dKRgi3f5iQUOCik1gGbQZCQ", "label": "Madagascar" },
- { "id": "d3l8GHAtPQ2yoE0Rqx0QK4w", "label": "Malawi" },
- { "id": "dLdbfRY-FSGyuQu4zkLCh1g", "label": "Mali" },
- { "id": "djhLXFkGRRICz8Y2unLYTvg", "label": "Mauritania" },
- { "id": "dFwoq3DOsSGSWi0wNze1s9A", "label": "Mauritius" },
- { "id": "dohJXOWEfR_WFjNNymjwP0Q", "label": "Mayotte" },
- { "id": "diKP5aTl-QlmEEUHpAx8QJw", "label": "Mozambique" },
- { "id": "dDKiK9bOcSiSv9jwz_AwtSQ", "label": "Namibia" },
- { "id": "dthTL98uPTMiBIUBS-pWdzQ", "label": "Niger" },
- { "id": "dRIsOiuzZRfC7x2FmlFksYw", "label": "Nigeria" },
- { "id": "dR8nGPoiJQuaHwgUSfkTdZg", "label": "Réunion" },
- { "id": "dI6Io1c3LRd2qz96zKfzmEw", "label": "Rwanda" },
- { "id": "d9UbPGLqqSViLWquwh4kJXg", "label": "Saint Helena, Ascension and Tristan da Cunha" },
- { "id": "ds7MFCx4kQDKAwBRe4KbZDg", "label": "Sao Tome and Principe" },
- { "id": "dF-qyK4ImQRuoUADE2cBo4g", "label": "Senegal" },
- { "id": "doDxKfNEwQpSv1qG4rAXfNQ", "label": "Seychelles" },
- { "id": "dYo3tmpoVSvq0Vru62ZIeMA", "label": "Sierra Leone" },
- { "id": "duD2kiyQxSCOYzpemsBUx1Q", "label": "Somalia" },
- { "id": "dDRPoafJmRbSNDo35tluh0Q", "label": "South Africa" },
- { "id": "dB0zecO7LTJKLVKJsTELlTg", "label": "South Sudan" },
- { "id": "dFlGAxG62SB66mHBcG_YVqw", "label": "Tanzania, United Republic of" },
- { "id": "dprGSrF0hSaiUTpoQSY2NXA", "label": "Togo" },
- { "id": "dN4GzPVULQ66om6ewQQLN9g", "label": "Uganda" },
- { "id": "diXfv3-9xTLaZNm_lZvqj9Q", "label": "Zambia" },
- { "id": "dStcvzn3PRqybHwYK0FhAbw", "label": "Zimbabwe" }
- ]
- },
- {
- "id": "dBt1L9gScRbiwD-BKCh-MPg",
- "label": "Northern Africa",
- "children": [
- { "id": "dW2q0DrTySAmvf0g6iK_zfA", "label": "Algeria" },
- { "id": "dEC9y1R3tQHmdru9WuARmcg", "label": "Egypt" },
- { "id": "dV7EX39xMR0unLPGPlhLgYQ", "label": "Libya" },
- { "id": "d1xQ_5aAlSneR36igaBJQ-Q", "label": "Morocco" },
- { "id": "dXFw13SloSo6aTfw1k8mrPw", "label": "Sudan" },
- { "id": "ddp6OVEptTgmsu4MN7pBLFw", "label": "Tunisia" },
- { "id": "dgCGs0nf4QiaTlQ_NF8t-CQ", "label": "Western Sahara" }
- ]
- }
- ]
- },
- { "id": "d2k8AChmHQs2c7c2rflGyKQ", "label": "Americas",
- "children": [
- {
- "id": "dX1w1NJKnQFeQYIQzl6CPQQ",
- "label": "Northern America",
- "children": [
- { "id": "dBfPB-qjvTyuzsjLcghuX4Q", "label": "Bermuda" },
- { "id": "dOs9W4lXASfiW3iJo9-4G-w", "label": "Canada" },
- { "id": "dfJQ8Iq61TMGiwtcErV3iSg", "label": "Greenland" },
- { "id": "dxOGDbTjnRA-1GpcbHuYlTA", "label": "Saint Pierre and Miquelon" },
- { "id": "dHdbc4A01TgmImWHVaaCmDQ", "label": "United States of America" }
- ]
- },
- {
- "id": "dZNXh8F1iT4WD-87l56xgFw",
- "label": "Latin America and the Caribbean",
- "children": [
- { "id": "dUe1ObDkySOeHTmnJVsVLNg", "label": "Anguilla" },
- { "id": "d6bvphUJWSsW8yQWpOh8e5A", "label": "Antigua and Barbuda" },
- { "id": "dkBLt37YuS0eMatLMBpqg8A", "label": "Argentina" },
- { "id": "dQkLYG3Z9QveZjQL79wsk2g", "label": "Aruba" },
- { "id": "dp6bSsp8dTfWXMnp42kfiSw", "label": "Bahamas" },
- { "id": "dQoj10yKBSbSJhxDlZeqFnA", "label": "Barbados" },
- { "id": "d7A-8gPecSIenAoyARbViXw", "label": "Belize" },
- { "id": "dodI12L3fS3yuvAuy1vPUMQ", "label": "Bolivia (Plurinational State of)" },
- { "id": "d6SQzxHQqSi-WAWpAmWlvgQ", "label": "Bonaire, Sint Eustatius and Saba" },
- { "id": "dv8CBDfFFT1eo5VsbW8ug8g", "label": "Bouvet Island" },
- { "id": "d3cnrWsPhSSmYlINNn233PA", "label": "Brazil" },
- { "id": "dPPxb3DF1SPK1GOrGSbAqEA", "label": "Cayman Islands" },
- { "id": "dcFFVEoKrS9SMtpfwYM7T0Q", "label": "Chile" },
- { "id": "d0_2U06z6RpmHRMt93QV9Rg", "label": "Colombia" },
- { "id": "dTlCRiKUPTAGIAs3z898VuQ", "label": "Costa Rica" },
- { "id": "dz6XKEazETCudod358aG6bw", "label": "Cuba" },
- { "id": "dqLrAT7oASz2dnb4e3ka2nA", "label": "Curaçao" },
- { "id": "dG2TleSijScWe91rJRLRmiQ", "label": "Dominica" },
- { "id": "depioeWI5TvCErimhR5QGaQ", "label": "Dominican Republic" },
- { "id": "d5JpF8f5wThKnj5zIBp8pCw", "label": "Ecuador" },
- { "id": "dwbHvs2TLT-WuzmFzr4nZBg", "label": "El Salvador" },
- { "id": "dkR7konK9TuS_tS2Z0FSanQ", "label": "Falkland Islands (Malvinas)" },
- { "id": "dbYulV0RGRcm6akZuIkUTEA", "label": "French Guiana" },
- { "id": "dHi_hRfNLRxiog5r3NX3_oA", "label": "Grenada" },
- { "id": "dC0UjTjmFQW2iZiZPuec5gA", "label": "Guadeloupe" },
- { "id": "dnucciaKXQx68_l5156G3YQ", "label": "Guatemala" },
- { "id": "dxn_y4gJ0Sb2PhSnmC1IFiw", "label": "Guyana" },
- { "id": "djrmx6Sr9SiGzmnhHH4Dx-Q", "label": "Haiti" },
- { "id": "dlN9mM-wVTBWMv8BCxORmKg", "label": "Honduras" },
- { "id": "dwvMOh-HKSum_OX39doo03A", "label": "Jamaica" },
- { "id": "djiIMP2fuQO2gouqBz4me3Q", "label": "Martinique" },
- { "id": "dLALEIYJDSpq47fB5632b5w", "label": "Mexico" },
- { "id": "dmHkoEZ9wS56utbcjZYJy1A", "label": "Montserrat" },
- { "id": "dkzGKpQRwRhOfdB-5FygcZw", "label": "Nicaragua" },
- { "id": "d5JSEz96tRW2Pq13iL7Mw2w", "label": "Panama" },
- { "id": "dsc5gzgvXRjuGNo60DHBXHA", "label": "Paraguay" },
- { "id": "dLmaSK8N2RNir_7ZMlK9pAw", "label": "Peru" },
- { "id": "dorQxoGcrR8qAg5lDLeRxlQ", "label": "Puerto Rico" },
- { "id": "d7nnDDuLKTx2hkYOGnflA0g", "label": "Saint Barthélemy" },
- { "id": "d-YBmT_ByTM28VXbuzBLXkA", "label": "Saint Kitts and Nevis" },
- { "id": "ddLtlcEKhS_-cDxMgEjyVhA", "label": "Saint Lucia" },
- { "id": "dDvQJz78USJiQyr61ef_Tdw", "label": "Saint Martin (French part)" },
- { "id": "dlEWVujIiS56NaEFI38wy7w", "label": "Saint Vincent and the Grenadines" },
- { "id": "dxRI3JSNkRK-9aY3rlNzZ-A", "label": "Sint Maarten (Dutch part)" },
- { "id": "dL1LDD2qvTpmYwzFWmgZnoQ", "label": "South Georgia and the South Sandwich Islands" },
- { "id": "ds_M4oGklQxGhaPr-8wovKA", "label": "Suriname" },
- { "id": "d3GDRgU6VSwCXafgpeNtkoA", "label": "Trinidad and Tobago" },
- { "id": "dlcuXUEbsT8GYpOSk9U3FfA", "label": "Turks and Caicos Islands" },
- { "id": "d-KzcV6D3SMWyE0C8g3BozA", "label": "Uruguay" },
- { "id": "dx7A2SbjHQd6r1CUk4_l8MA", "label": "Venezuela (Bolivarian Republic of)" },
- { "id": "dzwhfalEAQKa83e0k-fLn6A", "label": "Virgin Islands (British)" },
- { "id": "dyET0AspJRdqeNqxkH0x7qQ", "label": "Virgin Islands (U.S.)" }
- ]
- }
- ]
- },
- {
- "id": "dDp0ScpagR1eRD4fdtA4G7g",
- "label": "Oceania",
- "children": [
- {
- "id": "dA1frPHzVT_2m5YE_X4-c8w",
- "label": "Polynesia",
- "children": [
- { "id": "d6bLv8x-KTQef89O6rgkvlg", "label": "American Samoa" },
- { "id": "dV3KAANmzSTaycDpNonL71Q", "label": "Cook Islands" },
- { "id": "dSME-ojhFSKiiWuv6f-yX5w", "label": "French Polynesia" },
- { "id": "dM4bWXoilSgalhryB5g5gzw", "label": "Niue" },
- { "id": "dm-JmPUXESLm8JkXzS7C_rw", "label": "Pitcairn" },
- { "id": "dnR6XVWQ-QWyBfhRyLe2XEg", "label": "Samoa" },
- { "id": "dfpy6EbDHSau7tYbwgoDScQ", "label": "Tokelau" },
- { "id": "dmb1hV1_eTN6Lbd8Nk0481A", "label": "Tonga" },
- { "id": "dYevveZQqRQmLvZa5R1XykQ", "label": "Tuvalu" },
- { "id": "dsoZkPvxLQVeQt3GgOsc8uw", "label": "Wallis and Futuna" }
- ]
- },
- {
- "id": "dHh25bcZnTiGKihOUhsFnYg",
- "label": "Micronesia",
- "children": [
- { "id": "dvWPI4bW1SEu_D0CfR9fSow", "label": "Guam" },
- { "id": "dBMAiScf8QAGooxwIPfoH-g", "label": "Kiribati" },
- { "id": "dfWOx9-JtQA6RitO64np0jA", "label": "Marshall Islands" },
- { "id": "djechgMEBR1S8RNpKdM2Ptw", "label": "Micronesia (Federated States of)" },
- { "id": "dAco2mlImQ2G7ZWQrOMcvAQ", "label": "Nauru" },
- { "id": "dhmM6Qek5R4yB_OThDO2DDA", "label": "Northern Mariana Islands" },
- { "id": "dxH22ra2ISnaX-uqI0Os7xQ", "label": "Palau" },
- { "id": "dhbEAsjLYR0mta_WRU7O8sA", "label": "United States Minor Outlying Islands" }
- ]
- },
- {
- "id": "dnbCtbw_eTvSpazA4PIvAJQ",
- "label": "Melanesia",
- "children": [
- { "id": "dozK1ObMNRdSr37rCEN44FA", "label": "Fiji" },
- { "id": "dqgFsaeuUQLKOs2No45AH4Q", "label": "New Caledonia" },
- { "id": "ddvX80eb7S6GBKTKHzVzh7g", "label": "Papua New Guinea" },
- { "id": "dz3fYII7yTtOA7uwLegL3MA", "label": "Solomon Islands" },
- { "id": "dQNzHNAq1QaqUOr6FlZ0kAA", "label": "Vanuatu" }
- ]
- },
- {
- "id": "dczluEjm3Sn-skzw-pKpwew",
- "label": "Australia and New Zealand",
- "children": [
- { "id": "d12w1jXCRT9WgTrdTBVWFUA", "label": "Australia" },
- { "id": "dKEKkMGyNTJKOXzxL7FCSPA", "label": "Christmas Island" },
- { "id": "dSs50XCz2R8CeUVKo6-kkgw", "label": "Cocos (Keeling) Islands" },
- { "id": "dPs3F4gebTqSDCERVTKcjJA", "label": "Heard Island and McDonald Islands" },
- { "id": "dg7qZF24RQ8mUB26a-rwmDQ", "label": "New Zealand" },
- { "id": "du1b0PVTISweYot_ml4MXrQ", "label": "Norfolk Island" }
- ]
- }
- ]
- },
- {
- "id": "dTzlVhwApStqpxThPVysyvQ",
- "label": "Asia",
- "children": [
- {
- "id": "d3w5gwKF-Rb6AeETVgz2I-w",
- "label": "Eastern Asia",
- "children": [
- { "id": "d8ngQyN4lTy2rLKKu8Iw3Qw", "label": "China" },
- { "id": "dUsymsssERWOtwcGawQEIVA", "label": "Hong Kong" },
- { "id": "dygNv_vxJTiibpiHggtfGzQ", "label": "Japan" },
- { "id": "d-Y0saKzpRciVo7W3EavJ0g", "label": "Korea (Democratic People's Republic of)" },
- { "id": "daUudxP12SyyM8456Lq7k9A", "label": "South Korea" },
- { "id": "dv3ix67CQQZKyivHMXSyX9g", "label": "Macao" },
- { "id": "diGbPzp-FSPm0FKVZcWftLA", "label": "Mongolia" },
- { "id": "d2Tj_EPFYSbCYVsiMeLuJ6g", "label": "Taiwan, Province of China" }
- ]
- },
- {
- "id": "dWMpf73UITo2FODRywlSkHA",
- "label": "Central Asia",
- "children": [
- { "id": "dxX7oFONVQCWWMK6m_WdL3w", "label": "Kazakhstan" },
- { "id": "dUcJfqBsQSQW7JxpZ4JaVKg", "label": "Kyrgyzstan" },
- { "id": "dM3Er_O9wRyae6Dp_dFnq2w", "label": "Tajikistan" },
- { "id": "dvLJTbWn7TGey_jUlRXNgUA", "label": "Turkmenistan" },
- { "id": "dP-3xAyFzSi6YcmyRZyCafA", "label": "Uzbekistan" }
- ]
- },
- {
- "id": "dwgup571UQ4upyc4q0bFH0g",
- "label": "South-eastern Asia",
- "children": [
- { "id": "dzp-pZetZRbiywT86_x_pOw", "label": "Brunei Darussalam" },
- { "id": "dSTM4lnpRRjqphj8raATT9g", "label": "Cambodia" },
- { "id": "d_L35GlyAQlK8PLJT_Gvd8Q", "label": "Indonesia" },
- { "id": "dlvnrcdUxQn2cXbjsgFp7Eg", "label": "Lao People's Democratic Republic" },
- { "id": "da66dTzAbTH2jiLZSLJCPuA", "label": "Malaysia" },
- { "id": "dk0MpJui3TpWKM-5AyFEaYA", "label": "Myanmar" },
- { "id": "dxB1omwZQQ1ipIbgubP1nyA", "label": "Philippines" },
- { "id": "dDiXCFQo-QhKq-EPerzTXGA", "label": "Singapore" },
- { "id": "dxMWr75qASl2Cww_flZJyKA", "label": "Thailand" },
- { "id": "dzk0rxdg2QbKN-gdSAhWlcw", "label": "Timor-Leste" },
- { "id": "d0mGRa-03Q3Sy2_6oRIy6QA", "label": "Viet Nam" }
- ]
- },
- {
- "id": "dSnjV0XqaSzOlMSS8aMUr0A",
- "label": "Western Asia",
- "children": [
- { "id": "dLb98h7q6Q0SghZDHg-TNSQ", "label": "Armenia" },
- { "id": "diX39HNj5T8CCPqnqYLqLqQ", "label": "Azerbaijan" },
- { "id": "dqtdho952SbGxDldwTH_vzA", "label": "Bahrain" },
- { "id": "dJ0_I4sSYR3-zzFM2hFteZA", "label": "Cyprus" },
- { "id": "dxUI3NuM7Q_Ke7JxwQuYJaw", "label": "Georgia" },
- { "id": "dZIV40RfIRr-s2sFVKRljew", "label": "Iraq" },
- { "id": "dzS9eFMdDSS6qECnU67Bg-A", "label": "Israel" },
- { "id": "djhVY7dQfSFSA1ThanOp1vg", "label": "Jordan" },
- { "id": "dAKCdrYP1TkyA9Be3Dz27vA", "label": "Kuwait" },
- { "id": "d7MfT56c1S-y-uFOUj9lIWw", "label": "Lebanon" },
- { "id": "ddFtcgKlnRwmH8CHTp8vj6Q", "label": "Oman" },
- { "id": "d0Q_K8i33RXa7WOFWQn7NoA", "label": "Palestine, State of" },
- { "id": "dfqnG-hQxROmhcMi_cxGsJg", "label": "Qatar" },
- { "id": "dfUXSIaZCS--ZFLoVFFKNzQ", "label": "Saudi Arabia" },
- { "id": "d1R_e-XFRTM6Fxk2gM_buwA", "label": "Syrian Arab Republic" },
- { "id": "dSiY9O6tpScu_8vUJl2t5BQ", "label": "Turkey" },
- { "id": "dKHeAw2sCSGa_ojiN66SYnQ", "label": "United Arab Emirates" },
- { "id": "dY5Di_KA7QaGkTuQnDNAumQ", "label": "Yemen" }
- ]
- },
- {
- "id": "dbrdehsFiS_GAEHqVZMkGaA",
- "label": "Southern Asia",
- "children": [
- { "id": "dKVpd_M0LSWO2FLD-rUsQNA", "label": "Afghanistan" },
- { "id": "dKqHbF6ViTvi3AJnd_5KI8g", "label": "Bangladesh" },
- { "id": "dMvRSqABZRZGchLi2EKMilA", "label": "Bhutan" },
- { "id": "d4N7YiwxjS5-XjpJ1S-OucA", "label": "India" },
- { "id": "daCmCoeIaSh-R5kVqBsPEPg", "label": "Iran (Islamic Republic of)" },
- { "id": "dFPZFbf4QSbiAf1DbTU3lsQ", "label": "Maldives" },
- { "id": "dJu0cU-ekT-iEd3Z4Nad5fw", "label": "Nepal" },
- { "id": "dFLs9erbtSKu6IQNLSVzS1A", "label": "Pakistan" },
- { "id": "dCIuNL6LdSkaZebmPuX-_iA", "label": "Sri Lanka" }
- ]
- }
- ]
- }
-
- ]
-}
\ No newline at end of file
diff --git a/app/assets/json/meta/eic-keywords.json b/app/assets/json/meta/eic-keywords.json
deleted file mode 100644
index 4943575..0000000
--- a/app/assets/json/meta/eic-keywords.json
+++ /dev/null
@@ -1,1429 +0,0 @@
-{
- "version": "1.0",
- "locale": "en-uk",
- "source": "https://domain/endpoint",
- "updated": "2022-11-15 20:32:12",
- "expires": "2023-11-15 20:32:12",
- "content": [
- {
- "id": "43449105",
- "label": "Agronomy",
- "prop": { "parent": "43449075"}
- },
- {
- "id": "43449225",
- "label": "Animal and Dairy science",
- "prop": { "parent": "43449075"}
- },
- {
- "id": "43449414",
- "label": "Aquaculture",
- "prop": { "parent": "43449075"}
- },
- {
- "id": "43449450",
- "label": "Aquatic biology, Hydrobiology",
- "prop": { "parent": "43449075"}
- },
- {
- "id": "43452163",
- "label": "Fishery",
- "prop": { "parent": "43449075"}
- },
- {
- "id": "43452313",
- "label": "Forestry",
- "prop": { "parent": "43449075"}
- },
- {
- "id": "43453174",
- "label": "Horticulture, viticulture",
- "prop": { "parent": "43449075"}
- },
- {
- "id": "43453321",
- "label": "Husbandry",
- "prop": { "parent": "43449075"}
- },
- {
- "id": "43455598",
- "label": "Paper and wood",
- "prop": { "parent": "43449075"}
- },
- {
- "id": "43455898",
- "label": "Plant breeding and plant protection",
- "prop": { "parent": "43449075"}
- },
- {
- "id": "43456123",
- "label": "Precision agriculture",
- "prop": { "parent": "43449075"}
- },
- {
- "id": "43457548",
- "label": "Soil management",
- "prop": { "parent": "43449075"}
- },
- {
- "id": "31101601",
- "label": "Biochemistry",
- "prop": { "parent": "43449921"}
- },
- {
- "id": "43449675",
- "label": "Bacteriology",
- "prop": { "parent": "43449921"}
- },
- {
- "id": "43449780",
- "label": "Bioeconomy",
- "prop": { "parent": "43449921"}
- },
- {
- "id": "43449819",
- "label": "Biohazards, biological containment, biosafety, biosecurity",
- "prop": { "parent": "43449921"}
- },
- {
- "id": "43449822",
- "label": "Bioinformatics",
- "prop": { "parent": "43449921"}
- },
- {
- "id": "43449909",
- "label": "Bioproducts (products that are manufactured using biological material as feedstock) biomaterials, bioplastics, biofuels, bioderived bulk and fine chemicals, bio-derived novel materials",
- "prop": { "parent": "43449921"}
- },
- {
- "id": "43449912",
- "label": "Bioremediation, biodegradation",
- "prop": { "parent": "43449921"}
- },
- {
- "id": "43449924",
- "label": "Biotechnology (non-medical), bioreactors, applied microbiology",
- "prop": { "parent": "43449921"}
- },
- {
- "id": "43451115",
- "label": "DNA synthesis, modification, repair, recombination, degradation",
- "prop": { "parent": "43449921"}
- },
- {
- "id": "43452712",
- "label": "Genetics and heredity",
- "prop": { "parent": "43449921"}
- },
- {
- "id": "43453207",
- "label": "Human biology",
- "prop": { "parent": "43449921"}
- },
- {
- "id": "43454653",
- "label": "Microbiology",
- "prop": { "parent": "43449921"}
- },
- {
- "id": "43455034",
- "label": "Neurochemistry and neuropharmacology",
- "prop": { "parent": "43449921"}
- },
- {
- "id": "43455943",
- "label": "Plant sciences, botany",
- "prop": { "parent": "43449921"}
- },
- {
- "id": "43456657",
- "label": "Reproductive biology",
- "prop": { "parent": "43449921"}
- },
- {
- "id": "43457218",
- "label": "Serology",
- "prop": { "parent": "43449921"}
- },
- {
- "id": "43458334",
- "label": "Tissue culture",
- "prop": { "parent": "43449921"}
- },
- {
- "id": "43458937",
- "label": "Zoology",
- "prop": { "parent": "43449921"}
- },
- {
- "id": "43458994",
- "label": "Bioprocessing technologies (industrial processes relying on biological agents to drive the process) biocatalysis, fermentation",
- "prop": { "parent": "43449921"}
- },
- {
- "id": "43105506",
- "label": "Glass, ceramics & construction material",
- "prop": { "parent": "43450650"}
- },
- {
- "id": "43449471",
- "label": "Architecture, smart buildings, smart cities, urban engineering",
- "prop": { "parent": "43450650"}
- },
- {
- "id": "43450251",
- "label": "Civil engineering, maritime/hydraulic engineering, geotechnics, waste treatment",
- "prop": { "parent": "43450650"}
- },
- {
- "id": "43450641",
- "label": "Construction engineering, Municipal and structural engineering",
- "prop": { "parent": "43450650"}
- },
- {
- "id": "43454158",
- "label": "Low/nearly zero &-energy positive buildings",
- "prop": { "parent": "43450650"}
- },
- {
- "id": "43458595",
- "label": "Urban studies (Planning and development)",
- "prop": { "parent": "43450650"}
- },
- {
- "id": "43451100",
- "label": "Distribution and logistics",
- "prop": { "parent": "43450656"}
- },
- {
- "id": "43451431",
- "label": "Electronic commerce (eCommerce)",
- "prop": { "parent": "43450656"}
- },
- {
- "id": "43453180",
- "label": "Household products",
- "prop": { "parent": "43450656"}
- },
- {
- "id": "43454011",
- "label": "Leisure products",
- "prop": { "parent": "43450656"}
- },
- {
- "id": "43454014",
- "label": "Leisure services",
- "prop": { "parent": "43450656"}
- },
- {
- "id": "43455679",
- "label": "Personal products and services",
- "prop": { "parent": "43450656"}
- },
- {
- "id": "43456720",
- "label": "Retail, wholesale or distribution",
- "prop": { "parent": "43450656"}
- },
- {
- "id": "43457224",
- "label": "Service innovation",
- "prop": { "parent": "43450656"}
- },
- {
- "id": "43457950",
- "label": "Supply chain management",
- "prop": { "parent": "43450656"}
- },
- {
- "id": "43458250",
- "label": "Textiles, apparel and luxury goods",
- "prop": { "parent": "43450656"}
- },
- {
- "id": "43458349",
- "label": "Tourism / Travel",
- "prop": { "parent": "43450656"}
- },
- {
- "id": "31101619",
- "label": "Environmental protection",
- "prop": { "parent": "43451193"}
- },
- {
- "id": "43449564",
- "label": "Atmospheric chemistry, atmospheric composition, air pollution",
- "prop": { "parent": "43451193"}
- },
- {
- "id": "43450245",
- "label": "Circular economy",
- "prop": { "parent": "43451193"}
- },
- {
- "id": "43450284",
- "label": "Climatology and climate change",
- "prop": { "parent": "43451193"}
- },
- {
- "id": "43450899",
- "label": "Decontamination and de-pollution",
- "prop": { "parent": "43451193"}
- },
- {
- "id": "43451223",
- "label": "Ecology",
- "prop": { "parent": "43451193"}
- },
- {
- "id": "43451728",
- "label": "Environmental and Green Technologies",
- "prop": { "parent": "43451193"}
- },
- {
- "id": "43452190",
- "label": "Flood forecasting",
- "prop": { "parent": "43451193"}
- },
- {
- "id": "43452733",
- "label": "Geographical information systems, cartography",
- "prop": { "parent": "43451193"}
- },
- {
- "id": "43452736",
- "label": "Geo-information and spatial data analysis",
- "prop": { "parent": "43451193"}
- },
- {
- "id": "43452748",
- "label": "Geology, tectonics, volcanology",
- "prop": { "parent": "43451193"}
- },
- {
- "id": "43453351",
- "label": "Hydrology",
- "prop": { "parent": "43451193"}
- },
- {
- "id": "43454296",
- "label": "Marine biology",
- "prop": { "parent": "43451193"}
- },
- {
- "id": "43454311",
- "label": "Marine ecosystems and processes",
- "prop": { "parent": "43451193"}
- },
- {
- "id": "43454608",
- "label": "Meteorology",
- "prop": { "parent": "43451193"}
- },
- {
- "id": "43454695",
- "label": "Mineralogy",
- "prop": { "parent": "43451193"}
- },
- {
- "id": "43454965",
- "label": "Natural resources exploration and exploitation",
- "prop": { "parent": "43451193"}
- },
- {
- "id": "43458778",
- "label": "Waste management",
- "prop": { "parent": "43451193"}
- },
- {
- "id": "43458781",
- "label": "Waste recycling",
- "prop": { "parent": "43451193"}
- },
- {
- "id": "43458796",
- "label": "Wastewater treatment",
- "prop": { "parent": "43451193"}
- },
- {
- "id": "43458799",
- "label": "Water",
- "prop": { "parent": "43451193"}
- },
- {
- "id": "31101542",
- "label": "Education",
- "prop": { "parent": "31101428"}
- },
- {
- "id": "31101659",
- "label": "Psychology",
- "prop": { "parent": "31101428"}
- },
- {
- "id": "31101667",
- "label": "Social Media",
- "prop": { "parent": "31101428"}
- },
- {
- "id": "43449510",
- "label": "Arts (arts, history of arts, performing arts, music)",
- "prop": { "parent": "31101428"}
- },
- {
- "id": "43449702",
- "label": "Behavioural change",
- "prop": { "parent": "31101428"}
- },
- {
- "id": "43450812",
- "label": "Cultural heritage, cultural memory",
- "prop": { "parent": "31101428"}
- },
- {
- "id": "43450962",
- "label": "Design innovation",
- "prop": { "parent": "31101428"}
- },
- {
- "id": "43453519",
- "label": "Informal education",
- "prop": { "parent": "31101428"}
- },
- {
- "id": "43453573",
- "label": "Innovation and diversity (e.g. gender)",
- "prop": { "parent": "31101428"}
- },
- {
- "id": "43453924",
- "label": "Languages and Literature",
- "prop": { "parent": "31101428"}
- },
- {
- "id": "43454038",
- "label": "Life long learning",
- "prop": { "parent": "31101428"}
- },
- {
- "id": "43454485",
- "label": "Media and communications",
- "prop": { "parent": "31101428"}
- },
- {
- "id": "43457407",
- "label": "Social issues",
- "prop": { "parent": "31101428"}
- },
- {
- "id": "43458148",
- "label": "Teaching materials",
- "prop": { "parent": "31101428"}
- },
- {
- "id": "43449750",
- "label": "Biodiesel",
- "prop": { "parent": "43451548"}
- },
- {
- "id": "43449789",
- "label": "Bioenergy",
- "prop": { "parent": "43451548"}
- },
- {
- "id": "43449801",
- "label": "Biofuels",
- "prop": { "parent": "43451548"}
- },
- {
- "id": "43449804",
- "label": "Biogas",
- "prop": { "parent": "43451548"}
- },
- {
- "id": "43449855",
- "label": "Biomass",
- "prop": { "parent": "43451548"}
- },
- {
- "id": "43449882",
- "label": "Biomethane",
- "prop": { "parent": "43451548"}
- },
- {
- "id": "43451124",
- "label": "Domestic appliances",
- "prop": { "parent": "43451548"}
- },
- {
- "id": "43451395",
- "label": "Electricity Transmission/Distribution",
- "prop": { "parent": "43451548"}
- },
- {
- "id": "43451404",
- "label": "Electrochemistry, batteries and fuel cells",
- "prop": { "parent": "43451548"}
- },
- {
- "id": "43451563",
- "label": "Energy Economics",
- "prop": { "parent": "43451548"}
- },
- {
- "id": "43451572",
- "label": "Energy Efficiency",
- "prop": { "parent": "43451548"}
- },
- {
- "id": "43451608",
- "label": "Energy management",
- "prop": { "parent": "43451548"}
- },
- {
- "id": "43451641",
- "label": "Energy systems (production, distribution, application)",
- "prop": { "parent": "43451548"}
- },
- {
- "id": "43451644",
- "label": "Energy systems, smart energy, smart grids, wireless energy transfer",
- "prop": { "parent": "43451548"}
- },
- {
- "id": "43452382",
- "label": "Fuel Production & Distribution",
- "prop": { "parent": "43451548"}
- },
- {
- "id": "43453348",
- "label": "Hydrogen",
- "prop": { "parent": "43451548"}
- },
- {
- "id": "43454164",
- "label": "Low/zero carbon communities",
- "prop": { "parent": "43451548"}
- },
- {
- "id": "43454950",
- "label": "Natural gas",
- "prop": { "parent": "43451548"}
- },
- {
- "id": "43455796",
- "label": "Photovoltaics",
- "prop": { "parent": "43451548"}
- },
- {
- "id": "43456642",
- "label": "Renewable energy sources",
- "prop": { "parent": "43451548"}
- },
- {
- "id": "43457581",
- "label": "Solar cooling",
- "prop": { "parent": "43451548"}
- },
- {
- "id": "43457593",
- "label": "Solar Thermal",
- "prop": { "parent": "43451548"}
- },
- {
- "id": "31101558",
- "label": "Manufacturing and processing",
- "prop": { "parent": "43451650"}
- },
- {
- "id": "43448901",
- "label": "Acoustics",
- "prop": { "parent": "43451650"}
- },
- {
- "id": "43449579",
- "label": "Audio engineering, reliability analysis",
- "prop": { "parent": "43451650"}
- },
- {
- "id": "43449618",
- "label": "Automation and control systems",
- "prop": { "parent": "43451650"}
- },
- {
- "id": "43450179",
- "label": "Chemical engineering, technical chemistry",
- "prop": { "parent": "43451650"}
- },
- {
- "id": "43450488",
- "label": "Communication engineering and systems telecommunications",
- "prop": { "parent": "43451650"}
- },
- {
- "id": "43450683",
- "label": "Control engineering",
- "prop": { "parent": "43451650"}
- },
- {
- "id": "43451374",
- "label": "Electrical and electronic engineering",
- "prop": { "parent": "43451650"}
- },
- {
- "id": "43451422",
- "label": "Electromagnetism",
- "prop": { "parent": "43451650"}
- },
- {
- "id": "43451425",
- "label": "Electromechanical engineering",
- "prop": { "parent": "43451650"}
- },
- {
- "id": "43451479",
- "label": "Electronics, photonics",
- "prop": { "parent": "43451650"}
- },
- {
- "id": "43452838",
- "label": "Graphene, layered material",
- "prop": { "parent": "43451650"}
- },
- {
- "id": "43453453",
- "label": "Industrial bioengineering",
- "prop": { "parent": "43451650"}
- },
- {
- "id": "43454413",
- "label": "Materials engineering",
- "prop": { "parent": "43451650"}
- },
- {
- "id": "43454458",
- "label": "Mechanical engineering",
- "prop": { "parent": "43451650"}
- },
- {
- "id": "43454590",
- "label": "Metallurgy",
- "prop": { "parent": "43451650"}
- },
- {
- "id": "43454641",
- "label": "Metrology and measurement",
- "prop": { "parent": "43451650"}
- },
- {
- "id": "43454644",
- "label": "Micro (system) engineering",
- "prop": { "parent": "43451650"}
- },
- {
- "id": "43454947",
- "label": "Nanotechnology, nano-materials, nano engineering",
- "prop": { "parent": "43451650"}
- },
- {
- "id": "43455151",
- "label": "Novel Materials",
- "prop": { "parent": "43451650"}
- },
- {
- "id": "43455274",
- "label": "Ocean engineering",
- "prop": { "parent": "43451650"}
- },
- {
- "id": "43455421",
- "label": "Optics (including laser optics and quantum optics)",
- "prop": { "parent": "43451650"}
- },
- {
- "id": "43455457",
- "label": "Organic electronics",
- "prop": { "parent": "43451650"}
- },
- {
- "id": "43455784",
- "label": "Photonics",
- "prop": { "parent": "43451650"}
- },
- {
- "id": "43456075",
- "label": "Porous Materials",
- "prop": { "parent": "43451650"}
- },
- {
- "id": "43456219",
- "label": "Production technology, process engineering",
- "prop": { "parent": "43451650"}
- },
- {
- "id": "43456264",
- "label": "Propulsion systems engineering",
- "prop": { "parent": "43451650"}
- },
- {
- "id": "43456819",
- "label": "Robotics",
- "prop": { "parent": "43451650"}
- },
- {
- "id": "43457179",
- "label": "Semiconductors",
- "prop": { "parent": "43451650"}
- },
- {
- "id": "43457605",
- "label": "Solid state materials",
- "prop": { "parent": "43451650"}
- },
- {
- "id": "43457941",
- "label": "Superconductivity",
- "prop": { "parent": "43451650"}
- },
- {
- "id": "43458310",
- "label": "Thermodynamics",
- "prop": { "parent": "43451650"}
- },
- {
- "id": "43449063",
- "label": "Agricultural products",
- "prop": { "parent": "43452211"}
- },
- {
- "id": "43449951",
- "label": "Brewers",
- "prop": { "parent": "43452211"}
- },
- {
- "id": "43451094",
- "label": "Distillers and vintners",
- "prop": { "parent": "43452211"}
- },
- {
- "id": "43452208",
- "label": "Food additives",
- "prop": { "parent": "43452211"}
- },
- {
- "id": "43452223",
- "label": "Food contamination",
- "prop": { "parent": "43452211"}
- },
- {
- "id": "43452229",
- "label": "Food packaging",
- "prop": { "parent": "43452211"}
- },
- {
- "id": "43452232",
- "label": "Food preservation",
- "prop": { "parent": "43452211"}
- },
- {
- "id": "43452238",
- "label": "Food quality",
- "prop": { "parent": "43452211"}
- },
- {
- "id": "43452241",
- "label": "Food safety",
- "prop": { "parent": "43452211"}
- },
- {
- "id": "43452247",
- "label": "Food storage",
- "prop": { "parent": "43452211"}
- },
- {
- "id": "43452250",
- "label": "Food technology",
- "prop": { "parent": "43452211"}
- },
- {
- "id": "43457113",
- "label": "Secure food chain and wealth products",
- "prop": { "parent": "43452211"}
- },
- {
- "id": "43457473",
- "label": "Soft drinks",
- "prop": { "parent": "43452211"}
- },
- {
- "id": "43449036",
- "label": "Ageing",
- "prop": { "parent": "31101580"}
- },
- {
- "id": "43449852",
- "label": "Biomarkers",
- "prop": { "parent": "31101580"}
- },
- {
- "id": "43450086",
- "label": "Cardiac and Cardiovascular systems",
- "prop": { "parent": "31101580"}
- },
- {
- "id": "43450320",
- "label": "Clinical medicine",
- "prop": { "parent": "31101580"}
- },
- {
- "id": "43450761",
- "label": "Critical care medicine and Emergency medicine",
- "prop": { "parent": "31101580"}
- },
- {
- "id": "43450941",
- "label": "Dentistry, oral surgery and medicine",
- "prop": { "parent": "31101580"}
- },
- {
- "id": "43450950",
- "label": "Dermatology and venereal diseases",
- "prop": { "parent": "31101580"}
- },
- {
- "id": "43451019",
- "label": "Diagnostic tools (e.g. genetic, imaging)",
- "prop": { "parent": "31101580"}
- },
- {
- "id": "43451166",
- "label": "Drugs",
- "prop": { "parent": "31101580"}
- },
- {
- "id": "43451353",
- "label": "eHealth",
- "prop": { "parent": "31101580"}
- },
- {
- "id": "43451539",
- "label": "Endocrinology and metabolism (including diabetes, hormones)",
- "prop": { "parent": "31101580"}
- },
- {
- "id": "43452664",
- "label": "Gene therapy",
- "prop": { "parent": "31101580"}
- },
- {
- "id": "43452769",
- "label": "Geriatrics and gerontology",
- "prop": { "parent": "31101580"}
- },
- {
- "id": "43453006",
- "label": "Healthcare system",
- "prop": { "parent": "31101580"}
- },
- {
- "id": "43453009",
- "label": "Health-related biotechnology",
- "prop": { "parent": "31101580"}
- },
- {
- "id": "43453249",
- "label": "Human genetics",
- "prop": { "parent": "31101580"}
- },
- {
- "id": "43453411",
- "label": "Immunology",
- "prop": { "parent": "31101580"}
- },
- {
- "id": "43453510",
- "label": "Infectious diseases",
- "prop": { "parent": "31101580"}
- },
- {
- "id": "43454506",
- "label": "Medical devices",
- "prop": { "parent": "31101580"}
- },
- {
- "id": "43455037",
- "label": "Neurodegenerative disorders",
- "prop": { "parent": "31101580"}
- },
- {
- "id": "43455247",
- "label": "Obstetrics and gynaecology",
- "prop": { "parent": "31101580"}
- },
- {
- "id": "43455337",
- "label": "Oncology",
- "prop": { "parent": "31101580"}
- },
- {
- "id": "43455385",
- "label": "Ophthalmology",
- "prop": { "parent": "31101580"}
- },
- {
- "id": "43455502",
- "label": "Orthopaedics",
- "prop": { "parent": "31101580"}
- },
- {
- "id": "43455571",
- "label": "Paediatrics",
- "prop": { "parent": "31101580"}
- },
- {
- "id": "43455631",
- "label": "Pathology",
- "prop": { "parent": "31101580"}
- },
- {
- "id": "43455634",
- "label": "Patient care",
- "prop": { "parent": "31101580"}
- },
- {
- "id": "43455697",
- "label": "Personalised treatment",
- "prop": { "parent": "31101580"}
- },
- {
- "id": "43455745",
- "label": "Pharmacology and pharmacy",
- "prop": { "parent": "31101580"}
- },
- {
- "id": "43456348",
- "label": "Psychiatry",
- "prop": { "parent": "31101580"}
- },
- {
- "id": "43456504",
- "label": "Radiology, nuclear medicine and medical imaging",
- "prop": { "parent": "31101580"}
- },
- {
- "id": "43456594",
- "label": "Rehabilitation",
- "prop": { "parent": "31101580"}
- },
- {
- "id": "43456708",
- "label": "Respiratory systems",
- "prop": { "parent": "31101580"}
- },
- {
- "id": "43456738",
- "label": "Rheumatology",
- "prop": { "parent": "31101580"}
- },
- {
- "id": "43456873",
- "label": "Robotics for healthcare",
- "prop": { "parent": "31101580"}
- },
- {
- "id": "43457974",
- "label": "Surgery",
- "prop": { "parent": "31101580"}
- },
- {
- "id": "43458352",
- "label": "Toxicology",
- "prop": { "parent": "31101580"}
- },
- {
- "id": "43458418",
- "label": "Transplantation",
- "prop": { "parent": "31101580"}
- },
- {
- "id": "43458616",
- "label": "Urology and nephrology",
- "prop": { "parent": "31101580"}
- },
- {
- "id": "43458634",
- "label": "Vaccines",
- "prop": { "parent": "31101580"}
- },
- {
- "id": "43458709",
- "label": "Virology",
- "prop": { "parent": "31101580"}
- },
- {
- "id": "43458895",
- "label": "Wellbeing",
- "prop": { "parent": "31101580"}
- },
- {
- "id": "42849476",
- "label": "Artificial intelligence",
- "prop": { "parent": "43453531"}
- },
- {
- "id": "42849479",
- "label": "Blockchain and Distributed Ledger Technology (DLT)",
- "prop": { "parent": "43453531"}
- },
- {
- "id": "42849515",
- "label": "Internet of Things, embedded systems, pervasive systems",
- "prop": { "parent": "43453531"}
- },
- {
- "id": "43318244",
- "label": "Big data",
- "prop": { "parent": "43453531"}
- },
- {
- "id": "43318301",
- "label": "Extended Reality (XR)",
- "prop": { "parent": "43453531"}
- },
- {
- "id": "43448949",
- "label": "Advanced computing",
- "prop": { "parent": "43453531"}
- },
- {
- "id": "43449162",
- "label": "Algorithms and complexity",
- "prop": { "parent": "43453531"}
- },
- {
- "id": "43449969",
- "label": "BTT5 unmanned aircraft (Drone)",
- "prop": { "parent": "43453531"}
- },
- {
- "id": "43450344",
- "label": "Cloud computing",
- "prop": { "parent": "43453531"}
- },
- {
- "id": "43450494",
- "label": "Communication networks, media, information society",
- "prop": { "parent": "43453531"}
- },
- {
- "id": "43450509",
- "label": "Communication technology, high-frequency technology",
- "prop": { "parent": "43453531"}
- },
- {
- "id": "43450560",
- "label": "Computational engineering",
- "prop": { "parent": "43453531"}
- },
- {
- "id": "43450584",
- "label": "Computer graphics",
- "prop": { "parent": "43453531"}
- },
- {
- "id": "43450590",
- "label": "Computer hardware and architecture",
- "prop": { "parent": "43453531"}
- },
- {
- "id": "43450593",
- "label": "Computer sciences, information science and bioinformatics",
- "prop": { "parent": "43453531"}
- },
- {
- "id": "43450788",
- "label": "Cryptology, security, privacy, quantum crypto",
- "prop": { "parent": "43453531"}
- },
- {
- "id": "43450827",
- "label": "Cyber-physical systems",
- "prop": { "parent": "43453531"}
- },
- {
- "id": "43450830",
- "label": "Cybersecurity",
- "prop": { "parent": "43453531"}
- },
- {
- "id": "43450875",
- "label": "Data protection and privacy",
- "prop": { "parent": "43453531"}
- },
- {
- "id": "43451037",
- "label": "Digital games, gamification, applied games, serious games",
- "prop": { "parent": "43453531"}
- },
- {
- "id": "43451046",
- "label": "Digital services",
- "prop": { "parent": "43453531"}
- },
- {
- "id": "43451368",
- "label": "E-learning, user modelling, collaborative systems",
- "prop": { "parent": "43453531"}
- },
- {
- "id": "43452076",
- "label": "Fifth generation cellular network technology (5G)",
- "prop": { "parent": "43453531"}
- },
- {
- "id": "43452136",
- "label": "Fintech (Financial technology)",
- "prop": { "parent": "43453531"}
- },
- {
- "id": "43453213",
- "label": "Human computer interaction and interface, visualization and natural language processing",
- "prop": { "parent": "43453531"}
- },
- {
- "id": "43453714",
- "label": "Interaction, Multimodal, Brain-Computer-Interfaces, Assistive Technologies",
- "prop": { "parent": "43453531"}
- },
- {
- "id": "43453789",
- "label": "Internet Services & Applications",
- "prop": { "parent": "43453531"}
- },
- {
- "id": "43454191",
- "label": "Machine learning, statistical data processing and applications using signal processing (e.g. speech, image, video)",
- "prop": { "parent": "43453531"}
- },
- {
- "id": "43455019",
- "label": "Networks (communication networks, sensor networks, networks of robots, etc.)",
- "prop": { "parent": "43453531"}
- },
- {
- "id": "43455046",
- "label": "Neuroimaging and computational neuroscience",
- "prop": { "parent": "43453531"}
- },
- {
- "id": "43455346",
- "label": "Ontologies, neural networks, genetic programming, fuzzy logic",
- "prop": { "parent": "43453531"}
- },
- {
- "id": "43457044",
- "label": "Scientific computing, simulation and modelling tools",
- "prop": { "parent": "43453531"}
- },
- {
- "id": "43457488",
- "label": "Software engineering, operating systems, computer languages",
- "prop": { "parent": "43453531"}
- },
- {
- "id": "43458880",
- "label": "Web and information systems, database systems, information retrieval and digital libraries, data fusion",
- "prop": { "parent": "43453531"}
- },
- {
- "id": "43450029",
- "label": "Business model innovation",
- "prop": { "parent": "43456414"}
- },
- {
- "id": "43450704",
- "label": "Corporate Social responsibility",
- "prop": { "parent": "43456414"}
- },
- {
- "id": "43453285",
- "label": "Human resource management",
- "prop": { "parent": "43456414"}
- },
- {
- "id": "43455355",
- "label": "Open data",
- "prop": { "parent": "43456414"}
- },
- {
- "id": "43455367",
- "label": "Open innovation",
- "prop": { "parent": "43456414"}
- },
- {
- "id": "43456381",
- "label": "Public administration innovation",
- "prop": { "parent": "43456414"}
- },
- {
- "id": "43457404",
- "label": "Social innovation",
- "prop": { "parent": "43456414"}
- },
- {
- "id": "43450212",
- "label": "Chemical, Biological, Radiological and Nuclear (CBRN) protection and decontamination equipment",
- "prop": { "parent": "43457125"}
- },
- {
- "id": "43450749",
- "label": "Crisis management",
- "prop": { "parent": "43457125"}
- },
- {
- "id": "43450764",
- "label": "Critical infrastructure, emergency systems, security, safety engineering",
- "prop": { "parent": "43457125"}
- },
- {
- "id": "43450977",
- "label": "Detection technology",
- "prop": { "parent": "43457125"}
- },
- {
- "id": "43451977",
- "label": "Explosives removal",
- "prop": { "parent": "43457125"}
- },
- {
- "id": "43452277",
- "label": "Forensic technologies, others",
- "prop": { "parent": "43457125"}
- },
- {
- "id": "43453378",
- "label": "Identification",
- "prop": { "parent": "43457125"}
- },
- {
- "id": "43453543",
- "label": "Information Security Technologies",
- "prop": { "parent": "43457125"}
- },
- {
- "id": "43453795",
- "label": "Interoperable secured communications (Security systems architecture)",
- "prop": { "parent": "43457125"}
- },
- {
- "id": "43454986",
- "label": "Navigation, guidance, control and tracking",
- "prop": { "parent": "43457125"}
- },
- {
- "id": "43455022",
- "label": "Networks and information security systems",
- "prop": { "parent": "43457125"}
- },
- {
- "id": "43456276",
- "label": "Protection",
- "prop": { "parent": "43457125"}
- },
- {
- "id": "43456756",
- "label": "Risk management",
- "prop": { "parent": "43457125"}
- },
- {
- "id": "43457095",
- "label": "Search and detection",
- "prop": { "parent": "43457125"}
- },
- {
- "id": "43457980",
- "label": "Surveillance",
- "prop": { "parent": "43457125"}
- },
- {
- "id": "43451199",
- "label": "Earth Observation / Services and applications",
- "prop": { "parent": "43457608"}
- },
- {
- "id": "43452175",
- "label": "Flight Dynamics / Position, Navigation, and Timing",
- "prop": { "parent": "43457608"}
- },
- {
- "id": "43452787",
- "label": "Global Satellite Navigation System (GNSS) / Services & Applications",
- "prop": { "parent": "43457608"}
- },
- {
- "id": "43453633",
- "label": "Instrumentation - telescopes, detectors and techniques",
- "prop": { "parent": "43457608"}
- },
- {
- "id": "43453960",
- "label": "Launchers",
- "prop": { "parent": "43457608"}
- },
- {
- "id": "43455331",
- "label": "On-Board Data Systems",
- "prop": { "parent": "43457608"}
- },
- {
- "id": "43455442",
- "label": "Orbital transportation and re-entry systems",
- "prop": { "parent": "43457608"}
- },
- {
- "id": "43456624",
- "label": "Remote sensing",
- "prop": { "parent": "43457608"}
- },
- {
- "id": "43456732",
- "label": "RF Payload and Systems",
- "prop": { "parent": "43457608"}
- },
- {
- "id": "43456996",
- "label": "Satellites and Probes",
- "prop": { "parent": "43457608"}
- },
- {
- "id": "43457626",
- "label": "Space data exploitation",
- "prop": { "parent": "43457608"}
- },
- {
- "id": "43457629",
- "label": "Space Debris",
- "prop": { "parent": "43457608"}
- },
- {
- "id": "43457689",
- "label": "Space services and products",
- "prop": { "parent": "43457608"}
- },
- {
- "id": "43457725",
- "label": "Spacecraft",
- "prop": { "parent": "43457608"}
- },
- {
- "id": "43457953",
- "label": "Supporting Propulsion Technologies and Tools",
- "prop": { "parent": "43457608"}
- },
- {
- "id": "43458214",
- "label": "Telecommunications",
- "prop": { "parent": "43457608"}
- },
- {
- "id": "43449132",
- "label": "Aircraft Avionics, Systems & Equipment AVS",
- "prop": { "parent": "43458424"}
- },
- {
- "id": "43449141",
- "label": "Airports APT",
- "prop": { "parent": "43458424"}
- },
- {
- "id": "43449609",
- "label": "Automation",
- "prop": { "parent": "43458424"}
- },
- {
- "id": "43449627",
- "label": "Automotive",
- "prop": { "parent": "43458424"}
- },
- {
- "id": "43454125",
- "label": "Logistics",
- "prop": { "parent": "43458424"}
- },
- {
- "id": "43454335",
- "label": "Maritime and infrastructure",
- "prop": { "parent": "43458424"}
- },
- {
- "id": "43454356",
- "label": "Maritime transport",
- "prop": { "parent": "43458424"}
- },
- {
- "id": "43454899",
- "label": "Multimodality",
- "prop": { "parent": "43458424"}
- },
- {
- "id": "43455010",
- "label": "Network infrastructures",
- "prop": { "parent": "43458424"}
- },
- {
- "id": "43456261",
- "label": "Propulsion PRO",
- "prop": { "parent": "43458424"}
- },
- {
- "id": "43456513",
- "label": "Rail infrastructure",
- "prop": { "parent": "43458424"}
- },
- {
- "id": "43456534",
- "label": "Rail Transport",
- "prop": { "parent": "43458424"}
- },
- {
- "id": "43456783",
- "label": "Road infrastructure",
- "prop": { "parent": "43458424"}
- },
- {
- "id": "43456789",
- "label": "Road transport",
- "prop": { "parent": "43458424"}
- },
- {
- "id": "43457059",
- "label": "Sea vessels",
- "prop": { "parent": "43458424"}
- },
- {
- "id": "43458037",
- "label": "Sustainable transport",
- "prop": { "parent": "43458424"}
- },
- {
- "id": "43458430",
- "label": "Transport Aviation / Air traffic management (ATM)",
- "prop": { "parent": "43458424"}
- },
- {
- "id": "43458442",
- "label": "Transport engineering",
- "prop": { "parent": "43458424"}
- },
- {
- "id": "43458601",
- "label": "Urban transport",
- "prop": { "parent": "43458424"}
- },
- {
- "id": "43458655",
- "label": "Vehicle Technology / Mobility",
- "prop": { "parent": "43458424"}
- }
- ]
-}
\ No newline at end of file
diff --git a/app/assets/json/meta/global-countries.json b/app/assets/json/meta/global-countries.json
deleted file mode 100755
index ded92be..0000000
--- a/app/assets/json/meta/global-countries.json
+++ /dev/null
@@ -1,200 +0,0 @@
-{
- "version": "1.0",
- "locale": "en-uk",
- "source": "https://eic.test.eismea.eu/mydashboard/REST/selectors/static/Countries.json",
- "updated": "2022-12-01 15:32:12",
- "expires": null,
- "content": [
- {
- "id": "AL",
- "label": "Albania"
- },
- {
- "id": "AT",
- "label": "Austria",
- "prop": { "EU": true }
- },
- {
- "id": "BE",
- "label": "Belgium",
- "prop": { "EU": true }
- },
- {
- "id": "BA",
- "label": "Bosnia and Herzegovina"
- },
- {
- "id": "BG",
- "label": "Bulgaria",
- "prop": { "EU": true }
- },
- {
- "id": "HR",
- "label": "Croatia",
- "prop": { "EU": true }
- },
- {
- "id": "CY",
- "label": "Cyprus",
- "prop": { "EU": true }
- },
- {
- "id": "CZ",
- "label": "Czech Republic",
- "prop": { "EU": true }
- },
- {
- "id": "DK",
- "label": "Denmark",
- "prop": { "EU": true }
- },
- {
- "id": "EE",
- "label": "Estonia",
- "prop": { "EU": true }
- },
- {
- "id": "FI",
- "label": "Finland",
- "prop": { "EU": true }
- },
- {
- "id": "FR",
- "label": "France",
- "prop": { "EU": true }
- },
- {
- "id": "DE",
- "label": "Germany",
- "prop": { "EU": true }
- },
- {
- "id": "FO",
- "label": "Faroe Islands"
- },
- {
- "id": "GR",
- "label": "Greece",
- "prop": { "EU": true }
- },
- {
- "id": "HU",
- "label": "Hungary",
- "prop": { "EU": true }
- },
- {
- "id": "IS",
- "label": "Iceland"
- },
- {
- "id": "IE",
- "label": "Ireland",
- "prop": { "EU": true }
- },
- {
- "id": "IL",
- "label": "Israel"
- },
- {
- "id": "IT",
- "label": "Italy",
- "prop": { "EU": true }
- },
- {
- "id": "LV",
- "label": "Latvia",
- "prop": { "EU": true }
- },
- {
- "id": "LT",
- "label": "Lithuania",
- "prop": { "EU": true }
- },
- {
- "id": "LU",
- "label": "Luxembourg",
- "prop": { "EU": true }
- },
- {
- "id": "MK",
- "label": "Macedonia"
- },
- {
- "id": "MT",
- "label": "Malta",
- "prop": { "EU": true }
- },
- {
- "id": "MD",
- "label": "Moldova"
- },
- {
- "id": "ME",
- "label": "Montenegro"
- },
- {
- "id": "NL",
- "label": "Netherlands",
- "prop": { "EU": true }
- },
- {
- "id": "NO",
- "label": "Norway"
- },
- {
- "id": "PL",
- "label": "Poland",
- "prop": { "EU": true }
- },
- {
- "id": "PT",
- "label": "Portugal",
- "prop": { "EU": true }
- },
- {
- "id": "RO",
- "label": "Romania",
- "prop": { "EU": true }
- },
- {
- "id": "RS",
- "label": "Serbia"
- },
- {
- "id": "SK",
- "label": "Slovakia",
- "prop": { "EU": true }
- },
- {
- "id": "SI",
- "label": "Slovenia",
- "prop": { "EU": true }
- },
- {
- "id": "ES",
- "label": "Spain",
- "prop": { "EU": true }
- },
- {
- "id": "SE",
- "label": "Sweden",
- "prop": { "EU": true }
- },
- {
- "id": "CH",
- "label": "Switzerland"
- },
- {
- "id": "TR",
- "label": "Türkiye"
- },
- {
- "id": "UK",
- "label": "United Kingdom"
- },
- {
- "id": "UA",
- "label": "Ukraine"
- }
- ]
-}
\ No newline at end of file
diff --git a/app/assets/json/meta/icmp-techdd-statuses.json b/app/assets/json/meta/icmp-techdd-statuses.json
deleted file mode 100644
index 1aa398a..0000000
--- a/app/assets/json/meta/icmp-techdd-statuses.json
+++ /dev/null
@@ -1,45 +0,0 @@
-{
- "version": "1.0",
- "locale": "en-uk",
- "source": "https://domain/endpoint",
- "updated": "2022-11-15 20:32:12",
- "expires": "2023-11-15 20:32:12",
- "content": [
- {
- "id": "updated",
- "label": "Drafting"
- },
- {
- "id": "submitted",
- "label": "integrity check"
- },
- {
- "id": "reviewing",
- "label": "Reviewed"
- },
- {
- "id": "rejected",
- "label": "reopened"
- },
- {
- "id": "pending-review",
- "label": "consultation"
- },
- {
- "id": "reviewed",
- "label": "consulted"
- },
- {
- "id": "validated",
- "label": "completed"
- },
- {
- "id": "cancelled",
- "label": "aborted"
- },
- {
- "id": "aborted",
- "label": "aborted"
- }
- ]
-}
\ No newline at end of file
diff --git a/app/assets/json/meta/keywords-ccm2.json b/app/assets/json/meta/keywords-ccm2.json
deleted file mode 100644
index befe1fe..0000000
--- a/app/assets/json/meta/keywords-ccm2.json
+++ /dev/null
@@ -1,1236 +0,0 @@
-{
- "version": "1.0",
- "locale": "en-uk",
- "source": "https://domain/endpoint",
- "updated": "2022-11-15 20:32:12",
- "expires": "2023-11-15 20:32:12",
- "content": [
- {
- "id": "43449075",
- "label": "43449075",
- "children": [
- {
- "id":"43449105",
- "label":"Agronomy"
- },
- {
- "id":"43449225",
- "label":"Animal and Dairy science"
- },
- {
- "id":"43449414",
- "label":"Aquaculture"
- },
- {
- "id":"43449450",
- "label":"Aquatic biology, Hydrobiology"
- },
- {
- "id":"43452163",
- "label":"Fishery"
- },
- {
- "id":"43452313",
- "label":"Forestry"
- },
- {
- "id":"43453174",
- "label":"Horticulture, viticulture"
- },
- {
- "id":"43453321",
- "label":"Husbandry"
- },
- {
- "id":"43455598",
- "label":"Paper and wood"
- },
- {
- "id":"43455898",
- "label":"Plant breeding and plant protection"
- },
- {
- "id":"43456123",
- "label":"Precision agriculture"
- },
- {
- "id":"43457548",
- "label":"Soil management"
- }
- ]
- },
- {
- "id": "43449921",
- "label": "43449921",
- "children": [
- {
- "id":"31101601",
- "label":"Biochemistry"
- },
- {
- "id":"43449675",
- "label":"Bacteriology"
- },
- {
- "id":"43449780",
- "label":"Bioeconomy"
- },
- {
- "id":"43449819",
- "label":"Biohazards, biological containment, biosafety, biosecurity"
- },
- {
- "id":"43449822",
- "label":"Bioinformatics"
- },
- {
- "id":"43449909",
- "label":"Bioproducts (products that are manufactured using biological material as feedstock) biomaterials, bioplastics, biofuels, bioderived bulk and fine chemicals, bio-derived novel materials"
- },
- {
- "id":"43449912",
- "label":"Bioremediation, biodegradation"
- },
- {
- "id":"43449924",
- "label":"Biotechnology (non-medical), bioreactors, applied microbiology"
- },
- {
- "id":"43451115",
- "label":"DNA synthesis, modification, repair, recombination, degradation"
- },
- {
- "id":"43452712",
- "label":"Genetics and heredity"
- },
- {
- "id":"43453207",
- "label":"Human biology"
- },
- {
- "id":"43454653",
- "label":"Microbiology"
- },
- {
- "id":"43455034",
- "label":"Neurochemistry and neuropharmacology"
- },
- {
- "id":"43455943",
- "label":"Plant sciences, botany"
- },
- {
- "id":"43456657",
- "label":"Reproductive biology"
- },
- {
- "id":"43457218",
- "label":"Serology"
- },
- {
- "id":"43458334",
- "label":"Tissue culture"
- },
- {
- "id":"43458937",
- "label":"Zoology"
- },
- {
- "id":"43458994",
- "label":"Bioprocessing technologies (industrial processes relying on biological agents to drive the process) biocatalysis, fermentation"
- }
- ]
- },
- {
- "id": "43450650",
- "label": "43450650",
- "children": [
- {
- "id":"43105506",
- "label":"Glass, ceramics & construction material"
- },
- {
- "id":"43449471",
- "label":"Architecture, smart buildings, smart cities, urban engineering"
- },
- {
- "id":"43450251",
- "label":"Civil engineering, maritime/hydraulic engineering, geotechnics, waste treatment"
- },
- {
- "id":"43450641",
- "label":"Construction engineering, Municipal and structural engineering"
- },
- {
- "id":"43454158",
- "label":"Low/nearly zero &-energy positive buildings"
- },
- {
- "id":"43458595",
- "label":"Urban studies (Planning and development)"
- }
- ]
- },
- {
- "id": "43450656",
- "label": "43450656",
- "children": [
- {
- "id":"43451100",
- "label":"Distribution and logistics",
- "parent":"43450656"
- },
- {
- "id":"43451431",
- "label":"Electronic commerce (eCommerce)"
- },
- {
- "id":"43453180",
- "label":"Household products"
- },
- {
- "id":"43454011",
- "label":"Leisure products"
- },
- {
- "id":"43454014",
- "label":"Leisure services"
- },
- {
- "id":"43455679",
- "label":"Personal products and services"
- },
- {
- "id":"43456720",
- "label":"Retail, wholesale or distribution"
- },
- {
- "id":"43457224",
- "label":"Service innovation"
- },
- {
- "id":"43457950",
- "label":"Supply chain management"
- },
- {
- "id":"43458250",
- "label":"Textiles, apparel and luxury goods"
- },
- {
- "id":"43458349",
- "label":"Tourism / Travel"
- }
- ]
- },
- {
- "id": "43451193",
- "label": "43451193",
- "children": [
- {
- "id":"31101619",
- "label":"Environmental protection"
- },
- {
- "id":"43449564",
- "label":"Atmospheric chemistry, atmospheric composition, air pollution"
- },
- {
- "id":"43450245",
- "label":"Circular economy"
- },
- {
- "id":"43450284",
- "label":"Climatology and climate change"
- },
- {
- "id":"43450899",
- "label":"Decontamination and de-pollution"
- },
- {
- "id":"43451223",
- "label":"Ecology"
- },
- {
- "id":"43451728",
- "label":"Environmental and Green Technologies"
- },
- {
- "id":"43452190",
- "label":"Flood forecasting"
- },
- {
- "id":"43452733",
- "label":"Geographical information systems, cartography"
- },
- {
- "id":"43452736",
- "label":"Geo-information and spatial data analysis"
- },
- {
- "id":"43452748",
- "label":"Geology, tectonics, volcanology"
- },
- {
- "id":"43453351",
- "label":"Hydrology"
- },
- {
- "id":"43454296",
- "label":"Marine biology"
- },
- {
- "id":"43454311",
- "label":"Marine ecosystems and processes"
- },
- {
- "id":"43454608",
- "label":"Meteorology"
- },
- {
- "id":"43454695",
- "label":"Mineralogy"
- },
- {
- "id":"43454965",
- "label":"Natural resources exploration and exploitation"
- },
- {
- "id":"43458778",
- "label":"Waste management"
- },
- {
- "id":"43458781",
- "label":"Waste recycling"
- },
- {
- "id":"43458796",
- "label":"Wastewater treatment"
- },
- {
- "id":"43458799",
- "label":"Water"
- }
- ]
- },
- {
- "id": "31101428",
- "label": "31101428",
- "children": [
- {
- "id":"31101542",
- "label":"Education"
- },
- {
- "id":"31101659",
- "label":"Psychology"
- },
- {
- "id":"31101667",
- "label":"Social Media"
- },
- {
- "id":"43449510",
- "label":"Arts (arts, history of arts, performing arts, music)"
- },
- {
- "id":"43449702",
- "label":"Behavioural change"
- },
- {
- "id":"43450812",
- "label":"Cultural heritage, cultural memory"
- },
- {
- "id":"43450962",
- "label":"Design innovation"
- },
- {
- "id":"43453519",
- "label":"Informal education"
- },
- {
- "id":"43453573",
- "label":"Innovation and diversity (e.g. gender)"
- },
- {
- "id":"43453924",
- "label":"Languages and Literature"
- },
- {
- "id":"43454038",
- "label":"Life long learning"
- },
- {
- "id":"43454485",
- "label":"Media and communications"
- },
- {
- "id":"43457407",
- "label":"Social issues"
- },
- {
- "id":"43458148",
- "label":"Teaching materials"
- }
- ]
- },
- {
- "id": "43451548",
- "label": "43451548",
- "children": [
- {
- "id":"43449750",
- "label":"Biodiesel"
- },
- {
- "id":"43449789",
- "label":"Bioenergy"
- },
- {
- "id":"43449801",
- "label":"Biofuels"
- },
- {
- "id":"43449804",
- "label":"Biogas"
- },
- {
- "id":"43449855",
- "label":"Biomass"
- },
- {
- "id":"43449882",
- "label":"Biomethane"
- },
- {
- "id":"43451124",
- "label":"Domestic appliances"
- },
- {
- "id":"43451395",
- "label":"Electricity Transmission/Distribution"
- },
- {
- "id":"43451404",
- "label":"Electrochemistry, batteries and fuel cells"
- },
- {
- "id":"43451563",
- "label":"Energy Economics"
- },
- {
- "id":"43451572",
- "label":"Energy Efficiency"
- },
- {
- "id":"43451608",
- "label":"Energy management"
- },
- {
- "id":"43451641",
- "label":"Energy systems (production, distribution, application)"
- },
- {
- "id":"43451644",
- "label":"Energy systems, smart energy, smart grids, wireless energy transfer"
- },
- {
- "id":"43452382",
- "label":"Fuel Production & Distribution"
- },
- {
- "id":"43453348",
- "label":"Hydrogen"
- },
- {
- "id":"43454164",
- "label":"Low/zero carbon communities"
- },
- {
- "id":"43454950",
- "label":"Natural gas"
- },
- {
- "id":"43455796",
- "label":"Photovoltaics"
- },
- {
- "id":"43456642",
- "label":"Renewable energy sources"
- },
- {
- "id":"43457581",
- "label":"Solar cooling"
- },
- {
- "id":"43457593",
- "label":"Solar Thermal"
- }
- ]
- },
- {
- "id": "43451650",
- "label": "43451650",
- "children": [
- {
- "id":"31101558",
- "label":"Manufacturing and processing"
- },
- {
- "id":"43448901",
- "label":"Acoustics"
- },
- {
- "id":"43449579",
- "label":"Audio engineering, reliability analysis"
- },
- {
- "id":"43449618",
- "label":"Automation and control systems"
- },
- {
- "id":"43450179",
- "label":"Chemical engineering, technical chemistry"
- },
- {
- "id":"43450488",
- "label":"Communication engineering and systems telecommunications"
- },
- {
- "id":"43450683",
- "label":"Control engineering"
- },
- {
- "id":"43451374",
- "label":"Electrical and electronic engineering"
- },
- {
- "id":"43451422",
- "label":"Electromagnetism"
- },
- {
- "id":"43451425",
- "label":"Electromechanical engineering"
- },
- {
- "id":"43451479",
- "label":"Electronics, photonics"
- },
- {
- "id":"43452838",
- "label":"Graphene, layered material"
- },
- {
- "id":"43453453",
- "label":"Industrial bioengineering"
- },
- {
- "id":"43454413",
- "label":"Materials engineering"
- },
- {
- "id":"43454458",
- "label":"Mechanical engineering"
- },
- {
- "id":"43454590",
- "label":"Metallurgy"
- },
- {
- "id":"43454641",
- "label":"Metrology and measurement"
- },
- {
- "id":"43454644",
- "label":"Micro (system) engineering"
- },
- {
- "id":"43454947",
- "label":"Nanotechnology, nano-materials, nano engineering"
- },
- {
- "id":"43455151",
- "label":"Novel Materials"
- },
- {
- "id":"43455274",
- "label":"Ocean engineering"
- },
- {
- "id":"43455421",
- "label":"Optics (including laser optics and quantum optics)"
- },
- {
- "id":"43455457",
- "label":"Organic electronics"
- },
- {
- "id":"43455784",
- "label":"Photonics"
- },
- {
- "id":"43456075",
- "label":"Porous Materials"
- },
- {
- "id":"43456219",
- "label":"Production technology, process engineering"
- },
- {
- "id":"43456264",
- "label":"Propulsion systems engineering"
- },
- {
- "id":"43456819",
- "label":"Robotics"
- },
- {
- "id":"43457179",
- "label":"Semiconductors"
- },
- {
- "id":"43457605",
- "label":"Solid state materials"
- },
- {
- "id":"43457941",
- "label":"Superconductivity"
- },
- {
- "id":"43458310",
- "label":"Thermodynamics"
- }
- ]
- },
- {
- "id": "43452211",
- "label": "43452211",
- "children": [
- {
- "id":"43449063",
- "label":"Agricultural products"
- },
- {
- "id":"43449951",
- "label":"Brewers"
- },
- {
- "id":"43451094",
- "label":"Distillers and vintners"
- },
- {
- "id":"43452208",
- "label":"Food additives"
- },
- {
- "id":"43452223",
- "label":"Food contamination"
- },
- {
- "id":"43452229",
- "label":"Food packaging"
- },
- {
- "id":"43452232",
- "label":"Food preservation"
- },
- {
- "id":"43452238",
- "label":"Food quality"
- },
- {
- "id":"43452241",
- "label":"Food safety"
- },
- {
- "id":"43452247",
- "label":"Food storage"
- },
- {
- "id":"43452250",
- "label":"Food technology"
- },
- {
- "id":"43457113",
- "label":"Secure food chain and wealth products"
- },
- {
- "id":"43457473",
- "label":"Soft drinks"
- }
- ]
- },
- {
- "id": "31101580",
- "label": "31101580",
- "children": [
- {
- "id":"43449036",
- "label":"Ageing"
- },
- {
- "id":"43449852",
- "label":"Biomarkers"
- },
- {
- "id":"43450086",
- "label":"Cardiac and Cardiovascular systems"
- },
- {
- "id":"43450320",
- "label":"Clinical medicine"
- },
- {
- "id":"43450761",
- "label":"Critical care medicine and Emergency medicine"
- },
- {
- "id":"43450941",
- "label":"Dentistry, oral surgery and medicine"
- },
- {
- "id":"43450950",
- "label":"Dermatology and venereal diseases"
- },
- {
- "id":"43451019",
- "label":"Diagnostic tools (e.g. genetic, imaging)"
- },
- {
- "id":"43451166",
- "label":"Drugs"
- },
- {
- "id":"43451353",
- "label":"eHealth"
- },
- {
- "id":"43451539",
- "label":"Endocrinology and metabolism (including diabetes, hormones)"
- },
- {
- "id":"43452664",
- "label":"Gene therapy"
- },
- {
- "id":"43452769",
- "label":"Geriatrics and gerontology"
- },
- {
- "id":"43453006",
- "label":"Healthcare system"
- },
- {
- "id":"43453009",
- "label":"Health-related biotechnology"
- },
- {
- "id":"43453249",
- "label":"Human genetics"
- },
- {
- "id":"43453411",
- "label":"Immunology"
- },
- {
- "id":"43453510",
- "label":"Infectious diseases"
- },
- {
- "id":"43454506",
- "label":"Medical devices"
- },
- {
- "id":"43455037",
- "label":"Neurodegenerative disorders"
- },
- {
- "id":"43455247",
- "label":"Obstetrics and gynaecology"
- },
- {
- "id":"43455337",
- "label":"Oncology"
- },
- {
- "id":"43455385",
- "label":"Ophthalmology"
- },
- {
- "id":"43455502",
- "label":"Orthopaedics"
- },
- {
- "id":"43455571",
- "label":"Paediatrics"
- },
- {
- "id":"43455631",
- "label":"Pathology"
- },
- {
- "id":"43455634",
- "label":"Patient care"
- },
- {
- "id":"43455697",
- "label":"Personalised treatment"
- },
- {
- "id":"43455745",
- "label":"Pharmacology and pharmacy"
- },
- {
- "id":"43456348",
- "label":"Psychiatry"
- },
- {
- "id":"43456504",
- "label":"Radiology, nuclear medicine and medical imaging"
- },
- {
- "id":"43456594",
- "label":"Rehabilitation"
- },
- {
- "id":"43456708",
- "label":"Respiratory systems"
- },
- {
- "id":"43456738",
- "label":"Rheumatology"
- },
- {
- "id":"43456873",
- "label":"Robotics for healthcare"
- },
- {
- "id":"43457974",
- "label":"Surgery"
- },
- {
- "id":"43458352",
- "label":"Toxicology"
- },
- {
- "id":"43458418",
- "label":"Transplantation"
- },
- {
- "id":"43458616",
- "label":"Urology and nephrology"
- },
- {
- "id":"43458634",
- "label":"Vaccines"
- },
- {
- "id":"43458709",
- "label":"Virology"
- },
- {
- "id":"43458895",
- "label":"Wellbeing"
- }
- ]
- },
- {
- "id": "43453531",
- "label": "43453531",
- "children": [
- {
- "id":"42849476",
- "label":"Artificial intelligence"
- },
- {
- "id":"42849479",
- "label":"Blockchain and Distributed Ledger Technology (DLT)"
- },
- {
- "id":"42849515",
- "label":"Internet of Things, embedded systems, pervasive systems"
- },
- {
- "id":"43318244",
- "label":"Big data"
- },
- {
- "id":"43318301",
- "label":"Extended Reality (XR)"
- },
- {
- "id":"43448949",
- "label":"Advanced computing"
- },
- {
- "id":"43449162",
- "label":"Algorithms and complexity"
- },
- {
- "id":"43449969",
- "label":"BTT5 unmanned aircraft (Drone)"
- },
- {
- "id":"43450344",
- "label":"Cloud computing"
- },
- {
- "id":"43450494",
- "label":"Communication networks, media, information society"
- },
- {
- "id":"43450509",
- "label":"Communication technology, high-frequency technology"
- },
- {
- "id":"43450560",
- "label":"Computational engineering"
- },
- {
- "id":"43450584",
- "label":"Computer graphics"
- },
- {
- "id":"43450590",
- "label":"Computer hardware and architecture"
- },
- {
- "id":"43450593",
- "label":"Computer sciences, information science and bioinformatics"
- },
- {
- "id":"43450788",
- "label":"Cryptology, security, privacy, quantum crypto"
- },
- {
- "id":"43450827",
- "label":"Cyber-physical systems"
- },
- {
- "id":"43450830",
- "label":"Cybersecurity"
- },
- {
- "id":"43450875",
- "label":"Data protection and privacy"
- },
- {
- "id":"43451037",
- "label":"Digital games, gamification, applied games, serious games"
- },
- {
- "id":"43451046",
- "label":"Digital services"
- },
- {
- "id":"43451368",
- "label":"E-learning, user modelling, collaborative systems"
- },
- {
- "id":"43452076",
- "label":"Fifth generation cellular network technology (5G)"
- },
- {
- "id":"43452136",
- "label":"Fintech (Financial technology)"
- },
- {
- "id":"43453213",
- "label":"Human computer interaction and interface, visualization and natural language processing"
- },
- {
- "id":"43453714",
- "label":"Interaction, Multimodal, Brain-Computer-Interfaces, Assistive Technologies"
- },
- {
- "id":"43453789",
- "label":"Internet Services & Applications"
- },
- {
- "id":"43454191",
- "label":"Machine learning, statistical data processing and applications using signal processing (e.g. speech, image, video)"
- },
- {
- "id":"43455019",
- "label":"Networks (communication networks, sensor networks, networks of robots, etc.)"
- },
- {
- "id":"43455046",
- "label":"Neuroimaging and computational neuroscience"
- },
- {
- "id":"43455346",
- "label":"Ontologies, neural networks, genetic programming, fuzzy logic"
- },
- {
- "id":"43457044",
- "label":"Scientific computing, simulation and modelling tools"
- },
- {
- "id":"43457488",
- "label":"Software engineering, operating systems, computer languages"
- },
- {
- "id":"43458880",
- "label":"Web and information systems, database systems, information retrieval and digital libraries, data fusion"
- }
- ]
- },
- {
- "id": "43456414",
- "label": "43456414",
- "children": [
- {
- "id":"43450029",
- "label":"Business model innovation"
- },
- {
- "id":"43450704",
- "label":"Corporate Social responsibility"
- },
- {
- "id":"43453285",
- "label":"Human resource management"
- },
- {
- "id":"43455355",
- "label":"Open data"
- },
- {
- "id":"43455367",
- "label":"Open innovation"
- },
- {
- "id":"43456381",
- "label":"Public administration innovation"
- },
- {
- "id":"43457404",
- "label":"Social innovation"
- }
- ]
- },
- {
- "id": "43457125",
- "label": "43457125",
- "children": [
- {
- "id":"43450212",
- "label":"Chemical, Biological, Radiological and Nuclear (CBRN) protection and decontamination equipment"
- },
- {
- "id":"43450749",
- "label":"Crisis management"
- },
- {
- "id":"43450764",
- "label":"Critical infrastructure, emergency systems, security, safety engineering"
- },
- {
- "id":"43450977",
- "label":"Detection technology"
- },
- {
- "id":"43451977",
- "label":"Explosives removal"
- },
- {
- "id":"43452277",
- "label":"Forensic technologies, others"
- },
- {
- "id":"43453378",
- "label":"Identification"
- },
- {
- "id":"43453543",
- "label":"Information Security Technologies"
- },
- {
- "id":"43453795",
- "label":"Interoperable secured communications (Security systems architecture)"
- },
- {
- "id":"43454986",
- "label":"Navigation, guidance, control and tracking"
- },
- {
- "id":"43455022",
- "label":"Networks and information security systems"
- },
- {
- "id":"43456276",
- "label":"Protection"
- },
- {
- "id":"43456756",
- "label":"Risk management"
- },
- {
- "id":"43457095",
- "label":"Search and detection"
- },
- {
- "id":"43457980",
- "label":"Surveillance"
- }
- ]
- },
- {
- "id": "43457608",
- "label": "43457608",
- "children": [
- {
- "id":"43451199",
- "label":"Earth Observation / Services and applications"
- },
- {
- "id":"43452175",
- "label":"Flight Dynamics / Position, Navigation, and Timing"
- },
- {
- "id":"43452787",
- "label":"Global Satellite Navigation System (GNSS) / Services & Applications"
- },
- {
- "id":"43453633",
- "label":"Instrumentation - telescopes, detectors and techniques"
- },
- {
- "id":"43453960",
- "label":"Launchers"
- },
- {
- "id":"43455331",
- "label":"On-Board Data Systems"
- },
- {
- "id":"43455442",
- "label":"Orbital transportation and re-entry systems"
- },
- {
- "id":"43456624",
- "label":"Remote sensing"
- },
- {
- "id":"43456732",
- "label":"RF Payload and Systems"
- },
- {
- "id":"43456996",
- "label":"Satellites and Probes"
- },
- {
- "id":"43457626",
- "label":"Space data exploitation"
- },
- {
- "id":"43457629",
- "label":"Space Debris"
- },
- {
- "id":"43457689",
- "label":"Space services and products"
- },
- {
- "id":"43457725",
- "label":"Spacecraft"
- },
- {
- "id":"43457953",
- "label":"Supporting Propulsion Technologies and Tools"
- },
- {
- "id":"43458214",
- "label":"Telecommunications"
- }
- ]
- },
- {
- "id": "43458424",
- "label": "43458424",
- "children": [
- {
- "id":"43449132",
- "label":"Aircraft Avionics, Systems & Equipment AVS"
- },
- {
- "id":"43449141",
- "label":"Airports APT"
- },
- {
- "id":"43449609",
- "label":"Automation"
- },
- {
- "id":"43449627",
- "label":"Automotive"
- },
- {
- "id":"43454125",
- "label":"Logistics"
- },
- {
- "id":"43454335",
- "label":"Maritime and infrastructure"
- },
- {
- "id":"43454356",
- "label":"Maritime transport"
- },
- {
- "id":"43454899",
- "label":"Multimodality"
- },
- {
- "id":"43455010",
- "label":"Network infrastructures"
- },
- {
- "id":"43456261",
- "label":"Propulsion PRO"
- },
- {
- "id":"43456513",
- "label":"Rail infrastructure"
- },
- {
- "id":"43456534",
- "label":"Rail Transport"
- },
- {
- "id":"43456783",
- "label":"Road infrastructure"
- },
- {
- "id":"43456789",
- "label":"Road transport"
- },
- {
- "id":"43457059",
- "label":"Sea vessels"
- },
- {
- "id":"43458037",
- "label":"Sustainable transport"
- },
- {
- "id":"43458430",
- "label":"Transport Aviation / Air traffic management (ATM)"
- },
- {
- "id":"43458442",
- "label":"Transport engineering"
- },
- {
- "id":"43458601",
- "label":"Urban transport"
- },
- {
- "id":"43458655",
- "label":"Vehicle Technology / Mobility"
- }
- ]
- }
- ]
-}
\ No newline at end of file
diff --git a/app/assets/json/meta/organisation-functions.json b/app/assets/json/meta/organisation-functions.json
deleted file mode 100644
index 3a8679b..0000000
--- a/app/assets/json/meta/organisation-functions.json
+++ /dev/null
@@ -1,765 +0,0 @@
-{
- "version": "1.0",
- "locale": "en-uk",
- "source": "https://accelerator.eismea.eu/a/diagnostic/form?diagnosticId=26963",
- "updated": "2023-05-05 12:32:12",
- "expires": null,
- "content": [
- {"id": "CEO Chief executive Officer", "label": "CEO Chief executive Officer"},
- {"id": "CFO Chief Financial Officer", "label": "CFO Chief Financial Officer"},
- {"id": "CCO Chief Commercial Officer", "label": "CCO Chief Commercial Officer"},
- {"id": "COO Chief Operating Officer", "label": "COO Chief Operating Officer"},
- {"id": "CSO Chief Scientist Officer", "label": "CSO Chief Scientist Officer"},
- {"id": "CTO Chief Technological Officer", "label": "CTO Chief Technological Officer"},
- {"id": "CMO Chief Medical Officer", "label": "CMO Chief Medical Officer"},
- {"id": "CLO Chief Legal Officer", "label": "CLO Chief Legal Officer"},
- {"id": "CMO Chief Marketing Officer", "label": "CMO Chief Marketing Officer"},
- {"id": "CDO Chief Strategy Officer", "label": "CDO Chief Strategy Officer"},
- {"id": "CCO Chief Compliance Officer", "label": "CCO Chief Compliance Officer"},
- {"id": "Chief Strategy Officer", "label": "Chief Strategy Officer"},
- {"id": "Business Chief", "label": "Business Chief"},
- {"id": "Business President", "label": "Business President"},
- {"id": "Business VP", "label": "Business VP"},
- {"id": "Business Director", "label": "Business Director"},
- {"id": "Business General Manager", "label": "Business General Manager"},
- {"id": "Business Head of Department", "label": "Business Head of Department"},
- {"id": "Business Manager", "label": "Business Manager"},
- {"id": "Business Officer", "label": "Business Officer"},
- {"id": "Business Developer", "label": "Business Developer"},
- {"id": "Business Analyst", "label": "Business Analyst"},
- {"id": "Business Leader", "label": "Business Leader"},
- {"id": "Business Advisor", "label": "Business Advisor"},
- {"id": "Business Consultant", "label": "Business Consultant"},
- {"id": "Business Expert", "label": "Business Expert"},
- {"id": "Business Controller", "label": "Business Controller"},
- {"id": "Marketing Chief", "label": "Marketing Chief"},
- {"id": "Marketing President", "label": "Marketing President"},
- {"id": "Marketing VP", "label": "Marketing VP"},
- {"id": "Marketing Director", "label": "Marketing Director"},
- {"id": "Marketing General Manager", "label": "Marketing General Manager"},
- {"id": "Marketing Head of Department", "label": "Marketing Head of Department"},
- {"id": "Marketing Manager", "label": "Marketing Manager"},
- {"id": "Marketing Officer", "label": "Marketing Officer"},
- {"id": "Marketing Developer", "label": "Marketing Developer"},
- {"id": "Marketing Analyst", "label": "Marketing Analyst"},
- {"id": "Marketing Leader", "label": "Marketing Leader"},
- {"id": "Marketing Advisor", "label": "Marketing Advisor"},
- {"id": "Marketing Consultant", "label": "Marketing Consultant"},
- {"id": "Marketing Expert", "label": "Marketing Expert"},
- {"id": "Marketing Controller", "label": "Marketing Controller"},
- {"id": "Commercial Chief", "label": "Commercial Chief"},
- {"id": "Commercial President", "label": "Commercial President"},
- {"id": "Commercial VP", "label": "Commercial VP"},
- {"id": "Commercial Director", "label": "Commercial Director"},
- {"id": "Commercial General Manager", "label": "Commercial General Manager"},
- {"id": "Commercial Head of Department", "label": "Commercial Head of Department"},
- {"id": "Commercial Manager", "label": "Commercial Manager"},
- {"id": "Commercial Officer", "label": "Commercial Officer"},
- {"id": "Commercial Developer", "label": "Commercial Developer"},
- {"id": "Commercial Analyst", "label": "Commercial Analyst"},
- {"id": "Commercial Leader", "label": "Commercial Leader"},
- {"id": "Commercial Advisor", "label": "Commercial Advisor"},
- {"id": "Commercial Consultant", "label": "Commercial Consultant"},
- {"id": "Commercial Expert", "label": "Commercial Expert"},
- {"id": "Commercial Controller", "label": "Commercial Controller"},
- {"id": "Sales Chief", "label": "Sales Chief"},
- {"id": "Sales President", "label": "Sales President"},
- {"id": "Sales VP", "label": "Sales VP"},
- {"id": "Sales Director", "label": "Sales Director"},
- {"id": "Sales General Manager", "label": "Sales General Manager"},
- {"id": "Sales Head of Department", "label": "Sales Head of Department"},
- {"id": "Sales Manager", "label": "Sales Manager"},
- {"id": "Sales Officer", "label": "Sales Officer"},
- {"id": "Sales Developer", "label": "Sales Developer"},
- {"id": "Sales Analyst", "label": "Sales Analyst"},
- {"id": "Sales Leader", "label": "Sales Leader"},
- {"id": "Sales Advisor", "label": "Sales Advisor"},
- {"id": "Sales Consultant", "label": "Sales Consultant"},
- {"id": "Sales Expert", "label": "Sales Expert"},
- {"id": "Sales Controller", "label": "Sales Controller"},
- {"id": "Public Affairs Chief", "label": "Public Affairs Chief"},
- {"id": "Public Affairs President", "label": "Public Affairs President"},
- {"id": "Public Affairs VP", "label": "Public Affairs VP"},
- {"id": "Public Affairs Director", "label": "Public Affairs Director"},
- {"id": "Public Affairs General Manager", "label": "Public Affairs General Manager"},
- {"id": "Public Affairs Head of Department", "label": "Public Affairs Head of Department"},
- {"id": "Public Affairs Manager", "label": "Public Affairs Manager"},
- {"id": "Public Affairs Officer", "label": "Public Affairs Officer"},
- {"id": "Public Affairs Developer", "label": "Public Affairs Developer"},
- {"id": "Public Affairs Analyst", "label": "Public Affairs Analyst"},
- {"id": "Public Affairs Leader", "label": "Public Affairs Leader"},
- {"id": "Public Affairs Advisor", "label": "Public Affairs Advisor"},
- {"id": "Public Affairs Consultant", "label": "Public Affairs Consultant"},
- {"id": "Public Affairs Expert", "label": "Public Affairs Expert"},
- {"id": "Public Affairs Controller", "label": "Public Affairs Controller"},
- {"id": "Public Relations Chief", "label": "Public Relations Chief"},
- {"id": "Public Relations President", "label": "Public Relations President"},
- {"id": "Public Relations VP", "label": "Public Relations VP"},
- {"id": "Public Relations Director", "label": "Public Relations Director"},
- {"id": "Public Relations General Manager", "label": "Public Relations General Manager"},
- {"id": "Public Relations Head of Department", "label": "Public Relations Head of Department"},
- {"id": "Public Relations Manager", "label": "Public Relations Manager"},
- {"id": "Public Relations Officer", "label": "Public Relations Officer"},
- {"id": "Public Relations Developer", "label": "Public Relations Developer"},
- {"id": "Public Relations Analyst", "label": "Public Relations Analyst"},
- {"id": "Public Relations Leader", "label": "Public Relations Leader"},
- {"id": "Public Relations Advisor", "label": "Public Relations Advisor"},
- {"id": "Public Relations Consultant", "label": "Public Relations Consultant"},
- {"id": "Public Relations Expert", "label": "Public Relations Expert"},
- {"id": "Public Relations Controller", "label": "Public Relations Controller"},
- {"id": "Regulatory affairs Chief", "label": "Regulatory affairs Chief"},
- {"id": "Regulatory affairs President", "label": "Regulatory affairs President"},
- {"id": "Regulatory affairs VP", "label": "Regulatory affairs VP"},
- {"id": "Regulatory affairs Director", "label": "Regulatory affairs Director"},
- {"id": "Regulatory affairs General Manager", "label": "Regulatory affairs General Manager"},
- {"id": "Regulatory affairs Head of Department", "label": "Regulatory affairs Head of Department"},
- {"id": "Regulatory affairs Manager", "label": "Regulatory affairs Manager"},
- {"id": "Regulatory affairs Officer", "label": "Regulatory affairs Officer"},
- {"id": "Regulatory affairs Developer", "label": "Regulatory affairs Developer"},
- {"id": "Regulatory affairs Analyst", "label": "Regulatory affairs Analyst"},
- {"id": "Regulatory affairs Leader", "label": "Regulatory affairs Leader"},
- {"id": "Regulatory affairs Advisor", "label": "Regulatory affairs Advisor"},
- {"id": "Regulatory affairs Consultant", "label": "Regulatory affairs Consultant"},
- {"id": "Regulatory affairs Expert", "label": "Regulatory affairs Expert"},
- {"id": "Regulatory affairs Controller", "label": "Regulatory affairs Controller"},
- {"id": "Certification Chief", "label": "Certification Chief"},
- {"id": "Certification President", "label": "Certification President"},
- {"id": "Certification VP", "label": "Certification VP"},
- {"id": "Certification Director", "label": "Certification Director"},
- {"id": "Certification General Manager", "label": "Certification General Manager"},
- {"id": "Certification Head of Department", "label": "Certification Head of Department"},
- {"id": "Certification Manager", "label": "Certification Manager"},
- {"id": "Certification Officer", "label": "Certification Officer"},
- {"id": "Certification Developer", "label": "Certification Developer"},
- {"id": "Certification Analyst", "label": "Certification Analyst"},
- {"id": "Certification Leader", "label": "Certification Leader"},
- {"id": "Certification Advisor", "label": "Certification Advisor"},
- {"id": "Certification Consultant", "label": "Certification Consultant"},
- {"id": "Certification Expert", "label": "Certification Expert"},
- {"id": "Certification Controller", "label": "Certification Controller"},
- {"id": "Lawyer Chief", "label": "Lawyer Chief"},
- {"id": "Lawyer President", "label": "Lawyer President"},
- {"id": "Lawyer VP", "label": "Lawyer VP"},
- {"id": "Lawyer Director", "label": "Lawyer Director"},
- {"id": "Lawyer General Manager", "label": "Lawyer General Manager"},
- {"id": "Lawyer Head of Department", "label": "Lawyer Head of Department"},
- {"id": "Lawyer Manager", "label": "Lawyer Manager"},
- {"id": "Lawyer Officer", "label": "Lawyer Officer"},
- {"id": "Lawyer Developer", "label": "Lawyer Developer"},
- {"id": "Lawyer Analyst", "label": "Lawyer Analyst"},
- {"id": "Lawyer Leader", "label": "Lawyer Leader"},
- {"id": "Lawyer Advisor", "label": "Lawyer Advisor"},
- {"id": "Lawyer Consultant", "label": "Lawyer Consultant"},
- {"id": "Lawyer Expert", "label": "Lawyer Expert"},
- {"id": "Lawyer Controller", "label": "Lawyer Controller"},
- {"id": "Community Chief", "label": "Community Chief"},
- {"id": "Community President", "label": "Community President"},
- {"id": "Community VP", "label": "Community VP"},
- {"id": "Community Director", "label": "Community Director"},
- {"id": "Community General Manager", "label": "Community General Manager"},
- {"id": "Community Head of Department", "label": "Community Head of Department"},
- {"id": "Community Manager", "label": "Community Manager"},
- {"id": "Community Officer", "label": "Community Officer"},
- {"id": "Community Developer", "label": "Community Developer"},
- {"id": "Community Analyst", "label": "Community Analyst"},
- {"id": "Community Leader", "label": "Community Leader"},
- {"id": "Community Advisor", "label": "Community Advisor"},
- {"id": "Community Consultant", "label": "Community Consultant"},
- {"id": "Community Expert", "label": "Community Expert"},
- {"id": "Community Controller", "label": "Community Controller"},
- {"id": "Legal Chief", "label": "Legal Chief"},
- {"id": "Legal President", "label": "Legal President"},
- {"id": "Legal VP", "label": "Legal VP"},
- {"id": "Legal Director", "label": "Legal Director"},
- {"id": "Legal General Manager", "label": "Legal General Manager"},
- {"id": "Legal Head of Department", "label": "Legal Head of Department"},
- {"id": "Legal Manager", "label": "Legal Manager"},
- {"id": "Legal Officer", "label": "Legal Officer"},
- {"id": "Legal Developer", "label": "Legal Developer"},
- {"id": "Legal Analyst", "label": "Legal Analyst"},
- {"id": "Legal Leader", "label": "Legal Leader"},
- {"id": "Legal Advisor", "label": "Legal Advisor"},
- {"id": "Legal Consultant", "label": "Legal Consultant"},
- {"id": "Legal Expert", "label": "Legal Expert"},
- {"id": "Legal Controller", "label": "Legal Controller"},
- {"id": "Accounting Chief", "label": "Accounting Chief"},
- {"id": "Accounting President", "label": "Accounting President"},
- {"id": "Accounting VP", "label": "Accounting VP"},
- {"id": "Accounting Director", "label": "Accounting Director"},
- {"id": "Accounting General Manager", "label": "Accounting General Manager"},
- {"id": "Accounting Head of Department", "label": "Accounting Head of Department"},
- {"id": "Accounting Manager", "label": "Accounting Manager"},
- {"id": "Accounting Officer", "label": "Accounting Officer"},
- {"id": "Accounting Developer", "label": "Accounting Developer"},
- {"id": "Accounting Analyst", "label": "Accounting Analyst"},
- {"id": "Accounting Leader", "label": "Accounting Leader"},
- {"id": "Accounting Advisor", "label": "Accounting Advisor"},
- {"id": "Accounting Consultant", "label": "Accounting Consultant"},
- {"id": "Accounting Expert", "label": "Accounting Expert"},
- {"id": "Accounting Controller", "label": "Accounting Controller"},
- {"id": "Finance Chief", "label": "Finance Chief"},
- {"id": "Finance President", "label": "Finance President"},
- {"id": "Finance VP", "label": "Finance VP"},
- {"id": "Finance Director", "label": "Finance Director"},
- {"id": "Finance General Manager", "label": "Finance General Manager"},
- {"id": "Finance Head of Department", "label": "Finance Head of Department"},
- {"id": "Finance Manager", "label": "Finance Manager"},
- {"id": "Finance Officer", "label": "Finance Officer"},
- {"id": "Finance Developer", "label": "Finance Developer"},
- {"id": "Finance Analyst", "label": "Finance Analyst"},
- {"id": "Finance Leader", "label": "Finance Leader"},
- {"id": "Finance Advisor", "label": "Finance Advisor"},
- {"id": "Finance Consultant", "label": "Finance Consultant"},
- {"id": "Finance Expert", "label": "Finance Expert"},
- {"id": "Finance Controller", "label": "Finance Controller"},
- {"id": "Government affairs Chief", "label": "Government affairs Chief"},
- {"id": "Government affairs President", "label": "Government affairs President"},
- {"id": "Government affairs VP", "label": "Government affairs VP"},
- {"id": "Government affairs Director", "label": "Government affairs Director"},
- {"id": "Government affairs General Manager", "label": "Government affairs General Manager"},
- {"id": "Government affairs Head of Department", "label": "Government affairs Head of Department"},
- {"id": "Government affairs Manager", "label": "Government affairs Manager"},
- {"id": "Government affairs Officer", "label": "Government affairs Officer"},
- {"id": "Government affairs Developer", "label": "Government affairs Developer"},
- {"id": "Government affairs Analyst", "label": "Government affairs Analyst"},
- {"id": "Government affairs Leader", "label": "Government affairs Leader"},
- {"id": "Government affairs Advisor", "label": "Government affairs Advisor"},
- {"id": "Government affairs Consultant", "label": "Government affairs Consultant"},
- {"id": "Government affairs Expert", "label": "Government affairs Expert"},
- {"id": "Government affairs Controller", "label": "Government affairs Controller"},
- {"id": "Strategy Chief", "label": "Strategy Chief"},
- {"id": "Strategy President", "label": "Strategy President"},
- {"id": "Strategy VP", "label": "Strategy VP"},
- {"id": "Strategy Director", "label": "Strategy Director"},
- {"id": "Strategy General Manager", "label": "Strategy General Manager"},
- {"id": "Strategy Head of Department", "label": "Strategy Head of Department"},
- {"id": "Strategy Manager", "label": "Strategy Manager"},
- {"id": "Strategy Officer", "label": "Strategy Officer"},
- {"id": "Strategy Developer", "label": "Strategy Developer"},
- {"id": "Strategy Analyst", "label": "Strategy Analyst"},
- {"id": "Strategy Leader", "label": "Strategy Leader"},
- {"id": "Strategy Advisor", "label": "Strategy Advisor"},
- {"id": "Strategy Consultant", "label": "Strategy Consultant"},
- {"id": "Strategy Expert", "label": "Strategy Expert"},
- {"id": "Strategy Controller", "label": "Strategy Controller"},
- {"id": "Communication Chief", "label": "Communication Chief"},
- {"id": "Communication President", "label": "Communication President"},
- {"id": "Communication VP", "label": "Communication VP"},
- {"id": "Communication Director", "label": "Communication Director"},
- {"id": "Communication General Manager", "label": "Communication General Manager"},
- {"id": "Communication Head of Department", "label": "Communication Head of Department"},
- {"id": "Communication Manager", "label": "Communication Manager"},
- {"id": "Communication Officer", "label": "Communication Officer"},
- {"id": "Communication Developer", "label": "Communication Developer"},
- {"id": "Communication Analyst", "label": "Communication Analyst"},
- {"id": "Communication Leader", "label": "Communication Leader"},
- {"id": "Communication Advisor", "label": "Communication Advisor"},
- {"id": "Communication Consultant", "label": "Communication Consultant"},
- {"id": "Communication Expert", "label": "Communication Expert"},
- {"id": "Communication Controller", "label": "Communication Controller"},
- {"id": "Product Chief", "label": "Product Chief"},
- {"id": "Product President", "label": "Product President"},
- {"id": "Product VP", "label": "Product VP"},
- {"id": "Product Director", "label": "Product Director"},
- {"id": "Product General Manager", "label": "Product General Manager"},
- {"id": "Product Head of Department", "label": "Product Head of Department"},
- {"id": "Product Manager", "label": "Product Manager"},
- {"id": "Product Officer", "label": "Product Officer"},
- {"id": "Product Developer", "label": "Product Developer"},
- {"id": "Product Analyst", "label": "Product Analyst"},
- {"id": "Product Leader", "label": "Product Leader"},
- {"id": "Product Advisor", "label": "Product Advisor"},
- {"id": "Product Consultant", "label": "Product Consultant"},
- {"id": "Product Expert", "label": "Product Expert"},
- {"id": "Product Controller", "label": "Product Controller"},
- {"id": "Service Chief", "label": "Service Chief"},
- {"id": "Service President", "label": "Service President"},
- {"id": "Service VP", "label": "Service VP"},
- {"id": "Service Director", "label": "Service Director"},
- {"id": "Service General Manager", "label": "Service General Manager"},
- {"id": "Service Head of Department", "label": "Service Head of Department"},
- {"id": "Service Manager", "label": "Service Manager"},
- {"id": "Service Officer", "label": "Service Officer"},
- {"id": "Service Developer", "label": "Service Developer"},
- {"id": "Service Analyst", "label": "Service Analyst"},
- {"id": "Service Leader", "label": "Service Leader"},
- {"id": "Service Advisor", "label": "Service Advisor"},
- {"id": "Service Consultant", "label": "Service Consultant"},
- {"id": "Service Expert", "label": "Service Expert"},
- {"id": "Service Controller", "label": "Service Controller"},
- {"id": "Process Chief", "label": "Process Chief"},
- {"id": "Process President", "label": "Process President"},
- {"id": "Process VP", "label": "Process VP"},
- {"id": "Process Director", "label": "Process Director"},
- {"id": "Process General Manager", "label": "Process General Manager"},
- {"id": "Process Head of Department", "label": "Process Head of Department"},
- {"id": "Process Manager", "label": "Process Manager"},
- {"id": "Process Officer", "label": "Process Officer"},
- {"id": "Process Developer", "label": "Process Developer"},
- {"id": "Process Analyst", "label": "Process Analyst"},
- {"id": "Process Leader", "label": "Process Leader"},
- {"id": "Process Advisor", "label": "Process Advisor"},
- {"id": "Process Consultant", "label": "Process Consultant"},
- {"id": "Process Expert", "label": "Process Expert"},
- {"id": "Process Controller", "label": "Process Controller"},
- {"id": "Production Chief", "label": "Production Chief"},
- {"id": "Production President", "label": "Production President"},
- {"id": "Production VP", "label": "Production VP"},
- {"id": "Production Director", "label": "Production Director"},
- {"id": "Production General Manager", "label": "Production General Manager"},
- {"id": "Production Head of Department", "label": "Production Head of Department"},
- {"id": "Production Manager", "label": "Production Manager"},
- {"id": "Production Officer", "label": "Production Officer"},
- {"id": "Production Developer", "label": "Production Developer"},
- {"id": "Production Analyst", "label": "Production Analyst"},
- {"id": "Production Leader", "label": "Production Leader"},
- {"id": "Production Advisor", "label": "Production Advisor"},
- {"id": "Production Consultant", "label": "Production Consultant"},
- {"id": "Production Expert", "label": "Production Expert"},
- {"id": "Production Controller", "label": "Production Controller"},
- {"id": "Manufacturing Chief", "label": "Manufacturing Chief"},
- {"id": "Manufacturing President", "label": "Manufacturing President"},
- {"id": "Manufacturing VP", "label": "Manufacturing VP"},
- {"id": "Manufacturing Director", "label": "Manufacturing Director"},
- {"id": "Manufacturing General Manager", "label": "Manufacturing General Manager"},
- {"id": "Manufacturing Head of Department", "label": "Manufacturing Head of Department"},
- {"id": "Manufacturing Manager", "label": "Manufacturing Manager"},
- {"id": "Manufacturing Officer", "label": "Manufacturing Officer"},
- {"id": "Manufacturing Developer", "label": "Manufacturing Developer"},
- {"id": "Manufacturing Analyst", "label": "Manufacturing Analyst"},
- {"id": "Manufacturing Leader", "label": "Manufacturing Leader"},
- {"id": "Manufacturing Advisor", "label": "Manufacturing Advisor"},
- {"id": "Manufacturing Consultant", "label": "Manufacturing Consultant"},
- {"id": "Manufacturing Expert", "label": "Manufacturing Expert"},
- {"id": "Manufacturing Controller", "label": "Manufacturing Controller"},
- {"id": "Quality Chief", "label": "Quality Chief"},
- {"id": "Quality President", "label": "Quality President"},
- {"id": "Quality VP", "label": "Quality VP"},
- {"id": "Quality Director", "label": "Quality Director"},
- {"id": "Quality General Manager", "label": "Quality General Manager"},
- {"id": "Quality Head of Department", "label": "Quality Head of Department"},
- {"id": "Quality Manager", "label": "Quality Manager"},
- {"id": "Quality Officer", "label": "Quality Officer"},
- {"id": "Quality Developer", "label": "Quality Developer"},
- {"id": "Quality Analyst", "label": "Quality Analyst"},
- {"id": "Quality Leader", "label": "Quality Leader"},
- {"id": "Quality Advisor", "label": "Quality Advisor"},
- {"id": "Quality Consultant", "label": "Quality Consultant"},
- {"id": "Quality Expert", "label": "Quality Expert"},
- {"id": "Quality Controller", "label": "Quality Controller"},
- {"id": "Customer Success Chief", "label": "Customer Success Chief"},
- {"id": "Customer Success President", "label": "Customer Success President"},
- {"id": "Customer Success VP", "label": "Customer Success VP"},
- {"id": "Customer Success Director", "label": "Customer Success Director"},
- {"id": "Customer Success General Manager", "label": "Customer Success General Manager"},
- {"id": "Customer Success Head of Department", "label": "Customer Success Head of Department"},
- {"id": "Customer Success Manager", "label": "Customer Success Manager"},
- {"id": "Customer Success Officer", "label": "Customer Success Officer"},
- {"id": "Customer Success Developer", "label": "Customer Success Developer"},
- {"id": "Customer Success Analyst", "label": "Customer Success Analyst"},
- {"id": "Customer Success Leader", "label": "Customer Success Leader"},
- {"id": "Customer Success Advisor", "label": "Customer Success Advisor"},
- {"id": "Customer Success Consultant", "label": "Customer Success Consultant"},
- {"id": "Customer Success Expert", "label": "Customer Success Expert"},
- {"id": "Customer Success Controller", "label": "Customer Success Controller"},
- {"id": "Innovation Chief", "label": "Innovation Chief"},
- {"id": "Innovation President", "label": "Innovation President"},
- {"id": "Innovation VP", "label": "Innovation VP"},
- {"id": "Innovation Director", "label": "Innovation Director"},
- {"id": "Innovation General Manager", "label": "Innovation General Manager"},
- {"id": "Innovation Head of Department", "label": "Innovation Head of Department"},
- {"id": "Innovation Manager", "label": "Innovation Manager"},
- {"id": "Innovation Officer", "label": "Innovation Officer"},
- {"id": "Innovation Developer", "label": "Innovation Developer"},
- {"id": "Innovation Analyst", "label": "Innovation Analyst"},
- {"id": "Innovation Leader", "label": "Innovation Leader"},
- {"id": "Innovation Advisor", "label": "Innovation Advisor"},
- {"id": "Innovation Consultant", "label": "Innovation Consultant"},
- {"id": "Innovation Expert", "label": "Innovation Expert"},
- {"id": "Innovation Controller", "label": "Innovation Controller"},
- {"id": "Innovator Chief", "label": "Innovator Chief"},
- {"id": "Innovator President", "label": "Innovator President"},
- {"id": "Innovator VP", "label": "Innovator VP"},
- {"id": "Innovator Director", "label": "Innovator Director"},
- {"id": "Innovator General Manager", "label": "Innovator General Manager"},
- {"id": "Innovator Head of Department", "label": "Innovator Head of Department"},
- {"id": "Innovator Manager", "label": "Innovator Manager"},
- {"id": "Innovator Officer", "label": "Innovator Officer"},
- {"id": "Innovator Developer", "label": "Innovator Developer"},
- {"id": "Innovator Analyst", "label": "Innovator Analyst"},
- {"id": "Innovator Leader", "label": "Innovator Leader"},
- {"id": "Innovator Advisor", "label": "Innovator Advisor"},
- {"id": "Innovator Consultant", "label": "Innovator Consultant"},
- {"id": "Innovator Expert", "label": "Innovator Expert"},
- {"id": "Innovator Controller", "label": "Innovator Controller"},
- {"id": "Intellectual Property Chief", "label": "Intellectual Property Chief"},
- {"id": "Intellectual Property President", "label": "Intellectual Property President"},
- {"id": "Intellectual Property VP", "label": "Intellectual Property VP"},
- {"id": "Intellectual Property Director", "label": "Intellectual Property Director"},
- {"id": "Intellectual Property General Manager", "label": "Intellectual Property General Manager"},
- {"id": "Intellectual Property Head of Department", "label": "Intellectual Property Head of Department"},
- {"id": "Intellectual Property Manager", "label": "Intellectual Property Manager"},
- {"id": "Intellectual Property Officer", "label": "Intellectual Property Officer"},
- {"id": "Intellectual Property Developer", "label": "Intellectual Property Developer"},
- {"id": "Intellectual Property Analyst", "label": "Intellectual Property Analyst"},
- {"id": "Intellectual Property Leader", "label": "Intellectual Property Leader"},
- {"id": "Intellectual Property Advisor", "label": "Intellectual Property Advisor"},
- {"id": "Intellectual Property Consultant", "label": "Intellectual Property Consultant"},
- {"id": "Intellectual Property Expert", "label": "Intellectual Property Expert"},
- {"id": "Intellectual Property Controller", "label": "Intellectual Property Controller"},
- {"id": "External Partnership Chief", "label": "External Partnership Chief"},
- {"id": "External Partnership President", "label": "External Partnership President"},
- {"id": "External Partnership VP", "label": "External Partnership VP"},
- {"id": "External Partnership Director", "label": "External Partnership Director"},
- {"id": "External Partnership General Manager", "label": "External Partnership General Manager"},
- {"id": "External Partnership Head of Department", "label": "External Partnership Head of Department"},
- {"id": "External Partnership Manager", "label": "External Partnership Manager"},
- {"id": "External Partnership Officer", "label": "External Partnership Officer"},
- {"id": "External Partnership Developer", "label": "External Partnership Developer"},
- {"id": "External Partnership Analyst", "label": "External Partnership Analyst"},
- {"id": "External Partnership Leader", "label": "External Partnership Leader"},
- {"id": "External Partnership Advisor", "label": "External Partnership Advisor"},
- {"id": "External Partnership Consultant", "label": "External Partnership Consultant"},
- {"id": "External Partnership Expert", "label": "External Partnership Expert"},
- {"id": "External Partnership Controller", "label": "External Partnership Controller"},
- {"id": "Engineer Chief", "label": "Engineer Chief"},
- {"id": "Engineer President", "label": "Engineer President"},
- {"id": "Engineer VP", "label": "Engineer VP"},
- {"id": "Engineer Director", "label": "Engineer Director"},
- {"id": "Engineer General Manager", "label": "Engineer General Manager"},
- {"id": "Engineer Head of Department", "label": "Engineer Head of Department"},
- {"id": "Engineer Manager", "label": "Engineer Manager"},
- {"id": "Engineer Officer", "label": "Engineer Officer"},
- {"id": "Engineer Developer", "label": "Engineer Developer"},
- {"id": "Engineer Analyst", "label": "Engineer Analyst"},
- {"id": "Engineer Leader", "label": "Engineer Leader"},
- {"id": "Engineer Advisor", "label": "Engineer Advisor"},
- {"id": "Engineer Consultant", "label": "Engineer Consultant"},
- {"id": "Engineer Expert", "label": "Engineer Expert"},
- {"id": "Engineer Controller", "label": "Engineer Controller"},
- {"id": "Technician Chief", "label": "Technician Chief"},
- {"id": "Technician President", "label": "Technician President"},
- {"id": "Technician VP", "label": "Technician VP"},
- {"id": "Technician Director", "label": "Technician Director"},
- {"id": "Technician General Manager", "label": "Technician General Manager"},
- {"id": "Technician Head of Department", "label": "Technician Head of Department"},
- {"id": "Technician Manager", "label": "Technician Manager"},
- {"id": "Technician Officer", "label": "Technician Officer"},
- {"id": "Technician Developer", "label": "Technician Developer"},
- {"id": "Technician Analyst", "label": "Technician Analyst"},
- {"id": "Technician Leader", "label": "Technician Leader"},
- {"id": "Technician Advisor", "label": "Technician Advisor"},
- {"id": "Technician Consultant", "label": "Technician Consultant"},
- {"id": "Technician Expert", "label": "Technician Expert"},
- {"id": "Technician Controller", "label": "Technician Controller"},
- {"id": "Collaborative projects Chief", "label": "Collaborative projects Chief"},
- {"id": "Collaborative projects President", "label": "Collaborative projects President"},
- {"id": "Collaborative projects VP", "label": "Collaborative projects VP"},
- {"id": "Collaborative projects Director", "label": "Collaborative projects Director"},
- {"id": "Collaborative projects General Manager", "label": "Collaborative projects General Manager"},
- {"id": "Collaborative projects Head of Department", "label": "Collaborative projects Head of Department"},
- {"id": "Collaborative projects Manager", "label": "Collaborative projects Manager"},
- {"id": "Collaborative projects Officer", "label": "Collaborative projects Officer"},
- {"id": "Collaborative projects Developer", "label": "Collaborative projects Developer"},
- {"id": "Collaborative projects Analyst", "label": "Collaborative projects Analyst"},
- {"id": "Collaborative projects Leader", "label": "Collaborative projects Leader"},
- {"id": "Collaborative projects Advisor", "label": "Collaborative projects Advisor"},
- {"id": "Collaborative projects Consultant", "label": "Collaborative projects Consultant"},
- {"id": "Collaborative projects Expert", "label": "Collaborative projects Expert"},
- {"id": "Collaborative projects Controller", "label": "Collaborative projects Controller"},
- {"id": "Technology Transfer Chief", "label": "Technology Transfer Chief"},
- {"id": "Technology Transfer President", "label": "Technology Transfer President"},
- {"id": "Technology Transfer VP", "label": "Technology Transfer VP"},
- {"id": "Technology Transfer Director", "label": "Technology Transfer Director"},
- {"id": "Technology Transfer General Manager", "label": "Technology Transfer General Manager"},
- {"id": "Technology Transfer Head of Department", "label": "Technology Transfer Head of Department"},
- {"id": "Technology Transfer Manager", "label": "Technology Transfer Manager"},
- {"id": "Technology Transfer Officer", "label": "Technology Transfer Officer"},
- {"id": "Technology Transfer Developer", "label": "Technology Transfer Developer"},
- {"id": "Technology Transfer Analyst", "label": "Technology Transfer Analyst"},
- {"id": "Technology Transfer Leader", "label": "Technology Transfer Leader"},
- {"id": "Technology Transfer Advisor", "label": "Technology Transfer Advisor"},
- {"id": "Technology Transfer Consultant", "label": "Technology Transfer Consultant"},
- {"id": "Technology Transfer Expert", "label": "Technology Transfer Expert"},
- {"id": "Technology Transfer Controller", "label": "Technology Transfer Controller"},
- {"id": "Research Support Chief", "label": "Research Support Chief"},
- {"id": "Research Support President", "label": "Research Support President"},
- {"id": "Research Support VP", "label": "Research Support VP"},
- {"id": "Research Support Director", "label": "Research Support Director"},
- {"id": "Research Support General Manager", "label": "Research Support General Manager"},
- {"id": "Research Support Head of Department", "label": "Research Support Head of Department"},
- {"id": "Research Support Manager", "label": "Research Support Manager"},
- {"id": "Research Support Officer", "label": "Research Support Officer"},
- {"id": "Research Support Developer", "label": "Research Support Developer"},
- {"id": "Research Support Analyst", "label": "Research Support Analyst"},
- {"id": "Research Support Leader", "label": "Research Support Leader"},
- {"id": "Research Support Advisor", "label": "Research Support Advisor"},
- {"id": "Research Support Consultant", "label": "Research Support Consultant"},
- {"id": "Research Support Expert", "label": "Research Support Expert"},
- {"id": "Research Support Controller", "label": "Research Support Controller"},
- {"id": "Digital Chief", "label": "Digital Chief"},
- {"id": "Digital President", "label": "Digital President"},
- {"id": "Digital VP", "label": "Digital VP"},
- {"id": "Digital Director", "label": "Digital Director"},
- {"id": "Digital General Manager", "label": "Digital General Manager"},
- {"id": "Digital Head of Department", "label": "Digital Head of Department"},
- {"id": "Digital Manager", "label": "Digital Manager"},
- {"id": "Digital Officer", "label": "Digital Officer"},
- {"id": "Digital Developer", "label": "Digital Developer"},
- {"id": "Digital Analyst", "label": "Digital Analyst"},
- {"id": "Digital Leader", "label": "Digital Leader"},
- {"id": "Digital Advisor", "label": "Digital Advisor"},
- {"id": "Digital Consultant", "label": "Digital Consultant"},
- {"id": "Digital Expert", "label": "Digital Expert"},
- {"id": "Digital Controller", "label": "Digital Controller"},
- {"id": "Data Chief", "label": "Data Chief"},
- {"id": "Data President", "label": "Data President"},
- {"id": "Data VP", "label": "Data VP"},
- {"id": "Data Director", "label": "Data Director"},
- {"id": "Data General Manager", "label": "Data General Manager"},
- {"id": "Data Head of Department", "label": "Data Head of Department"},
- {"id": "Data Manager", "label": "Data Manager"},
- {"id": "Data Officer", "label": "Data Officer"},
- {"id": "Data Developer", "label": "Data Developer"},
- {"id": "Data Analyst", "label": "Data Analyst"},
- {"id": "Data Leader", "label": "Data Leader"},
- {"id": "Data Advisor", "label": "Data Advisor"},
- {"id": "Data Consultant", "label": "Data Consultant"},
- {"id": "Data Expert", "label": "Data Expert"},
- {"id": "Data Controller", "label": "Data Controller"},
- {"id": "Data Protection Chief", "label": "Data Protection Chief"},
- {"id": "Data Protection President", "label": "Data Protection President"},
- {"id": "Data Protection VP", "label": "Data Protection VP"},
- {"id": "Data Protection Director", "label": "Data Protection Director"},
- {"id": "Data Protection General Manager", "label": "Data Protection General Manager"},
- {"id": "Data Protection Head of Department", "label": "Data Protection Head of Department"},
- {"id": "Data Protection Manager", "label": "Data Protection Manager"},
- {"id": "Data Protection Officer", "label": "Data Protection Officer"},
- {"id": "Data Protection Developer", "label": "Data Protection Developer"},
- {"id": "Data Protection Analyst", "label": "Data Protection Analyst"},
- {"id": "Data Protection Leader", "label": "Data Protection Leader"},
- {"id": "Data Protection Advisor", "label": "Data Protection Advisor"},
- {"id": "Data Protection Consultant", "label": "Data Protection Consultant"},
- {"id": "Data Protection Expert", "label": "Data Protection Expert"},
- {"id": "Data Protection Controller", "label": "Data Protection Controller"},
- {"id": "Clinical Chief", "label": "Clinical Chief"},
- {"id": "Clinical President", "label": "Clinical President"},
- {"id": "Clinical VP", "label": "Clinical VP"},
- {"id": "Clinical Director", "label": "Clinical Director"},
- {"id": "Clinical General Manager", "label": "Clinical General Manager"},
- {"id": "Clinical Head of Department", "label": "Clinical Head of Department"},
- {"id": "Clinical Manager", "label": "Clinical Manager"},
- {"id": "Clinical Officer", "label": "Clinical Officer"},
- {"id": "Clinical Developer", "label": "Clinical Developer"},
- {"id": "Clinical Analyst", "label": "Clinical Analyst"},
- {"id": "Clinical Leader", "label": "Clinical Leader"},
- {"id": "Clinical Advisor", "label": "Clinical Advisor"},
- {"id": "Clinical Consultant", "label": "Clinical Consultant"},
- {"id": "Clinical Expert", "label": "Clinical Expert"},
- {"id": "Clinical Controller", "label": "Clinical Controller"},
- {"id": "Medical Chief", "label": "Medical Chief"},
- {"id": "Medical President", "label": "Medical President"},
- {"id": "Medical VP", "label": "Medical VP"},
- {"id": "Medical Director", "label": "Medical Director"},
- {"id": "Medical General Manager", "label": "Medical General Manager"},
- {"id": "Medical Head of Department", "label": "Medical Head of Department"},
- {"id": "Medical Manager", "label": "Medical Manager"},
- {"id": "Medical Officer", "label": "Medical Officer"},
- {"id": "Medical Developer", "label": "Medical Developer"},
- {"id": "Medical Analyst", "label": "Medical Analyst"},
- {"id": "Medical Leader", "label": "Medical Leader"},
- {"id": "Medical Advisor", "label": "Medical Advisor"},
- {"id": "Medical Consultant", "label": "Medical Consultant"},
- {"id": "Medical Expert", "label": "Medical Expert"},
- {"id": "Medical Controller", "label": "Medical Controller"},
- {"id": "Key Opinion Leader Chief", "label": "Key Opinion Leader Chief"},
- {"id": "Key Opinion Leader President", "label": "Key Opinion Leader President"},
- {"id": "Key Opinion Leader VP", "label": "Key Opinion Leader VP"},
- {"id": "Key Opinion Leader Director", "label": "Key Opinion Leader Director"},
- {"id": "Key Opinion Leader General Manager", "label": "Key Opinion Leader General Manager"},
- {"id": "Key Opinion Leader Head of Department", "label": "Key Opinion Leader Head of Department"},
- {"id": "Key Opinion Leader Manager", "label": "Key Opinion Leader Manager"},
- {"id": "Key Opinion Leader Officer", "label": "Key Opinion Leader Officer"},
- {"id": "Key Opinion Leader Developer", "label": "Key Opinion Leader Developer"},
- {"id": "Key Opinion Leader Analyst", "label": "Key Opinion Leader Analyst"},
- {"id": "Key Opinion Leader Leader", "label": "Key Opinion Leader Leader"},
- {"id": "Key Opinion Leader Advisor", "label": "Key Opinion Leader Advisor"},
- {"id": "Key Opinion Leader Consultant", "label": "Key Opinion Leader Consultant"},
- {"id": "Key Opinion Leader Expert", "label": "Key Opinion Leader Expert"},
- {"id": "Key Opinion Leader Controller", "label": "Key Opinion Leader Controller"},
- {"id": "Researcher Chief", "label": "Researcher Chief"},
- {"id": "Researcher President", "label": "Researcher President"},
- {"id": "Researcher VP", "label": "Researcher VP"},
- {"id": "Researcher Director", "label": "Researcher Director"},
- {"id": "Researcher General Manager", "label": "Researcher General Manager"},
- {"id": "Researcher Head of Department", "label": "Researcher Head of Department"},
- {"id": "Researcher Manager", "label": "Researcher Manager"},
- {"id": "Researcher Officer", "label": "Researcher Officer"},
- {"id": "Researcher Developer", "label": "Researcher Developer"},
- {"id": "Researcher Analyst", "label": "Researcher Analyst"},
- {"id": "Researcher Leader", "label": "Researcher Leader"},
- {"id": "Researcher Advisor", "label": "Researcher Advisor"},
- {"id": "Researcher Consultant", "label": "Researcher Consultant"},
- {"id": "Researcher Expert", "label": "Researcher Expert"},
- {"id": "Researcher Controller", "label": "Researcher Controller"},
- {"id": "Investigator Chief", "label": "Investigator Chief"},
- {"id": "Investigator President", "label": "Investigator President"},
- {"id": "Investigator VP", "label": "Investigator VP"},
- {"id": "Investigator Director", "label": "Investigator Director"},
- {"id": "Investigator General Manager", "label": "Investigator General Manager"},
- {"id": "Investigator Head of Department", "label": "Investigator Head of Department"},
- {"id": "Investigator Manager", "label": "Investigator Manager"},
- {"id": "Investigator Officer", "label": "Investigator Officer"},
- {"id": "Investigator Developer", "label": "Investigator Developer"},
- {"id": "Investigator Analyst", "label": "Investigator Analyst"},
- {"id": "Investigator Leader", "label": "Investigator Leader"},
- {"id": "Investigator Advisor", "label": "Investigator Advisor"},
- {"id": "Investigator Consultant", "label": "Investigator Consultant"},
- {"id": "Investigator Expert", "label": "Investigator Expert"},
- {"id": "Investigator Controller", "label": "Investigator Controller"},
- {"id": "PhD Chief", "label": "PhD Chief"},
- {"id": "PhD President", "label": "PhD President"},
- {"id": "PhD VP", "label": "PhD VP"},
- {"id": "PhD Director", "label": "PhD Director"},
- {"id": "PhD General Manager", "label": "PhD General Manager"},
- {"id": "PhD Head of Department", "label": "PhD Head of Department"},
- {"id": "PhD Manager", "label": "PhD Manager"},
- {"id": "PhD Officer", "label": "PhD Officer"},
- {"id": "PhD Developer", "label": "PhD Developer"},
- {"id": "PhD Analyst", "label": "PhD Analyst"},
- {"id": "PhD Leader", "label": "PhD Leader"},
- {"id": "PhD Advisor", "label": "PhD Advisor"},
- {"id": "PhD Consultant", "label": "PhD Consultant"},
- {"id": "PhD Expert", "label": "PhD Expert"},
- {"id": "PhD Controller", "label": "PhD Controller"},
- {"id": "Inventor Chief", "label": "Inventor Chief"},
- {"id": "Inventor President", "label": "Inventor President"},
- {"id": "Inventor VP", "label": "Inventor VP"},
- {"id": "Inventor Director", "label": "Inventor Director"},
- {"id": "Inventor General Manager", "label": "Inventor General Manager"},
- {"id": "Inventor Head of Department", "label": "Inventor Head of Department"},
- {"id": "Inventor Manager", "label": "Inventor Manager"},
- {"id": "Inventor Officer", "label": "Inventor Officer"},
- {"id": "Inventor Developer", "label": "Inventor Developer"},
- {"id": "Inventor Analyst", "label": "Inventor Analyst"},
- {"id": "Inventor Leader", "label": "Inventor Leader"},
- {"id": "Inventor Advisor", "label": "Inventor Advisor"},
- {"id": "Inventor Consultant", "label": "Inventor Consultant"},
- {"id": "Inventor Expert", "label": "Inventor Expert"},
- {"id": "Inventor Controller", "label": "Inventor Controller"},
- {"id": "Scientist Chief", "label": "Scientist Chief"},
- {"id": "Scientist President", "label": "Scientist President"},
- {"id": "Scientist VP", "label": "Scientist VP"},
- {"id": "Scientist Director", "label": "Scientist Director"},
- {"id": "Scientist General Manager", "label": "Scientist General Manager"},
- {"id": "Scientist Head of Department", "label": "Scientist Head of Department"},
- {"id": "Scientist Manager", "label": "Scientist Manager"},
- {"id": "Scientist Officer", "label": "Scientist Officer"},
- {"id": "Scientist Developer", "label": "Scientist Developer"},
- {"id": "Scientist Analyst", "label": "Scientist Analyst"},
- {"id": "Scientist Leader", "label": "Scientist Leader"},
- {"id": "Scientist Advisor", "label": "Scientist Advisor"},
- {"id": "Scientist Consultant", "label": "Scientist Consultant"},
- {"id": "Scientist Expert", "label": "Scientist Expert"},
- {"id": "Scientist Controller", "label": "Scientist Controller"},
- {"id": "Technology Development Chief", "label": "Technology Development Chief"},
- {"id": "Technology Development President", "label": "Technology Development President"},
- {"id": "Technology Development VP", "label": "Technology Development VP"},
- {"id": "Technology Development Director", "label": "Technology Development Director"},
- {"id": "Technology Development General Manager", "label": "Technology Development General Manager"},
- {"id": "Technology Development Head of Department", "label": "Technology Development Head of Department"},
- {"id": "Technology Development Manager", "label": "Technology Development Manager"},
- {"id": "Technology Development Officer", "label": "Technology Development Officer"},
- {"id": "Technology Development Developer", "label": "Technology Development Developer"},
- {"id": "Technology Development Analyst", "label": "Technology Development Analyst"},
- {"id": "Technology Development Leader", "label": "Technology Development Leader"},
- {"id": "Technology Development Advisor", "label": "Technology Development Advisor"},
- {"id": "Technology Development Consultant", "label": "Technology Development Consultant"},
- {"id": "Technology Development Expert", "label": "Technology Development Expert"},
- {"id": "Technology Development Controller", "label": "Technology Development Controller"},
- {"id": "Business Development Chief", "label": "Business Development Chief"},
- {"id": "Business Development President", "label": "Business Development President"},
- {"id": "Business Development VP", "label": "Business Development VP"},
- {"id": "Business Development Director", "label": "Business Development Director"},
- {"id": "Business Development General Manager", "label": "Business Development General Manager"},
- {"id": "Business Development Head of Department", "label": "Business Development Head of Department"},
- {"id": "Business Development Manager", "label": "Business Development Manager"},
- {"id": "Business Development Officer", "label": "Business Development Officer"},
- {"id": "Business Development Developer", "label": "Business Development Developer"},
- {"id": "Business Development Analyst", "label": "Business Development Analyst"},
- {"id": "Business Development Leader", "label": "Business Development Leader"},
- {"id": "Business Development Advisor", "label": "Business Development Advisor"},
- {"id": "Business Development Consultant", "label": "Business Development Consultant"},
- {"id": "Business Development Expert", "label": "Business Development Expert"},
- {"id": "Business Development Controller", "label": "Business Development Controller"},
- {"id": "Software Architect", "label": "Software Architect"},
- {"id": "Software Chief", "label": "Software Chief"},
- {"id": "Software President", "label": "Software President"},
- {"id": "Software VP", "label": "Software VP"},
- {"id": "Software Director", "label": "Software Director"},
- {"id": "Software General Manager", "label": "Software General Manager"},
- {"id": "Software Head of Department", "label": "Software Head of Department"},
- {"id": "Software Director", "label": "Software Director"},
- {"id": "Software Manager", "label": "Software Manager"},
- {"id": "Software Officer", "label": "Software Officer"},
- {"id": "Software Developer", "label": "Software Developer"},
- {"id": "Software Analyst", "label": "Software Analyst"},
- {"id": "Software Leader", "label": "Software Leader"},
- {"id": "Software Advisor", "label": "Software Advisor"},
- {"id": "Software Consultant", "label": "Software Consultant"},
- {"id": "Software Expert", "label": "Software Expert"},
- {"id": "Software Controller", "label": "Software Controller"},
- {"id": "Director Ownership", "label": "Director Ownership"},
- {"id": "Supply Chain Chief", "label": "Supply Chain Chief"},
- {"id": "Supply Chain President", "label": "Supply Chain President"},
- {"id": "Supply Chain VP", "label": "Supply Chain VP"},
- {"id": "Supply Chain Director", "label": "Supply Chain Director"},
- {"id": "Supply Chain General Manager", "label": "Supply Chain General Manager"},
- {"id": "Supply Chain Head of Department", "label": "Supply Chain Head of Department"},
- {"id": "Supply Chain Manager", "label": "Supply Chain Manager"},
- {"id": "Supply Chain Officer", "label": "Supply Chain Officer"},
- {"id": "Supply Chain Developer", "label": "Supply Chain Developer"},
- {"id": "Supply Chain Analyst", "label": "Supply Chain Analyst"},
- {"id": "Supply Chain Leader", "label": "Supply Chain Leader"},
- {"id": "Supply Chain Advisor", "label": "Supply Chain Advisor"},
- {"id": "Supply Chain Consultant", "label": "Supply Chain Consultant"},
- {"id": "Supply Chain Expert", "label": "Supply Chain Expert"},
- {"id": "Supply Chain Controller", "label": "Supply Chain Controller"},
- {"id": "Human Resources Chief", "label": "Human Resources Chief"},
- {"id": "Human Resources President", "label": "Human Resources President"},
- {"id": "Human Resources VP", "label": "Human Resources VP"},
- {"id": "Human Resources Director", "label": "Human Resources Director"},
- {"id": "Human Resources General Manager", "label": "Human Resources General Manager"},
- {"id": "Human Resources Head of Department", "label": "Human Resources Head of Department"},
- {"id": "Human Resources Manager", "label": "Human Resources Manager"},
- {"id": "Human Resources Officer", "label": "Human Resources Officer"},
- {"id": "Human Resources Developer", "label": "Human Resources Developer"},
- {"id": "Human Resources Analyst", "label": "Human Resources Analyst"},
- {"id": "Human Resources Leader", "label": "Human Resources Leader"},
- {"id": "Human Resources Advisor", "label": "Human Resources Advisor"},
- {"id": "Human Resources Consultant", "label": "Human Resources Consultant"},
- {"id": "Human Resources Expert", "label": "Human Resources Expert"},
- {"id": "Human Resources Controller", "label": "Human Resources Controller"},
- {"id": "Logistics Chief", "label": "Logistics Chief"},
- {"id": "Logistics President", "label": "Logistics President"},
- {"id": "Logistics VP", "label": "Logistics VP"},
- {"id": "Logistics Director", "label": "Logistics Director"},
- {"id": "Logistics General Manager", "label": "Logistics General Manager"},
- {"id": "Logistics Head of Department", "label": "Logistics Head of Department"},
- {"id": "Logistics Manager", "label": "Logistics Manager"},
- {"id": "Logistics Officer", "label": "Logistics Officer"},
- {"id": "Logistics Developer", "label": "Logistics Developer"},
- {"id": "Logistics Analyst", "label": "Logistics Analyst"},
- {"id": "Logistics Leader", "label": "Logistics Leader"},
- {"id": "Logistics Advisor", "label": "Logistics Advisor"},
- {"id": "Logistics Consultant", "label": "Logistics Consultant"},
- {"id": "Logistics Expert", "label": "Logistics Expert"},
- {"id": "Logistics Controller", "label": "Logistics Controller"},
- {"id": "Laboratory Assistant", "label": "Laboratory Assistant"},
- {"id": "Student Analyst", "label": "Student Analyst"},
- {"id": "Student Consultant", "label": "Student Consultant"},
- {"id": "Student Developer", "label": "Student Developer"},
- {"id": "Student Director", "label": "Student Director"},
- {"id": "Student Leader", "label": "Student Leader"}
- ]
-}
\ No newline at end of file
diff --git a/app/assets/json/meta/organisation-genders.json b/app/assets/json/meta/organisation-genders.json
deleted file mode 100644
index 17ecce0..0000000
--- a/app/assets/json/meta/organisation-genders.json
+++ /dev/null
@@ -1,21 +0,0 @@
-{
- "version": "1.0",
- "locale": "en-uk",
- "source": "https://domain/endpoint",
- "updated": "2022-11-15 20:32:12",
- "expires": "2023-11-15 20:32:12",
- "content": [
- {
- "id": "M",
- "label": "Mister"
- },
- {
- "id": "F",
- "label": "Miss"
- },
- {
- "id": "I",
- "label": "I rather not say"
- }
- ]
-}
\ No newline at end of file
diff --git a/app/assets/json/meta/project-funding-instruments.json b/app/assets/json/meta/project-funding-instruments.json
deleted file mode 100644
index 5c86c50..0000000
--- a/app/assets/json/meta/project-funding-instruments.json
+++ /dev/null
@@ -1,62 +0,0 @@
-{
- "version": "1.0",
- "locale": "en-uk",
- "source": "https://domain/endpoint",
- "updated": "2022-11-15 20:32:12",
- "expires": "2023-11-15 20:32:12",
- "content": [
- {
- "id": "dxa-tyJdaSpa5i2E8lO4ePQ",
- "label": "SME Instrument"
- },
- {
- "id": "d9l6-quCkT-aKguoO8jAkBQ",
- "label": "Fast Track to Innovation"
- },
- {
- "id": "dvxAKO-bETAC1VhfXQWASsA",
- "label": "Future and Emerging Technologies - Open"
- },
- {
- "id": "dtf7GvyXoTOyA4-i_N2FrHA",
- "label": "Enterprise Europe Network"
- },
- {
- "id": "dVN9fqX-wTg-osqrKnPBPeA",
- "label": "EIC Accelerator"
- },
- {
- "id": "dbluVfV5HSLC6GgMBI98fTg",
- "label": "EIC Pathfinder"
- },
- {
- "id": "dgi0QLaR3RhKs0TwLeseCrg",
- "label": "EIC Transition"
- },
- {
- "id": "dL1tPaeXdSZOChaQxniUlLg",
- "label": "European Innovation Ecosystems"
- },
- {
- "id": "d0EysoYbGSiu87Fd_GYcJ1w",
- "label": "European Institute of Innovation & Technology"
- },
- {
- "id": "dtqcjwMq-R0yNkj9CBWay_A",
- "label": "EIC Prizes"
- },
- {
- "id": "djGk1DzGcQN-He0e5z2nXBQ",
- "label": "EIC Boosters"
- },
- {
- "id": "derOiWoHrSSa0uNpvJPB31A",
- "label": "EIC Scaling Club"
- },
- {
- "id": "db5POvgHGRqK6rvq8xr-Ycg",
- "label": "EIC STEP"
- }
-
- ]
-}
\ No newline at end of file
diff --git a/app/assets/json/meta/project-funding-types.json b/app/assets/json/meta/project-funding-types.json
deleted file mode 100644
index 156200f..0000000
--- a/app/assets/json/meta/project-funding-types.json
+++ /dev/null
@@ -1,25 +0,0 @@
-{
- "version": "1.0",
- "locale": "en-uk",
- "source": "https://domain/endpoint",
- "updated": "2022-11-15 20:32:12",
- "expires": "2023-11-15 20:32:12",
- "content": [
- {
- "id": "diNtoRDr0TamOTyF2DIMaDA",
- "label": "Grant only"
- },
- {
- "id": "di4eFlmYnTjSiJqphaIAHVA",
- "label": "Blended"
- },
- {
- "id": "dXmTz1EglTTeo320gbQbzww",
- "label": "Grant first"
- },
- {
- "id": "dhf-KzmiqRPSREMVOHxLozw",
- "label": "Investment only"
- }
- ]
-}
\ No newline at end of file
diff --git a/app/assets/json/meta/sample.json b/app/assets/json/meta/sample.json
deleted file mode 100755
index b71bb8c..0000000
--- a/app/assets/json/meta/sample.json
+++ /dev/null
@@ -1,33 +0,0 @@
-{
- "version": "1.0",
- "locale": "en-uk",
- "source": "https://domain/endpoint",
- "updated": "2022-11-15 20:32:12",
- "expires": "2023-11-15 20:32:12",
- "content": [
- {
- "id": "",
- "label": ""
- },
- {
- "id": "",
- "label": "",
- "children": [
- {
- "id": "",
- "label": ""
- }
- ]
- },
- {
- "id": "",
- "label": "",
- "prop": {
- "url": "",
- "description": "",
- "icon": "",
- "alt-value": ""
- }
- }
- ]
-}
\ No newline at end of file
diff --git a/app/assets/json/meta/soe-fundings.json b/app/assets/json/meta/soe-fundings.json
deleted file mode 100644
index 61675fd..0000000
--- a/app/assets/json/meta/soe-fundings.json
+++ /dev/null
@@ -1,33 +0,0 @@
-{
- "version": "1.0",
- "locale": "en-uk",
- "source": "https://domain/endpoint",
- "updated": "2024-04-19 14:12:12",
- "expires": "2024-04-19 14:12:12",
- "content": [
- {
- "id": "dbBSto19RQIej9gZmIwyHGg",
- "label": "ERDF"
- },
- {
- "id": "deSFYMEbaR7OLKjOUBOiuRA",
- "label": "Recovery and resilience Facility (RRF)"
- },
- {
- "id": "dwBtwkyKCSFS2zJ6C9n9GGQ",
- "label": "National funds"
- },
- {
- "id": "dGMU0jqh4SGi8SKcnX6WHLQ",
- "label": "Regional funds"
- },
- {
- "id": "dnoR32eh_TRqu7rWrzNWq8Q",
- "label": "Private"
- },
- {
- "id": "dTVTpQG-KRzej86IwE0v7TA",
- "label": "Other"
- }
- ]
-}
\ No newline at end of file
diff --git a/app/assets/json/meta/submission-countries.json b/app/assets/json/meta/submission-countries.json
deleted file mode 100644
index dea39a2..0000000
--- a/app/assets/json/meta/submission-countries.json
+++ /dev/null
@@ -1,64 +0,0 @@
-{
- "version": "1.0",
- "locale": "en-uk",
- "source": "https://domain/endpoint",
- "updated": "2022-11-15 20:32:12",
- "expires": "2023-11-15 20:32:12",
- "content": [
- {
- "label":"European Union",
- "id":"EU",
- "children": [
- {"label":"Austria","id":"AT", "prop": { "EU": true }},
- {"label":"Belgium","id":"BE", "prop": { "EU": true }},
- {"label":"Bulgaria","id":"BG", "prop": { "EU": true }},
- {"label":"Cyprus","id":"CY", "prop": { "EU": true }},
- {"label":"Czech Republic","id":"CZ", "prop": { "EU": true }},
- {"label":"Germany","id":"DE", "prop": { "EU": true }},
- {"label":"Denmark","id":"DK", "prop": { "EU": true }},
- {"label":"Estonia","id":"EE", "prop": { "EU": true }},
- {"label":"France","id":"FR", "prop": { "EU": true }},
- {"label":"Spain","id":"ES", "prop": { "EU": true }},
- {"label":"Finland","id":"FI", "prop": { "EU": true }},
- {"label":"Greece","id":"GR", "prop": { "EU": true }},
- {"label":"Croatia","id":"HR", "prop": { "EU": true }},
- {"label":"Hungary","id":"HU", "prop": { "EU": true }},
- {"label":"Ireland","id":"IE", "prop": { "EU": true }},
- {"label":"Italy","id":"IT", "prop": { "EU": true }},
- {"label":"Lithuania","id":"LT", "prop": { "EU": true }},
- {"label":"Luxembourg","id":"LU", "prop": { "EU": true }},
- {"label":"Latvia","id":"LV", "prop": { "EU": true }},
- {"label":"Malta","id":"MT", "prop": { "EU": true }},
- {"label":"Netherlands","id":"NL", "prop": { "EU": true }},
- {"label":"Poland","id":"PL", "prop": { "EU": true }},
- {"label":"Portugal","id":"PT", "prop": { "EU": true }},
- {"label":"Romania","id":"RO", "prop": { "EU": true }},
- {"label":"Sweden","id":"SE", "prop": { "EU": true }},
- {"label":"Slovenia","id":"SI", "prop": { "EU": true }},
- {"label":"Slovakia","id":"SK", "prop": { "EU": true }}
- ]
- },
- {
- "label":"Other",
- "id":"Other",
- "children": [
- {"label":"Albania","id":"AL", "prop": { "EU": false }},
- {"label":"Armenia","id":"AM", "prop": { "EU": false }},
- {"label":"Bosnia and Herzegovina","id":"BA", "prop": { "EU": false }},
- {"label":"Faroe Islands","id":"FO", "prop": { "EU": false }},
- {"label":"Georgia","id":"GE", "prop": { "EU": false }},
- {"label":"Iceland","id":"IS", "prop": { "EU": false }},
- {"label":"Israel","id":"IL", "prop": { "EU": false }},
- {"label":"Moldova","id":"MD", "prop": { "EU": false }},
- {"label":"Montenegro","id":"ME", "prop": { "EU": false }},
- {"label":"North Macedonia","id":"MK", "prop": { "EU": false }},
- {"label":"Norway","id":"NO", "prop": { "EU": false }},
- {"label":"Serbia","id":"RS", "prop": { "EU": false }},
- {"label":"Tunisia","id":"TN", "prop": { "EU": false }},
- {"label":"Turkiye","id":"TR", "prop": { "EU": false }},
- {"label":"Ukraine","id":"UA", "prop": { "EU": false }},
- {"label":"United Kingdom","id":"GB", "prop": { "EU": false }}
- ]
- }
- ]
-}
\ No newline at end of file
diff --git a/app/assets/json/meta/templates-tokens-lists.json b/app/assets/json/meta/templates-tokens-lists.json
deleted file mode 100644
index f8f450f..0000000
--- a/app/assets/json/meta/templates-tokens-lists.json
+++ /dev/null
@@ -1,40 +0,0 @@
-{
- "version": "1.0",
- "locale": "en-uk",
- "source": "https://domain/endpoint",
- "updated": "2025-02-10 10:32:12",
- "expires": "2027-02-10 10:32:12",
- "content": [
- {
- "label":"TechDD",
- "id":"mkl-TechDD-tokens",
- "children": [
- {"label":"personEmail","id":"personEmail"},
- {"label":"personEuLogin","id":"personEuLogin"},
- {"label":"personFirstName","id":"personFirstName"},
- {"label":"personLastName","id":"personLastName"},
- {"label":"personFullName","id":"personFullName"},
- {"label":"organisationFullName","id":"organisationFullName"},
- {"label":"organisationShortName","id":"organisationShortName"},
- {"label":"organisationPIC","id":"organisationPIC"},
- {"label":"proposalId","id":"proposalId"},
- {"label":"proposalAcronym","id":"proposalAcronym"},
- {"label":"proposalType","id":"proposalType"},
- {"label":"expertFirstName","id":"expertFirstName"},
- {"label":"expertLastName","id":"expertLastName"},
- {"label":"expertFullName","id":"expertFullName"},
- {"label":"FIOFirstName","id":"FIOFirstName"},
- {"label":"FIOLastName","id":"FIOLastName"},
- {"label":"FIOFullName","id":"FIOFullName"},
- {"label":"POFirstName","id":"POFirstName"},
- {"label":"POLastName","id":"POLastName"},
- {"label":"POFullName","id":"POFullName"},
- {"label":"TechDDFirstName","id":"TechDDFirstName"},
- {"label":"TechDDLastName","id":"TechDDLastName"},
- {"label":"TechDDFullName","id":"TechDDFullName"},
- {"label":"reportURL","id":"reportURL"},
- {"label":"unsubscribeURL","id":"unsubscribeURL"}
- ]
- }
- ]
-}
\ No newline at end of file
diff --git a/app/assets/json/tests/New-feature-todo.txt b/app/assets/json/tests/New-feature-todo.txt
deleted file mode 100644
index a773f37..0000000
--- a/app/assets/json/tests/New-feature-todo.txt
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
-
-Typical TODO-list for new app feature:
-
-=> New route:
- => Delegating route in baseRoutes.json (without method)
- => Add real route(s) in the xxxController.json (section:routes)
-
-=> New controller :
- => Create xxxController.json (minimum: routes, views to load, model to load)
- => Create xxxController.js
- => (!) make sure to have a correct "app.registerClass"(same as filename !)
- => (!) make sure the class name is unique across the universe
- => Create the methods used in the route(s) definition
- => Add this.loadWindow in the method(s)
- => second param is object of anything to pass to view, such ass model(s) (1)
-
-=> New model :
- => Create xxxModel.js
- => (!) make sure to have a correct "app.registerClass" (same as filename !)
- => (!) make sure the class name is unique across the universe
-
-=> New view :
- => Create xxxView.html
- => Create xxxView.js
- => (!) make sure to have a correct "app.registerClass" (same as filename !)
- => (!) make sure the class name is unique across the universe
- => Needs at least a method "DOMContentLoaded(options)"
- => probably want to use "ui.eicfy(this.el)"
- => setup all your dom & components references
- => probably want to get stuff from the controller via options.xxx
- => typical: "this.model = this.options.model" (see (1))
- or: like "for(let model in options.models) this[model] = options.models[model]"
-
-=> Make a menu entry :
- => Add an entry in "/app/assets/json/global/app-menu-map.json"
- => (!) Make sure to select the proper roles (or "*" for open-bar)
-
-
-
-*/
\ No newline at end of file
diff --git a/app/assets/json/tests/available-pics.txt b/app/assets/json/tests/available-pics.txt
deleted file mode 100644
index a69cf01..0000000
--- a/app/assets/json/tests/available-pics.txt
+++ /dev/null
@@ -1,106 +0,0 @@
-889194733 Granted
-934188280 Granted
-892649679 Granted
-917568106 Granted
-904060759 Granted
-888564233 Granted
-888330366 Granted
-888554145 Granted
-898827900 Granted
-888323091 Granted
-888325128 Granted
-888511562 Granted
-892722235 Granted
-913000861 Granted
-889396978 Granted
-890403838 Granted
-898781534 Granted
-931664437 Granted
-904105282 Granted
-886470682 Granted
-894431763 Granted
-910667138 Granted
-886482710 Granted
-890038730 Granted
-892657148 Granted
-910897028 Granted
-886501625 Granted
-904414615 Granted
-910449664 Granted
-907587485 Granted
-889228295 Granted
-891358221 Granted
-886526845 Granted
-936304335 Granted
-894423712 Granted
-907679247 Granted
-925244783 Granted
-885790324 Granted
-885800315 Granted
-931630681 Granted
-891563279 Granted
-898815387 Granted
-911172023 Granted
-911227992 Granted
-885787123 Granted
-891010476 Granted
-894993878 Granted
-885846390 Granted
-895010174 Granted
-889226258 Granted
-886396671 Granted
-
-
-927984548 Granted
-891694714
-891087979
-995981645
-905736531 NIKE
-
-
-
-***************************** SHORTPROPS *****************************
-
-
-User Org SP
-n0005lk9 / /
-n0005lka 891808301 /
-n0005lkb 888657256 190157586
-n0005lkd / 190116115
-
-steinic 886396671 created
-
-
-n0005lke / Z8bltqvKewuraPkGN0rS (not in the BE yet --> need onboarding) / 190117162
-n0005lkf (not in the BE yet --> need onboarding) 923569011 190138101
-n0005lk9 --> l'utilisateur existe mais n'a accès à rien
-n0005lka --> l'utilisateur existe et est admin de l'organisation 891808301 (qui existe elle aussi)
-n0005lkb --> l'utilisateur est admin de l'organisation et de la short mentionnées
-n0005lkd --> l'utilisateur est admin de la short mentionnée (qui n'a pas de PIC) ; il n'est membre d'aucune organisation
-n0005lke --> l'utilisateur n'existe pas encore dans le BE mais son EULogin est lié à une short existante (qui n'a pas de PIC)
-n0005lkf --> l'utilisateur n'existe pas encore dans le BE mais son EULogin est lié à une short existante, qui elle-même est liée à une organisation (qui n'existe pas encore dans le BE)
-n0005lkl
-n0005lki
-n0005lkj
-
-T3stE2E@eic.EU
-
-
-Gavin.eic1@gmail.com: n000110z / Easme12345678901 => Z8bltqvKewuraPkGN0rS
-samantha.patelle@gmail.com Easme12345
-
-n0005jin / uraPkGN0rSZ8bltqvKew : BP_SPOC_FastTrack
-
-
-https://myeic.dev.eismea.eu/applicant/999519720
-999507207
-999513706
-999516519
-999519720
-999588784
-999678121
-999770950
-999780262
-999796946
-999833612
-999906459
diff --git a/app/assets/json/tests/ced.json b/app/assets/json/tests/ced.json
deleted file mode 100644
index a7c6e02..0000000
--- a/app/assets/json/tests/ced.json
+++ /dev/null
@@ -1,17 +0,0 @@
-{
- "success" : true,
- "payload": [
- {
- "family_name": "Stein",
- "given_name": "Nicolas",
- "email": "nicolas.stein@disney.com",
- "https://ecas.ec.europa.eu/claims/uid":"steinni"
- },
- {
- "family_name": "Lapraline",
- "given_name": "Toto",
- "email": "toto@gmail.com",
- "https://ecas.ec.europa.eu/claims/uid":"piperto"
- }
- ]
-}
diff --git a/app/assets/json/tests/existing_roles.json b/app/assets/json/tests/existing_roles.json
deleted file mode 100644
index ff1b187..0000000
--- a/app/assets/json/tests/existing_roles.json
+++ /dev/null
@@ -1,32 +0,0 @@
-[
- {
- "role": "BP_PO",
- "permissions": {
- "tokens": [ "list", "setSettings", "getSettings" ],
- "users": [ "list", "search", "create", "revoke" ],
- "company": [ "search", "grant", "revoke" ],
- "templates": ["list", "search", "create", "clone", "edit", "reject", "approve" ]
- }
- },
- { "role": "BP_HoU",
- "permissions": {
- "tokens": [ "list" ],
- "users": [ ],
- "company": [ ]
- }
- },
- { "role": "BP_SPOC_FastTrack",
- "permissions": {
- "tokens": [ "list" ],
- "users": [ "list", "search", "create", "revoke" ],
- "company": [ "search", "grant" ]
- }
- },
- { "role": "BP_SPOC_Plugin",
- "permissions": {
- "tokens": [ "list", "getPrograms", "addProgram", "removeProgram" ],
- "users": [ "list", "search", "create", "revoke" ],
- "company": [ "search", "grant" ]
- }
- }
-]
diff --git a/app/assets/json/tests/icons.html b/app/assets/json/tests/icons.html
deleted file mode 100644
index 0720300..0000000
--- a/app/assets/json/tests/icons.html
+++ /dev/null
@@ -1,116 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/app/assets/json/tests/massMailer-infos.txt b/app/assets/json/tests/massMailer-infos.txt
deleted file mode 100644
index 9348a21..0000000
--- a/app/assets/json/tests/massMailer-infos.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-CNS infos:
-
-Home page in confluence:
-https://citnet.tech.ec.europa.eu/CITnet/confluence/display/CNS/CNS+Home
-API swagger:
-https://webgate.acceptance.ec.europa.eu/cns/restapi/?ticket=ST-3492070-ib8qIagzgjT0HjAnhZogjDJSwITAq4YOCQaPzSEzqkjXKYaMeSCdzzdjIxd6OCLEzgJYDCWfcAwTXd4czOpzwnrU-zGrcc7GCOy8q7wCXbuuQ9K-QDr1sFx5wNzYWsj7jNzSnl6VPOBo2YiHpKMXIlWXUDD7sVt23FD6R4fZfIxnlYH4pcAATXPFU5UaOFC1UzHyzvm#/
-
-
-
-
-
diff --git a/app/assets/json/tests/model_bug.txt b/app/assets/json/tests/model_bug.txt
deleted file mode 100644
index f752428..0000000
--- a/app/assets/json/tests/model_bug.txt
+++ /dev/null
@@ -1,80 +0,0 @@
- ***********************************************
- * Raiders of the lost-arcmodel (archaïc model)*
- ***********************************************
-
-===> Le comportement zarb:
-On édite une propal, on refocus le dashboard, on clique sur view de la même propal (probablement idem si edit) :
-La propal se re-focus, mais les dernières données encodées n'y sont pas.
-Biensur, réessayé en veillant bien à attendre le temps de l'auto-save,
-vérifié en voyant passer le PUT en console-network mais le blème est bien côté FE.
-
-
-
-===> L'enquête:
-- Suivit le reloading des données en les dumpant partout, depuis le modèle (reload OK, données fraiches, donc effectivement c'est pas le BE)
-jusque dans la vue ou -surprise- elles sont périmées.
-- Pourtant séquence temporelle correcte, on a bien le model.getPropa avant le view.fill
-- Finalement soupçon sur l'instantiation des modèles => mise (temoraire) d'un UUID random comme propriété du modèle dans son constructeur.
- Du coup on peux tracer les changements d'instance.
-
-
-===> Le diagnostique:
-L'utilisateur sur le dashboard, fait un "Edit" sur la propal (première ouverture de cette propal):
-- Route vers "SubmissionController::proposal"
-- Ctrl instancie le model submissionModel (instance SM1)
-- Ctrl load les datas dans SM1.data
- THEN il fait un this.loadwindow (SumissionShortForm2023View), passe tous les modeles (dont SM1)
- son ancêtre "EICcontroller" fait un "createwindow", et un "loadview" : param "data.models" =tous les modeles (dont SM1)
-- "DOMContentLoaded(options)" est lancé dans la view "SubmissionShortForm2023View", SM1 arrive par "options.models", devient "this.submission"
-- La view-propal fait des "fill()" pour tous les tabs, prend ses datas dans "this.submission" donc dans SM1.data ===> all good
-
-- Ensuite, le user refocus la fenetre dashboard et fait un "view" sur la même propal. (probablement un "edit" aurais le même comportement)
-- Route vers "SubmissionController::proposal"
-- Ctrl instancie le model submissionModel (instance SM2) ====> aie !
-- Ctrl load les datas fraiches dans SM2.data
- THEN il fait un loadwindow (SumissionShortForm2023View), passe tous les modeles (dont SM2)
- son ancetre "EICcontroller" conmait cette fenetre, et donc fait un "this.focus" (pas un create) param "data" = tous les modeles (dont SM2)
-- "DOMContentFocused(data)" est lancé dans la view "SubmissionShortForm2023View", qui recoit SM2 via options.models
-- MAIS "DOMContentFocused" se fout pas mal de options.models ====> ouille !
- This.submission reste donc l'instance SM1 pas fraiche ====> et bardaf, c'est l'embardée !
-
-
-- Biensur, Si on continue les allez-retour, il y a chaque fois une nouvelle instance de modèle,
- mais les tabs continuent d'utiliser la toute première instance ===> aie-ouille-bardaf !
-
-
-===> Le fix:
-
-1. Patché d'abord en réassignant les modèles dans DOMContentFocused de "SubmissionShortForm2023View". (fastoche)
-
-!!! Oui mais, dans le cas des Tabs ca ne suffit pas, car les tabs ne sont pas réinstanciés nonplus.
-De plus, leur "DOMContentFocused" n'est jamais appelé.
-
-2. Ajouté un appel à "DOMContentFocused" pour tous les chunks.view dans "SubmissionShortForm2023View::DOMContentFocused" pour propager le focus aux tabs
-
-3. Ensuite ajouté un "DOMContentFocused" dans la maman des tabs "SubmissionShortFormTabView" qui assigne this.model avec options.models.sumbission (options.models étant maintenant dispo)
-
-Du coup les vues & tabs ont la dernière instance du modèle, créée en réentrant dans le CTRL et donc les données fraiches.
-...Reste a espérer qu'il ne traine plus de refs sur la vielle instance de modèle et qu'elle soit donc proprement garbage-collectée.
-
-
-Attention, du coup sémentiquement : "DOMContentFocused" d'un tab veux dire "la fenêtre à laquelle le tab appartient est refocussée",
-a ne pas confondre évidemment avec le focus du tab lui-même ( = event 'selected' du composant).
-
-
-Makes me wonder : dommage qu'on réinstancie le modèle (en général, même fenêtre (avec mêm url dont params) = mêmes données,
-le rafraichissement éventuel des données pourrais aussi bien se faire sans changer d'instance de modèle.
-Mais lorsque EICcontroller teste pour voir si c'est une fenetre connue, il est déjà trop tard :
-le ctrl-fiston a déjà instancié et choppé les datas, d'ailleurs c'est même obligatoirement synchrone avant de lancer la fenetre : via le THEN)
-D'un autre côté, créer une association modèle-window (pour savoir si on l'a déjà plus tôt) n'est clairement pas un bon pattern...
-... A méditer avec un malibu-ananas.
-
-Si on reste sur le patch ci-dessus, faut bien garder ca en tête paske ce pattern => bug potientiel va se retrouver ailleurs !
-
-
-
-===> Side-effect & Fix on the fix :
-Dans certains cas les focus sont appelés sans options (lorsqu'on clicke sur les badges fenêtre).
-=> rajouté un test pour ne pas tenter de recopier les modèles si pas d'options.
- Pas grave parceque ca correspond au cas ou on refocus la fenêtre sans rerouter, donc avec modèles non-réinstanciés.
- Mais j'adore pas tout ca... faudrat qu'on en cause, voir si on peut clarifier/simplifier.
diff --git a/app/assets/json/tests/platformDownRedisValue.js b/app/assets/json/tests/platformDownRedisValue.js
deleted file mode 100644
index 8cf2d91..0000000
--- a/app/assets/json/tests/platformDownRedisValue.js
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "blockedUUIDs": [
- "n0005lka"
- ],
- "platformRestrictions": {
- "allowedRoles": [
- "EIC_Admin",
- "EIC_Dev"
- ],
- "allowedUUIDs": [
- "n0005i29"
- ]
- }
-}
\ No newline at end of file
diff --git a/app/assets/json/tests/testlog-2023-23-06.txt b/app/assets/json/tests/testlog-2023-23-06.txt
deleted file mode 100644
index 7bb792e..0000000
--- a/app/assets/json/tests/testlog-2023-23-06.txt
+++ /dev/null
@@ -1,18 +0,0 @@
-# Test log from 2023-06-23
-#
-# - means bug
-# + means missing feature
-# + means change request
-#
-
-- /organisations/PIC/ => sends an array of organisations (ony 1 item though). there should be only 1 object
-- /organisations/PIC/members => CORS error
-- /organisations/PIC/proposals => CORS error
-- logged under user fallimi => received ORG_MEMBER and SP_ADMIN roles but no permissions on /organisations (?!?)
-
-+ missing /users/search => same as /bypass/users/search (could be global)
-+ missing /organisations/PIC/members/UID GET => retrieve details of a member (in order to update...)
-+ missing "phone" property in organisation member => align to proposal fields
-
-* change "function" property in organisation member to "position" => align to proposal fields
-* change "administrator" property in organisation member to "admin" => align to member profile
diff --git a/app/assets/json/tests/tips-n-tricks.txt b/app/assets/json/tests/tips-n-tricks.txt
deleted file mode 100644
index e56d1c3..0000000
--- a/app/assets/json/tests/tips-n-tricks.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-Converting SELECT OPTIONS to meta (json) from console:
-Array.prototype.slice.call(document.querySelectorAll('[name="ref2selector"] option')).map(o => `{"id": "${o.value}", "label": "${o.innerHTML}"}`).join(",")
\ No newline at end of file
diff --git a/app/assets/json/threetobus/eventsMapping.json b/app/assets/json/threetobus/eventsMapping.json
new file mode 100644
index 0000000..d759cf1
--- /dev/null
+++ b/app/assets/json/threetobus/eventsMapping.json
@@ -0,0 +1,51 @@
+[
+ {
+ "chan": "gps:agents",
+ "events": [
+ {
+ "eventName": "moving",
+ "mappings": [
+ {
+ "id": "aid",
+ "assign": {
+ "position.x": "coords.x",
+ "position.z": "coords.y"
+ },
+ "animate": true
+ }
+ ]
+ },
+ {
+ "eventName": "rotating",
+ "mappings": [
+ {
+ "id": "aid",
+ "assign": {
+ "r": "rotangle"
+ },
+ "animate": true
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "chan": "agent:*",
+ "events": [
+ {
+ "eventName": "aging",
+ "mappings": [
+ {
+ "id": "aid",
+ "assign": {
+ "fill": {
+ "arguments": ["age"],
+ "transformer": "rgb(${Math.round(255 * age / 10)},0,${Math.round(255 * (1 - age / 10))})"
+ }
+ }
+ }
+ ]
+ }
+ ]
+ }
+]
diff --git a/app/assets/json/workflows/wf-coaching-admin.json b/app/assets/json/workflows/wf-coaching-admin.json
deleted file mode 100644
index 6ad51a7..0000000
--- a/app/assets/json/workflows/wf-coaching-admin.json
+++ /dev/null
@@ -1,65 +0,0 @@
-{
- "entities": [
- {
- "title": "",
- "subtitle": "Priorities",
- "severity": "info",
- "badge": 42,
- "data": {
- "id": "priorities"
- }
- },
- {
- "title": "",
- "subtitle": "Coach selection",
- "severity": "primary",
- "badge": 65,
- "data": {
- "id": "invitations"
- }
- },
- {
- "title": "",
- "subtitle": "Plan definition",
- "badge": 2,
- "severity": "primary",
- "data": {
- "id": "plans"
- }
- },
- {
- "title": "",
- "subtitle": "Timesheet",
- "severity": "primary",
- "badge": 27,
- "data": {
- "id": "timesheets"
- }
- },
- {
- "title": "",
- "subtitle": "Evaluation",
- "severity": "primary",
- "badge": 69,
- "data": {
- "id": "evaluations"
- }
- },
- {
- "title": "",
- "subtitle": "Closed",
- "severity": "success",
- "badge": 259,
- "data": {
- "id": "closed"
- }
- }
- ],
- "relations": [
- { "source": "priorities", "target": "invitations" },
- { "source": "invitations", "target": "plans" },
- { "source": "plans", "target": "timesheets" },
- { "source": "timesheets", "target": "evaluations" },
- { "source": "evaluations", "target": "closed" }
- ]
-}
\ No newline at end of file
diff --git a/app/assets/json/workflows/wf-coaching-applicant.json b/app/assets/json/workflows/wf-coaching-applicant.json
deleted file mode 100644
index ef017ad..0000000
--- a/app/assets/json/workflows/wf-coaching-applicant.json
+++ /dev/null
@@ -1,53 +0,0 @@
-{
- "entities": [
- {
- "title": "",
- "subtitle": "Priorities",
- "severity": "primary",
- "data": {
- "id": "priorities"
- }
- },
- {
- "title": "",
- "subtitle": "Coach selection",
- "severity": "primary",
- "data": {
- "id": "invitations"
- }
- },
- {
- "title": "",
- "subtitle": "Coaching plan",
- "badge": "!",
- "severity": "accent",
- "data": {
- "id": "plan"
- }
- },
- {
- "title": "",
- "subtitle": "Timesheet",
- "severity": "secondary",
- "data": {
- "id": "timesheet"
- }
- },
- {
- "title": "",
- "subtitle": "Evaluation",
- "severity": "secondary",
- "data": {
- "id": "evaluation"
- }
- },
- {
- "title": "",
- "subtitle": "Closed",
- "severity": "secondary",
- "data": {
- "id": "closed"
- }
- }
- ]
-}
\ No newline at end of file
diff --git a/app/assets/json/workflows/wf-mailings.json b/app/assets/json/workflows/wf-mailings.json
deleted file mode 100644
index 444a9d6..0000000
--- a/app/assets/json/workflows/wf-mailings.json
+++ /dev/null
@@ -1,66 +0,0 @@
-{
- "entities": [
- {
- "title": "",
- "subtitle": "Creation",
- "severity": "secondary",
- "badge": null,
- "data": {
- "id": "start"
- }
- },
- {
- "title": "",
- "subtitle": "Content",
- "severity": "secondary",
- "badge": null,
- "data": {
- "id": "template"
- }
- },
- {
- "title": "",
- "subtitle": "Recipients",
- "severity": "secondary",
- "badge": null,
- "data": {
- "id": "recipients"
- }
- },
- {
- "title": "",
- "subtitle": "Data Mapping",
- "severity": "secondary",
- "badge": null,
- "data": {
- "id": "mappings"
- }
- },
- {
- "title": "",
- "subtitle": "Review",
- "severity": "secondary",
- "badge": null,
- "data": {
- "id": "approval"
- }
- },
- {
- "title": "",
- "subtitle": "Expedition",
- "severity": "secondary",
- "badge": null,
- "data": {
- "id": "schedule"
- }
- }
- ],
- "relations": [
- { "source": "start", "target": "template" },
- { "source": "start", "target": "recipients" },
- { "source": "template", "target": "mappings" },
- { "source": "recipients", "target": "mappings" },
- { "source": "mappings", "target": "approval" },
- { "source": "approval", "target": "schedule" }
- ]
- }
\ No newline at end of file
diff --git a/app/assets/json/workflows/wf-projects-funding.json b/app/assets/json/workflows/wf-projects-funding.json
deleted file mode 100644
index f32e4cd..0000000
--- a/app/assets/json/workflows/wf-projects-funding.json
+++ /dev/null
@@ -1,123 +0,0 @@
-{
- "entities": [
- {
- "title": "Evaluations",
- "subtitle": "",
- "severity": "secondary",
- "data": {
- "id": "eval"
- }
- },
- {
- "title": "Tech DDs",
- "subtitle": "",
- "severity": "primary",
- "data": {
- "id": "techdd"
- },
- "child": {
- "entities": [
- {
- "title": "Draft",
- "subtitle": "",
- "severity": "secondary",
- "data": {
- "id": "draft"
- }
- },
- {
- "title": "Reopened",
- "subtitle": "",
- "severity": "secondary",
- "data": {
- "id": "reopen"
- }
- },
- {
- "title": "Integrity check",
- "subtitle": "",
- "severity": "secondary",
- "data": {
- "id": "integrity"
- }
- },
- {
- "title": "EIB Consultation",
- "subtitle": "",
- "severity": "secondary",
- "data": {
- "id": "eib"
- }
- },
- {
- "title": "Review",
- "subtitle": "",
- "severity": "secondary",
- "data": {
- "id": "review"
- }
- },
- {
- "title": "Approval",
- "subtitle": "",
- "severity": "secondary",
- "data": {
- "id": "approval"
- }
- },
- {
- "title": "Finalized",
- "subtitle": "",
- "severity": "secondary",
- "data": {
- "id": "finalized"
- }
- }
-
- ],
- "relations": [
- { "source": "draft", "target": "integrity" }
- ]
- }
- },
- {
- "title": "GAP",
- "subtitle": "",
- "severity": "secondary",
- "data": {
- "id": "gap"
- }
- },
- {
- "title": "KYC",
- "subtitle": "",
- "severity": "secondary",
- "data": {
- "id": "kyc"
- }
- },
- {
- "title": "Progress Meetings",
- "subtitle": "",
- "severity": "secondary",
- "data": {
- "id": "meeting"
- }
- },
- {
- "title": "Final",
- "subtitle": "",
- "severity": "secondary",
- "data": {
- "id": "final"
- }
- }
- ],
- "relations": [
- { "source": "eval", "target": "gap" },
- { "source": "eval", "target": "techdd" },
- { "source": "techdd", "target": "kyc" },
- { "source": "kyc", "target": "meeting" },
- { "source": "meeting", "target": "final" }
- ]
-}
\ No newline at end of file
diff --git a/app/assets/json/workflows/wf-templates.json b/app/assets/json/workflows/wf-templates.json
deleted file mode 100644
index 3c3a554..0000000
--- a/app/assets/json/workflows/wf-templates.json
+++ /dev/null
@@ -1,64 +0,0 @@
-{
- "entities": [
- {
- "title": "",
- "subtitle": "Create",
- "severity": "secondary",
- "badge": null,
- "data": {
- "id": "start"
- }
- },
- {
- "title": "",
- "subtitle": "Clone",
- "severity": "secondary",
- "badge": null,
- "data": {
- "id": "start"
- }
- },
- {
- "title": "",
- "subtitle": "Edit",
- "severity": "secondary",
- "badge": null,
- "data": {
- "id": "edit"
- }
- },
- {
- "title": "",
- "subtitle": "Submit",
- "severity": "secondary",
- "badge": null,
- "data": {
- "id": "submit"
- }
- },
- {
- "title": "",
- "subtitle": "Approval",
- "severity": "secondary",
- "badge": null,
- "data": {
- "id": "approval"
- }
- },
- {
- "title": "",
- "subtitle": "Reject",
- "severity": "secondary",
- "badge": null,
- "data": {
- "id": "reject"
- }
- }
- ],
- "relations": [
- { "source": "start", "target": "edit" },
- { "source": "edit", "target": "submit" },
- { "source": "submit", "target": "reject" },
- { "source": "submit", "target": "approval" }
- ]
- }
\ No newline at end of file
diff --git a/app/assets/styles/app.css b/app/assets/styles/app.css
index db71032..f15a56c 100755
--- a/app/assets/styles/app.css
+++ b/app/assets/styles/app.css
@@ -47,7 +47,7 @@ body[eicapp] {
left: 0;
top: calc(var(--eicui-app-header-height) + var(--eicui-app-top-message-height));
z-index: 10;
- box-shadow: 0 0 20px #0000004d;
+ box-shadow: 0 0 13px rgba(147, 255, 255, 0.55);
}
[eicapp] footer {
@@ -59,6 +59,7 @@ body[eicapp] {
position: fixed;
top: var(--eicui-app-toolbar-height-active);
z-index: 99;
+ box-shadow: 0 10px 13px rgba(147, 255, 255, 0.55);
}
[eicapp] .app-workspace {
display: grid;
@@ -88,7 +89,7 @@ body[eicapp] {
position: fixed;
padding: 3px;
background: var(--app-color-secondary);
- box-shadow: 0 0 20px rgba(147, 255, 255, 0.55);
+ box-shadow: 0 0 13px rgba(147, 255, 255, 0.55);
right: auto;
bottom: auto;
overflow: hidden;
@@ -232,7 +233,7 @@ body[eicapp] {
pointer-events: none;
}
[eicapp] .app-content-thesaurus [eicchip] {
- box-shadow: 0px 0px 14px 0px #00000066;
+ box-shadow: 0px 0px 13px 0px rgba(147, 255, 255, 0.55);
cursor: pointer;
background: var(--app-color-primary);
}
diff --git a/app/assets/styles/intro.css b/app/assets/styles/intro.css
index 13528e2..5333454 100644
--- a/app/assets/styles/intro.css
+++ b/app/assets/styles/intro.css
@@ -139,7 +139,7 @@ body {
bottom: 15vh;
color: aliceblue;
font-style: italic;
- font-size: 2rem;
+ font-size: 1.5rem;
border-radius: 100px;
padding: 5px 40px;
background: radial-gradient(#82cc50, #0a8200);
diff --git a/app/controllers/dashboard/DashboardsController.js b/app/controllers/dashboard/DashboardsController.js
index 1045c69..29ff368 100644
--- a/app/controllers/dashboard/DashboardsController.js
+++ b/app/controllers/dashboard/DashboardsController.js
@@ -3,6 +3,7 @@ class DashboardsController extends EICController {
constructor(params) {
super(params)
this.agentDefs = app.Assets.Store.json.agentDefs
+ this.eventsMapping = app.Assets.Store.json.eventsMapping
}
/**
@@ -13,10 +14,16 @@ class DashboardsController extends EICController {
const models = {
}
- const ttb = new app.LoadedModules.Threetobus()
- ttb.initScene()
- const m1 = ttb.buildFromJSON(this.agentDefs.molecule1)
- m1.name = 'agent42'
+ const ttb = new app.LoadedModules.Threetobus({
+ eventsMapping: this.eventsMapping,
+ })
+ ttb.initScene({
+ axes: true,
+ grid: true,
+ })
+
+ console.log('===CTRL molecule1==>', this.agentDefs.molecule1)
+ const m1 = ttb.buildFromJSON('agent42', this.agentDefs.molecule1)
ttb.scene.add(m1)
// setTimeout(() => {
// ttb.smoothRelMove({
@@ -30,6 +37,17 @@ class DashboardsController extends EICController {
// })
// },3000)
+ //TODO : side switches
+ // window.addEventListener('keydown', (e) => {
+ // if (e.key.toLowerCase() === 'g') {
+ // ttb.grid.visible = !grid.visible
+ // }
+ // if (e.key.toLowerCase() === 'a') {
+ // ttb.axes.visible = !axes.visible
+ // }
+ // })
+
+
this.loadWindow(
'visualisers/SpaceView',
{
diff --git a/app/controllers/dashboard/DashboardsController.json b/app/controllers/dashboard/DashboardsController.json
index f6074b1..b2bbacc 100644
--- a/app/controllers/dashboard/DashboardsController.json
+++ b/app/controllers/dashboard/DashboardsController.json
@@ -25,7 +25,8 @@
"styles": [
],
"json": [
- {"id":"agentDefs", "name": "agents/basic3D.json"}
+ {"id":"agentDefs", "name": "agents/basic3D.json"},
+ {"id":"eventsMapping", "name": "threetobus/eventsMapping.json"}
]
}
}
\ No newline at end of file
diff --git a/app/thirdparty/Threetobus/threetobus.module.js b/app/thirdparty/Threetobus/threetobus.module.js
index 777f9ee..73e87ea 100644
--- a/app/thirdparty/Threetobus/threetobus.module.js
+++ b/app/thirdparty/Threetobus/threetobus.module.js
@@ -4,17 +4,157 @@ import * as TWEEN from './tween.module.js'
export class Threetobus{
- constructor(){
+ constructor(options){
+ this._curEventsMapping = []
+ this._stagedEventsMapping = options.eventsMapping
+ this.commitConfig()
+
this.cameras = {}
this.renderers = []
}
- initScene(){
+ get EventsMapping() { return this._stagedEventsMapping }
+ get liveEventsMapping() { return this._curEventsMapping }
+ set EventsMapping(newConfig) { this._stagedEventsMapping = newConfig }
+
+ async commitConfig(){
+ const chansToAdd = []
+ const chansToKeep = []
+ for(const chanObj of this._stagedEventsMapping){
+ console.log('staged chan:',chanObj.chan,' current ones:', this._curEventsMapping.map(item => item.chan))
+ if(this._curEventsMapping.map(item => item.chan).includes(chanObj.chan)) chansToKeep.push(chanObj)
+ else chansToAdd.push(chanObj)
+ }
+ const chansToDel = this._curEventsMapping.filter(item => (!chansToKeep.map(c=>c.chan).includes(item.chan) && !chansToAdd.map(c=>c.chan).includes(item.chan)))
+ await app.MessageBus.subscribe(chansToAdd.map(item => item.chan))
+ await app.MessageBus.unSubscribe(chansToDel.map(item => item.chan))
+ // console.log('subscribe:', chansToAdd.map(item => item.chan))
+ // console.log('unSubscribe:', chansToDel)
+
+ const eventsToAdd = chansToAdd.flatMap(item => item.events.map(ev => ({ chan:item.chan, eventName:ev.eventName })))
+ let eventsToDel = []//= chansToDel.flatMap(item => item.events.map(ev => ({ chan:item.chan, eventName:ev.eventName })))
+ for(const oldChan of this._curEventsMapping){
+ for(const oldEvent of oldChan.events){
+ for(const keepChan of chansToKeep){
+ if(!keepChan.events.map(item=>item.eventName).includes(oldEvent.eventName)) eventsToDel.push({chan: oldChan.chan, eventName: oldEvent.eventName})
+ }
+ }
+ }
+
+ // console.log('eventsToAdd:', eventsToAdd)
+ // console.log('eventsToDel:', eventsToDel)
+ for(const eventToAdd of eventsToAdd){
+ app.MessageBus.addBusListener(eventToAdd.eventName, [eventToAdd.chan], this.processBusEvent.bind(this, eventToAdd.eventName,), 'threetobus')
+ }
+ for(const eventToDel of eventsToDel){
+ app.MessageBus.removeBusListener(eventToDel.eventName, this.processBusEvent.bind(this, eventToDel.eventName), 'threetobus')
+ }
+
+ this._curEventsMapping = this.deepClone(this._stagedEventsMapping)
+ }
+
+ deepClone(obj) { // Needed because structuredClone doesn't take functions (and we have transformers)
+ if (obj === null || typeof obj !== 'object') {
+ return obj
+ }
+ if (Array.isArray(obj)) {
+ return obj.map((el => this.deepClone(el)))
+ }
+ const clone = {}
+ for (const key in obj) {
+ clone[key] = this.deepClone(obj[key])
+ }
+ return clone
+ }
+
+
+ processBusEvent(eventType, chan, payload, userId, x){
+ console.log('processBusEvent====>',eventType, chan, payload, userId)
+ const chanObj = this._curEventsMapping.find(item => item.chan==chan)
+ if(!chanObj) return
+ console.log('processBusEvent====>chanObj', chanObj)
+ const eventObj = chanObj.events.find(item => item.eventName==eventType)
+ if(!eventObj) return
+ console.log('processBusEvent====>eventObj', eventObj)
+
+ for(const mapping of eventObj.mappings){
+ const id = this.getValueByPath(payload, mapping.id)
+ console.log('agent ID:', id)
+
+ if(id){
+ const obj3D = this.scene.getObjectByName(id)
+ this.assignFromConfig(payload, mapping.assign, obj3D)
+ }
+
+
+ // console.log(`found ${mappings.length} mappings`)
+ // mappings.forEach(snapEl => {
+ // const newAttr = this.assignFromConfig(payload, mapping.assign)
+ // if(mapping.animate){
+ // snapEl.animate(
+ // newAttr,
+ // 400,
+ // mina.linear
+ // )
+ // } else {
+ // snapEl.attr(newAttr)
+ // }
+ // })
+ }
+ }
+
+ assignFromConfig(payload, replaceDef, obj3D) {
+ console.log('assignFromConfig', payload, replaceDef)
+ for (const [path, rule] of Object.entries(replaceDef)) {
+ let value
+ if (typeof rule === 'string') { // plain path
+ value= this.getValueByPath(payload, rule)
+
+ } else if((typeof(rule) == 'object') && (typeof(rule.transformer) == 'function')) { // transformer
+ const fnargs = (rule.arguments || []).map(arg => this.getValueByPath(payload,arg))
+ value = rule.transformer(...fnargs)
+ }
+
+ console.log('====>',path ,value)
+ if (value !== undefined) {
+ this.setProp(obj3D, path, value)
+ }
+ }
+ }
+
+ setProp(obj3D, path, value) { console.log('====>setProp', path, value)
+ const parts = path.split('.')
+ let target = obj3D
+ for (let i = 0; i < parts.length - 1; i++) {
+ target = target[parts[i]]
+ if (!target) return // path broken
+ }
+ const last = parts[parts.length - 1]
+
+ // Handle Three.Color objects
+ if (target[last] && target[last].isColor) {
+ target[last].set(value)
+ } else {
+ target[last] = value
+ }
+ }
+
+ getValueByPath(obj, path) {
+ return(path.split('.').reduce((acc, key) => acc?.[key], obj))
+ }
+
+ initScene(options){
// Scene
this.scene = new THREE.Scene()
- this.grid = new THREE.GridHelper(20, 20, 0x8888AA, 0x8888AA)
- this.scene.add(this.grid)
+ if(options.grid){
+ this.grid = new THREE.GridHelper(20, 20, 0x8888AA, 0x8888AA)
+ this.scene.add(this.grid)
+ }
+ if(options.axes){
+ this.axes = new THREE.AxesHelper(5, 5)
+ this.scene.add(this.axes)
+ }
// Cameras
this.cameras.camPerspective = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000)
@@ -47,15 +187,14 @@ export class Threetobus{
renderEngine = new RenderingEngine(canvasEl, this.scene, this.cameras.cam2Dtop)
} else if(mode=='3D') {
renderEngine = new RenderingEngine(canvasEl, this.scene, this.cameras.camPerspective)
- renderEngine.addControls()
} else console.error('Unknown rendering mode !')
-
+ renderEngine.addControls(mode)
renderEngine.render()
this.renderers.push(renderEngine)
}
- buildFromJSON(desc){
+ buildFromJSON(id, desc){ console.log('===buildFromJSON molecule1==>', desc)
let obj
if(desc.type === 'Mesh') {
const geom = new THREE[desc.geometry.type](...(desc.geometry.args || []))
@@ -75,14 +214,14 @@ export class Threetobus{
// Recursively add children
if(desc.children) {
desc.children.forEach(childDesc => {
- obj.add(this.buildFromJSON(childDesc))
+ const childId = (childDesc.idSuffix) ? `${id}_${childDesc.idSuffix}` : ''
+ obj.add(this.buildFromJSON(childId, childDesc))
})
}
-
+ obj.name = id
return obj
}
-
smoothRelMove(options){
// options: object, dX, dY, dZ, delay, easing, easingMode
// easings: Linear, Quadratic, Cubic, Quartic, Quintic, Sinusoidal, Exponential, Circular, Elastic, Back, Bounce
@@ -110,13 +249,19 @@ class RenderingEngine{
this.camera = camera
}
- addControls(){
+ addControls(mode){
this.controls = new OrbitControls(this.camera, this.canvasEl)
- window.addEventListener('resize', () => {
- this.camera.aspect = window.innerWidth / window.innerHeight
- this.camera.updateProjectionMatrix()
- this.renderer.setSize(window.innerWidth, window.innerHeight)
- })
+ if(mode=='2D'){
+ this.controls.maxPolarAngle = 0 // Math.PI / 2
+ this.controls.minPolarAngle = 0 // Math.PI / 2
+ } else if(mode=='3D'){
+ }
+
+ this.controls.mouseButtons = {
+ LEFT: THREE.MOUSE.ROTATE, // keep orbit on left
+ MIDDLE: THREE.MOUSE.PAN, // pan with middle-click
+ RIGHT: THREE.MOUSE.DOLLY // zoom with right-click
+ }
}
render() {