{
    "proxyUrl": {
        "url": "proxy/?url=",
        "useCORS": []
    },
    "geoNodeApi": {
        "endpointV1": "/api",
        "endpointV2": "/api/v2"
    },
    "mapLayout": {
        "preview": {
            "left": {
                "sm": 350,
                "md": 500,
                "lg": 600
            },
            "right": {
                "md": "41%"
            },
            "bottom": {
                "sm": 0
            }
        },
        "viewer": {
            "left": {
                "sm": 350,
                "md": 500,
                "lg": 600
            },
            "right": {
                "md": 550
            },
            "bottom": {
                "sm": 30
            }
        }
    },
    "monitorState": [
        {
            "name": "router",
            "path": "router.location.pathname"
        },
        {
            "name": "browser",
            "path": "browser"
        },
        {
            "name": "settings",
            "path": "gnsettings"
        },
        {
            "name": "user",
            "path": "security.user"
        },
        {
            "name": "geoNodeResourcesInfo",
            "path": "localConfig.geoNodeResourcesInfo"
        },
        {
            "name": "selectedLayerPermissions",
            "path": "gnresource.selectedLayerPermissions"
        },
        {
            "name": "gnResourceData",
            "path": "gnresource.data"
        },
        {
            "name": "gnResourceInitialData",
            "path": "gnresource.initialResource"
        },
        {
            "name": "isNewResource",
            "path": "gnresource.isNew"
        },
        {
            "name": "printEnabled",
            "path": "print.capabilities"
        },
        {
            "name": "resourceParams",
            "path": "gnresource.params"
        },
        {
            "name": "gnResourceLinkedViewer",
            "path": "gnresource.viewerLinkedResource"
        },
        {
            "name": "selectedLayer",
            "path": "gnresource.selectedLayer"
        }
    ],
    "projectionDefs": [],
    "supportedLocales": {
        "en": {
            "code": "en-US",
            "description": "English"
        },
        "it": {
            "code": "it-IT",
            "description": "Italiano"
        },
        "fr": {
            "code": "fr-FR",
            "description": "Français"
        },
        "de": {
            "code": "de-DE",
            "description": "Deutsch"
        },
        "es": {
            "code": "es-ES",
            "description": "Español"
        }
    },
    "mapType": {
        "defaultVisualizationMode": "2D",
        "visualizationModes": {
            "2D": {
                "desktop": "openlayers",
                "mobile": "openlayers"
            },
            "3D": {
                "desktop": "cesium",
                "mobile": "cesium"
            }
        }
    },
    "plugins": {
        "dataset_preview": [
            {
                "name": "Map",
                "cfg": {
                    "shouldLoadFont": false,
                    "tools": [
                        "popup"
                    ],
                    "mapOptions": {
                        "openlayers": {
                            "attribution": {
                                "container": "#footer-attribution-container"
                            },
                            "interactions": {
                                "pinchRotate": false,
                                "altShiftDragRotate": false
                            }
                        }
                    }
                }
            },
            {
                "name": "Identify",
                "cfg": {
                    "showInMapPopup": true,
                    "viewerOptions": {
                        "container": "{context.ReactSwipe}"
                    }
                }
            },
            {
                "name": "Toolbar",
                "id": "NavigationBar",
                "cfg": {
                    "id": "navigationBar"
                }
            },
            {
                "name": "ZoomIn",
                "override": {
                    "Toolbar": {
                        "alwaysVisible": true
                    }
                }
            },
            {
                "name": "ZoomOut",
                "override": {
                    "Toolbar": {
                        "alwaysVisible": true
                    }
                }
            },
            {
                "name": "MapFooter"
            },
            {
                "name": "Notifications"
            },
            {
                "name": "Timeline"
            },
            {
                "name": "Playback"
            }
        ],
        "map_preview": [
            {
                "name": "Map",
                "cfg": {
                    "shouldLoadFont": false,
                    "tools": [
                        "popup"
                    ],
                    "mapOptions": {
                        "openlayers": {
                            "attribution": {
                                "container": "#footer-attribution-container"
                            },
                            "interactions": {
                                "pinchRotate": false,
                                "altShiftDragRotate": false
                            }
                        }
                    }
                }
            },
            {
                "name": "Identify",
                "cfg": {
                    "showInMapPopup": true,
                    "viewerOptions": {
                        "container": "{context.ReactSwipe}"
                    }
                }
            },
            {
                "name": "Toolbar",
                "id": "NavigationBar",
                "cfg": {
                    "id": "navigationBar"
                }
            },
            {
                "name": "ZoomIn",
                "override": {
                    "Toolbar": {
                        "alwaysVisible": true
                    }
                }
            },
            {
                "name": "ZoomOut",
                "override": {
                    "Toolbar": {
                        "alwaysVisible": true
                    }
                }
            },
            {
                "name": "MapFooter"
            },
            {
                "name": "Timeline"
            },
            {
                "name": "Playback"
            }
        ],
        "dataset_embed": [
            {
                "name": "Map",
                "cfg": {
                    "shouldLoadFont": false,
                    "tools": [],
                    "mapOptions": {
                        "openlayers": {
                            "attribution": {
                                "container": "#footer-attribution-container"
                            },
                            "interactions": {
                                "pinchRotate": false,
                                "altShiftDragRotate": false
                            }
                        }
                    }
                }
            },
            {
                "name": "Identify",
                "cfg": {
                    "viewerOptions": {
                        "container": "{context.ReactSwipe}"
                    }
                }
            },
            {
                "name": "Toolbar",
                "id": "NavigationBar",
                "cfg": {
                    "id": "navigationBar",
                    "layout": "horizontal"
                }
            },
            {
                "name": "MapLoading",
                "override": {
                    "Toolbar": {
                        "alwaysVisible": true
                    }
                }
            },
            {
                "name": "ZoomAll",
                "override": {
                    "Toolbar": {
                        "alwaysVisible": false
                    }
                }
            },
            {
                "name": "ZoomIn",
                "override": {
                    "Toolbar": {
                        "alwaysVisible": true
                    }
                }
            },
            {
                "name": "ZoomOut",
                "override": {
                    "Toolbar": {
                        "alwaysVisible": true
                    }
                }
            },
            {
                "name": "Expander"
            },
            {
                "name": "MapFooter"
            },
            {
                "name": "Notifications"
            },
            {
                "name": "Timeline"
            },
            {
                "name": "Playback"
            }
        ],
        "map_embed": [
            {
                "name": "Map",
                "cfg": {
                    "shouldLoadFont": false,
                    "tools": [],
                    "mapOptions": {
                        "openlayers": {
                            "attribution": {
                                "container": "#footer-attribution-container"
                            },
                            "interactions": {
                                "pinchRotate": false,
                                "altShiftDragRotate": false
                            }
                        }
                    }
                }
            },
            {
                "name": "Identify",
                "cfg": {
                    "viewerOptions": {
                        "container": "{context.ReactSwipe}"
                    }
                }
            },
            {
                "name": "Toolbar",
                "id": "NavigationBar",
                "cfg": {
                    "id": "navigationBar",
                    "layout": "horizontal"
                }
            },
            {
                "name": "MapLoading",
                "override": {
                    "Toolbar": {
                        "alwaysVisible": true
                    }
                }
            },
            {
                "name": "ZoomAll",
                "override": {
                    "Toolbar": {
                        "alwaysVisible": false
                    }
                }
            },
            {
                "name": "ZoomIn",
                "override": {
                    "Toolbar": {
                        "alwaysVisible": true
                    }
                }
            },
            {
                "name": "ZoomOut",
                "override": {
                    "Toolbar": {
                        "alwaysVisible": true
                    }
                }
            },
            {
                "name": "Expander"
            },
            {
                "name": "MapFooter"
            },
            {
                "name": "TOC",
                "cfg": {
                    "activateQueryTool": false,
                    "activateAddLayerButton": false,
                    "activateMetedataTool": false,
                    "activateSettingsTool": false,
                    "activateRemoveLayer": false,
                    "activateRemoveGroup": false,
                    "activateFilterLayer": false
                }
            },
            {
                "name": "DrawerMenu",
                "cfg": {
                    "menuOptions": {
                        "width": 350
                    }
                }
            },
            {
                "name": "Timeline"
            },
            {
                "name": "Playback"
            }
        ],
        "geostory_embed": [
            {
                "name": "GeoStory",
                "cfg": {
                    "hideIdentifyOptions": true,
                    "mediaEditorSettings": {
                        "sourceId": "geonode",
                        "mediaTypes": {
                            "image": {
                                "sources": [
                                    "geostory",
                                    "geonode"
                                ]
                            },
                            "video": {
                                "sources": [
                                    "geostory",
                                    "geonode"
                                ]
                            },
                            "map": {
                                "sources": [
                                    "geostory",
                                    "geonode"
                                ]
                            }
                        },
                        "sources": {
                            "geostory": {
                                "name": "geostory.storyResources",
                                "type": "geostory",
                                "addMediaEnabled": {
                                    "image": true,
                                    "video": true
                                },
                                "editMediaEnabled": {
                                    "image": true,
                                    "video": true
                                },
                                "removeMediaEnabled": {
                                    "image": true,
                                    "video": true,
                                    "map": true
                                }
                            },
                            "geonode": {
                                "name": "geostory.geoNode",
                                "type": "geonode"
                            }
                        }
                    }
                }
            },
            {
                "name": "GeoStoryNavigation",
                "cfg": {
                    "containerPosition": "header"
                }
            },
            {
                "name": "Notifications"
            }
        ],
        "dashboard_embed": [
            {
                "name": "Dashboard",
                "cfg": {
                    "minLayoutWidth": 768
                }
            }
        ],
        "document_embed": [
            {
                "name": "MediaViewer"
            }
        ],
        "dataset_viewer": [
            {
                "name": "ActionNavbar",
                "cfg": {
                    "containerPosition": "header",
                    "leftMenuItems": [
                        {
                            "type": "link",
                            "size": "md",
                            "href": "#/all",
                            "labelId": "gnviewer.allResources"
                        },
                        {
                            "type": "plugin",
                            "size": "md",
                            "name": "DetailViewerButton"
                        },
                        {
                            "labelId": "gnviewer.resource",
                            "showPendingChangesIcon": true,
                            "type": "dropdown",
                            "items": [
                                {
                                    "type": "plugin",
                                    "name": "Save",
                                    "disableIf": "{!state('isNewResource') && !context.resourceHasPermission(state('gnResourceData'), 'change_resourcebase') && !context.canCopyResource(state('gnResourceData'), state('user'))}"
                                },
                                {
                                    "type": "plugin",
                                    "name": "SaveAs",
                                    "disableIf": "{!state('isNewResource') && !context.resourceHasPermission(state('gnResourceData'), 'change_resourcebase') && !context.canCopyResource(state('gnResourceData'), state('user')) || (!state('selectedLayerPermissions').includes('download_resourcebase') || !context.resourceHasPermission(state('gnResourceData'), 'download_resourcebase'))}"
                                },
                                {
                                    "type": "divider",
                                    "disableIf": "{!state('isNewResource') && !context.resourceHasPermission(state('gnResourceData'), 'change_resourcebase') && !context.canCopyResource(state('gnResourceData'), state('user')) || (!state('selectedLayerPermissions').includes('download_resourcebase') || !context.resourceHasPermission(state('gnResourceData'), 'download_resourcebase'))}"
                                },
                                {
                                    "type": "plugin",
                                    "name": "Share"
                                },
                                {
                                    "type": "divider",
                                    "disableIf": "{state('isNewResource') || !context.resourceHasPermission(state('gnResourceData'), 'delete_resourcebase')}"
                                },
                                {
                                    "type": "plugin",
                                    "name": "DeleteResource",
                                    "disableIf": "{!context.resourceHasPermission(state('gnResourceData'), 'delete_resourcebase')}"
                                }
                            ]
                        },
                        {
                            "labelId": "gnviewer.view",
                            "type": "dropdown",
                            "items": [
                                {
                                    "type": "plugin",
                                    "name": "DetailViewerButton"
                                },
                                {
                                    "type": "link",
                                    "href": "{context.getMetadataDetailUrl(state('gnResourceData'))}",
                                    "labelId": "gnviewer.viewMetadata"
                                },
                                {
                                    "type": "link",
                                    "href": "{'#/dataset/' + (state('gnResourceData') || {}).pk + '/edit/data'}",
                                    "labelId": "gnviewer.viewData",
                                    "disableIf": "{state('gnResourceData') && ['raster', 'remote', '3dtiles'].includes(state('gnResourceData').subtype)}"
                                }
                            ]
                        },
                        {
                            "labelId": "gnviewer.edit",
                            "type": "dropdown",
                            "disableIf": "{!context.resourceHasPermission(state('gnResourceData'), 'change_resourcebase')}",
                            "items": [
                                {
                                    "type": "link",
                                    "href": "{'#/dataset/' + (state('gnResourceData') || {}).pk + '/edit/data'}",
                                    "labelId": "gnviewer.editData",
                                    "disableIf": "{!context.resourceHasPermission(state('gnResourceData'), 'change_dataset_data')}"
                                },
                                {
                                    "type": "link",
                                    "href": "{'#/dataset/' + (state('gnResourceData') || {}).pk + '/edit/style'}",
                                    "labelId": "gnviewer.editStyle",
                                    "disableIf": "{!context.resourceHasPermission(state('gnResourceData'), 'change_dataset_style')}"
                                },
                                {
                                    "type": "link",
                                    "href": "{context.getMetadataUrl(state('gnResourceData'))}",
                                    "labelId": "gnviewer.editMetadata"
                                },
                                {
                                    "type": "link",
                                    "href": "{'/datasets/' + (state('gnResourceData') || {}).alternate + '/style_upload'}",
                                    "labelId": "gnviewer.styleUpload",
                                    "disableIf": "{!context.resourceHasPermission(state('gnResourceData'), 'change_dataset_style')}"
                                },
                                {
                                    "type": "link",
                                    "href": "{'/datasets/' + (state('gnResourceData') || {}).alternate + '/metadata_upload'}",
                                    "labelId": "gnviewer.metadataUpload",
                                    "disableIf": "{state('gnResourceData').subtype === '3dtiles'}"
                                }
                            ]
                        },
                        {
                            "labelId": "gnviewer.download",
                            "disableIf": "{!state('selectedLayerPermissions').includes('download_resourcebase') || context.isDocumentExternalSource(state('gnResourceData'))}",
                            "type": "dropdown",
                            "items": [
                                {
                                    "type": "plugin",
                                    "name": "LayerDownload"
                                },
                                {
                                    "type": "plugin",
                                    "name": "IsoDownload"
                                },
                                {
                                    "type": "plugin",
                                    "name": "DublinCoreDownload"
                                }
                            ]
                        },
                        {
                            "type": "divider",
                            "disableIf": "{state('isNewResource')}"
                        },
                        {
                            "type": "plugin",
                            "name": "FilterLayer"
                        },
                        {
                            "type": "link",
                            "href": "{context.getCreateNewMapLink(state('gnResourceData'))}",
                            "labelId": "gnviewer.createMap",
                            "disableIf": "{!(state('user') && state('user').perms && state('user').perms.includes('add_resource'))}"
                        }
                    ],
                    "rightMenuItems": [
                        {
                            "type": "plugin",
                            "name": "FullScreen"
                        }
                    ]
                }
            },
            {
                "name": "SaveAs",
                "cfg": {
                    "disablePermission": true
                }
            },
            {
                "name": "Save",
                "cfg": {
                    "disablePermission": true
                }
            },
            {
                "name": "MapThumbnail"
            },
            {
                "name": "Share",
                "cfg": {
                    "containerPosition": "rightOverlay",
                    "enableGeoLimits": true
                }
            },
            {
                "name": "DetailViewer",
                "cfg": {
                    "containerPosition": "rightOverlay",
                    "tabs": [
                        {
                            "type": "tab",
                            "id": "info",
                            "labelId": "gnviewer.info",
                            "items": [
                                {
                                    "type": "text",
                                    "labelId": "gnviewer.title",
                                    "value": "{context.get(state('gnResourceData'), 'title')}"
                                },
                                {
                                    "type": "link",
                                    "labelId": "gnviewer.owner",
                                    "href": "{'/people/profile/' + context.get(state('gnResourceData'), 'owner.username')}",
                                    "value": "{context.getUserResourceName(context.get(state('gnResourceData'), 'owner'))}",
                                    "disableIf": "{!context.get(state('gnResourceData'), 'owner.username')}"
                                },
                                {
                                    "type": "date",
                                    "format": "YYYY-MM-DD HH:mm",
                                    "labelId": "{'gnviewer.'+context.get(state('gnResourceData'), 'date_type')}",
                                    "value": "{context.get(state('gnResourceData'), 'date')}"
                                },
                                {
                                    "type": "date",
                                    "format": "YYYY-MM-DD HH:mm",
                                    "labelId": "gnviewer.created",
                                    "value": "{context.get(state('gnResourceData'), 'created')}"
                                },
                                {
                                    "type": "date",
                                    "format": "YYYY-MM-DD HH:mm",
                                    "labelId": "gnviewer.lastModified",
                                    "value": "{context.get(state('gnResourceData'), 'last_updated')}"
                                },
                                {
                                    "type": "query",
                                    "labelId": "gnviewer.resourceType",
                                    "value": "{context.get(state('gnResourceData'), 'resource_type')}",
                                    "pathname": "/",
                                    "query": {
                                        "f": "{context.get(state('gnResourceData'), 'resource_type')}"
                                    }
                                },
                                {
                                    "type": "{context.isDocumentExternalSource(state('gnResourceData')) ? 'link' : 'text'}",
                                    "labelId": "gnviewer.sourceType",
                                    "value": "{context.get(state('gnResourceData'), 'sourcetype', '').toLowerCase()}",
                                    "href": "{context.get(state('gnResourceData'), 'href')}"
                                },
                                {
                                    "type": "query",
                                    "labelId": "gnviewer.category",
                                    "value": "{context.get(state('gnResourceData'), 'category.gn_description')}",
                                    "pathname": "/",
                                    "query": {
                                        "filter{category.identifier}": "{context.get(state('gnResourceData'), 'category.identifier')}"
                                    }
                                },
                                {
                                    "type": "link",
                                    "labelId": "gnviewer.pointOfContact",
                                    "value": "{context.getUserResourceNames(context.get(state('gnResourceData'), 'poc'))}",
                                    "disableIf": "{!context.get(state('gnResourceData'), 'poc')}"
                                },
                                {
                                    "type": "query",
                                    "labelId": "gnviewer.keywords",
                                    "value": "{context.get(state('gnResourceData'), 'keywords')}",
                                    "valueKey": "name",
                                    "pathname": "/",
                                    "queryTemplate": {
                                        "filter{keywords.slug.in}": "${slug}"
                                    }
                                },
                                {
                                    "type": "query",
                                    "labelId": "gnviewer.regions",
                                    "value": "{context.get(state('gnResourceData'), 'regions')}",
                                    "valueKey": "name",
                                    "pathname": "/",
                                    "queryTemplate": {
                                        "filter{regions.code.in}": "${code}"
                                    }
                                },
                                {
                                    "type": "text",
                                    "labelId": "gnviewer.attribution",
                                    "value": "{context.get(state('gnResourceData'), 'attribution')}"
                                },
                                {
                                    "type": "text",
                                    "labelId": "gnviewer.language",
                                    "value": "{context.get(state('gnResourceData'), 'language')}"
                                },
                                {
                                    "type": "html",
                                    "labelId": "gnviewer.supplementalInformation",
                                    "value": "{context.get(state('gnResourceData'), 'supplemental_information')}"
                                },
                                {
                                    "type": "date",
                                    "format": "YYYY-MM-DD HH:mm",
                                    "labelId": "gnviewer.temporalExtent",
                                    "value": {
                                        "start": "{context.get(state('gnResourceData'), 'temporal_extent_start')}",
                                        "end": "{context.get(state('gnResourceData'), 'temporal_extent_end')}"
                                    }
                                },
                                {
                                    "type": "link",
                                    "style": "label",
                                    "labelId": "gnviewer.viewFullMetadata",
                                    "href": "{context.getMetadataDetailUrl(state('gnResourceData'))}",
                                    "disableIf": "{!context.getMetadataDetailUrl(state('gnResourceData'))}"
                                }
                            ]
                        },
                        {
                            "type": "locations",
                            "id": "locations",
                            "labelId": "gnviewer.locations",
                            "items": "{({extent: context.get(state('gnResourceData'), 'extent')})}"
                        },
                        {
                            "type": "attribute-table",
                            "id": "attributes",
                            "labelId": "gnviewer.attributes",
                            "disableIf": "{context.get(state('gnResourceData'), 'resource_type') !== 'dataset'}",
                            "items": "{context.get(state('gnResourceData'), 'attribute_set')}"
                        },
                        {
                            "type": "linked-resources",
                            "id": "related",
                            "labelId": "gnviewer.linkedResources.label",
                            "items": "{context.get(state('gnResourceData'), 'linkedResources')}"
                        },
                        {
                            "type": "assets",
                            "id": "assets",
                            "labelId": "gnviewer.assets",
                            "items": "{context.get(state('gnResourceData'), 'assets')}"
                        }
                    ]
                }
            },
            {
                "name": "DeleteResource"
            },
            {
                "name": "DownloadResource"
            },
            {
                "name": "Map",
                "cfg": {
                    "tools": [
                        "draw",
                        "box"
                    ],
                    "mapOptions": {
                        "openlayers": {
                            "attribution": {
                                "container": "#footer-attribution-container"
                            },
                            "interactions": {
                                "pinchRotate": false,
                                "altShiftDragRotate": false
                            }
                        }
                    }
                }
            },
            {
                "name": "BackgroundSelector"
            },
            {
                "name": "Identify",
                "cfg": {
                    "viewerOptions": {
                        "container": "{context.ReactSwipe}"
                    }
                }
            },
            {
                "name": "Toolbar",
                "id": "NavigationBar",
                "cfg": {
                    "id": "navigationBar",
                    "layout": "horizontal"
                }
            },
            {
                "name": "MapLoading",
                "override": {
                    "Toolbar": {
                        "alwaysVisible": true
                    }
                }
            },
            {
                "name": "OmniBar"
            },
            {
                "name": "Expander"
            },
            {
                "name": "MapFooter"
            },
            {
                "name": "Measure"
            },
            {
                "name": "FullScreen"
            },
            {
                "name": "Print",
                "cfg": {
                    "useFixedScales": true,
                    "mapWidth": 256,
                    "outputFormatOptions": {
                        "allowedFormats": [
                            {
                                "value": "pdf",
                                "name": "PDF"
                            },
                            {
                                "value": "png",
                                "name": "PNG"
                            },
                            {
                                "value": "jpg",
                                "name": "JPEG"
                            }
                        ]
                    }
                }
            },
            {
                "name": "PrintScale",
                "override": {
                    "Print": {
                        "position": 4
                    }
                }
            },
            {
                "name": "PrintGraticule",
                "override": {
                    "Print": {
                        "position": 5
                    }
                },
                "cfg": {
                    "frame": 0.07,
                    "style": {
                        "color": "#000000",
                        "weight": 1,
                        "lineDash": [
                            0.5,
                            4
                        ],
                        "opacity": 0.5
                    },
                    "frameStyle": {
                        "color": "#000000",
                        "weight": 1,
                        "fillColor": "#FFFFFF"
                    },
                    "labelXStyle": {
                        "color": "#000000",
                        "font": "sans-serif",
                        "fontWeight": "bold",
                        "fontSize": "20",
                        "labelOutlineColor": "#FFFFFF",
                        "labelOutlineWidth": 2
                    },
                    "labelYStyle": {
                        "color": "#000000",
                        "font": "sans-serif",
                        "fontWeight": "bold",
                        "fontSize": "20",
                        "labelOutlineColor": "#FFFFFF",
                        "labelOutlineWidth": 2,
                        "rotation": 90,
                        "verticalAlign": "top",
                        "textAlign": "center"
                    }
                }
            },
            {
                "name": "ZoomIn",
                "override": {
                    "Toolbar": {
                        "alwaysVisible": true
                    }
                }
            },
            {
                "name": "ZoomOut",
                "override": {
                    "Toolbar": {
                        "alwaysVisible": true
                    }
                }
            },
            {
                "name": "Timeline"
            },
            {
                "name": "Playback"
            },
            {
                "name": "IsoDownload"
            },
            {
                "name": "DublinCoreDownload"
            },
            {
                "name": "LayerDownload",
                "cfg": {
                    "disablePluginIf": "{!state('selectedLayerPermissions').includes('download_resourcebase')}",
                    "hideServiceSelector": true,
                    "defaultSelectedService": "wps",
                    "formats": [
                        {
                            "name": "application/json",
                            "label": "GeoJSON",
                            "type": "vector",
                            "validServices": [
                                "wps"
                            ]
                        },
                        {
                            "name": "application/arcgrid",
                            "label": "ArcGrid",
                            "type": "raster",
                            "validServices": [
                                "wps"
                            ]
                        },
                        {
                            "name": "image/tiff",
                            "label": "TIFF",
                            "type": "raster",
                            "validServices": [
                                "wps"
                            ]
                        },
                        {
                            "name": "image/png",
                            "label": "PNG",
                            "type": "raster",
                            "validServices": [
                                "wps"
                            ]
                        },
                        {
                            "name": "image/jpeg",
                            "label": "JPEG",
                            "type": "raster",
                            "validServices": [
                                "wps"
                            ]
                        },
                        {
                            "name": "application/wfs-collection-1.0",
                            "label": "GML (FeatureCollection)",
                            "type": "vector",
                            "validServices": [
                                "wps"
                            ]
                        },
                        {
                            "name": "application/wfs-collection-1.1",
                            "label": "GML (WFS 1.1.0 FeatureCollection)",
                            "type": "vector",
                            "validServices": [
                                "wps"
                            ]
                        },
                        {
                            "name": "application/zip",
                            "label": "Shapefile",
                            "type": "vector",
                            "validServices": [
                                "wps"
                            ]
                        },
                        {
                            "name": "text/csv",
                            "label": "CSV",
                            "type": "vector",
                            "validServices": [
                                "wps"
                            ]
                        },
                        {
                            "name": "application/geopackage+sqlite3",
                            "label": "GeoPackage",
                            "type": "vector",
                            "validServices": [
                                "wps"
                            ]
                        },
                        {
                            "name": "application/geopackage+sqlite3",
                            "label": "GeoPackage",
                            "type": "raster",
                            "validServices": [
                                "wps"
                            ]
                        },
                        {
                            "name": "application/vnd.google-earth.kml+xml",
                            "label": "KML",
                            "type": "vector",
                            "validServices": [
                                "wps"
                            ]
                        }
                    ]
                }
            },
            {
                "name": "AddLayer"
            },
            {
                "name": "FilterLayer"
            },
            {
                "name": "ScaleBox"
            },
            {
                "name": "QueryPanel",
                "cfg": {
                    "activateQueryTool": true,
                    "toolsOptions": {
                        "hideCrossLayer": true
                    },
                    "spatialOperations": [
                        {
                            "id": "INTERSECTS",
                            "name": "queryform.spatialfilter.operations.intersects"
                        },
                        {
                            "id": "CONTAINS",
                            "name": "queryform.spatialfilter.operations.contains"
                        },
                        {
                            "id": "WITHIN",
                            "name": "queryform.spatialfilter.operations.within"
                        }
                    ],
                    "spatialMethodOptions": [
                        {
                            "id": "Viewport",
                            "name": "queryform.spatialfilter.methods.viewport"
                        },
                        {
                            "id": "BBOX",
                            "name": "queryform.spatialfilter.methods.box"
                        },
                        {
                            "id": "Circle",
                            "name": "queryform.spatialfilter.methods.circle"
                        },
                        {
                            "id": "Polygon",
                            "name": "queryform.spatialfilter.methods.poly"
                        }
                    ]
                }
            },
            {
                "name": "MousePosition",
                "cfg": {
                    "editCRS": true,
                    "showLabels": true,
                    "showToggle": true,
                    "filterAllowedCRS": [
                        "EPSG:4326",
                        "EPSG:3857"
                    ],
                    "additionalCRS": {}
                }
            },
            {
                "name": "Search",
                "cfg": {
                    "withToggle": [
                        "max-width: 768px",
                        "min-width: 768px"
                    ]
                }
            },
            {
                "name": "FullScreen",
                "override": {
                    "Toolbar": {
                        "alwaysVisible": true
                    }
                }
            },
            {
                "name": "Notifications"
            },
            {
                "name": "Locate"
            },
            {
                "name": "Legend"
            },
            {
                "name": "SidebarMenu"
            }
        ],
        "dataset_edit_data_viewer": [
            {
                "name": "ActionNavbar",
                "cfg": {
                    "containerPosition": "header",
                    "leftMenuItems": [
                        {
                            "type": "link",
                            "href": "{'#/dataset/' + (state('gnResourceData') || {}).pk}",
                            "labelId": "gnviewer.goBackTo"
                        }
                    ]
                }
            },
            {
                "name": "Map",
                "cfg": {
                    "tools": [
                        "draw",
                        "box"
                    ],
                    "mapOptions": {
                        "openlayers": {
                            "attribution": {
                                "container": "#footer-attribution-container"
                            },
                            "interactions": {
                                "pinchRotate": false,
                                "altShiftDragRotate": false
                            }
                        }
                    }
                }
            },
            {
                "name": "FeatureEditor",
                "cfg": {
                    "hideCloseButton": true,
                    "hideLayerTitle": true
                }
            },
            {
                "name": "QueryPanel",
                "cfg": {
                    "activateQueryTool": true,
                    "spatialOperations": [
                        {
                            "id": "INTERSECTS",
                            "name": "queryform.spatialfilter.operations.intersects"
                        },
                        {
                            "id": "CONTAINS",
                            "name": "queryform.spatialfilter.operations.contains"
                        },
                        {
                            "id": "WITHIN",
                            "name": "queryform.spatialfilter.operations.within"
                        }
                    ],
                    "spatialMethodOptions": [
                        {
                            "id": "Viewport",
                            "name": "queryform.spatialfilter.methods.viewport"
                        },
                        {
                            "id": "BBOX",
                            "name": "queryform.spatialfilter.methods.box"
                        },
                        {
                            "id": "Circle",
                            "name": "queryform.spatialfilter.methods.circle"
                        },
                        {
                            "id": "Polygon",
                            "name": "queryform.spatialfilter.methods.poly"
                        }
                    ]
                }
            },
            {
                "name": "BackgroundSelector"
            },
            {
                "name": "Toolbar",
                "id": "NavigationBar",
                "cfg": {
                    "id": "navigationBar",
                    "layout": "horizontal"
                }
            },
            {
                "name": "MapLoading",
                "override": {
                    "Toolbar": {
                        "alwaysVisible": true
                    }
                }
            },
            {
                "name": "ZoomIn",
                "override": {
                    "Toolbar": {
                        "alwaysVisible": true
                    }
                }
            },
            {
                "name": "ZoomOut",
                "override": {
                    "Toolbar": {
                        "alwaysVisible": true
                    }
                }
            },
            {
                "name": "ScaleBox"
            },
            {
                "name": "MapFooter"
            },
            {
                "name": "Notifications"
            }
        ],
        "dataset_edit_style_viewer": [
            {
                "name": "ActionNavbar",
                "cfg": {
                    "containerPosition": "header",
                    "leftMenuItems": [
                        {
                            "type": "link",
                            "href": "{'#/dataset/' + (state('gnResourceData') || {}).pk}",
                            "labelId": "gnviewer.goBackTo"
                        }
                    ],
                    "rightMenuItems": [
                        {
                            "type": "plugin",
                            "name": "FullScreen"
                        }
                    ]
                }
            },
            {
                "name": "VisualStyleEditor",
                "cfg": {
                    "styleService": {
                        "baseUrl": "{state('settings') && state('settings').geonodeUrl && state('settings').geonodeUrl + 'gs/' || '/gs/'}",
                        "formats": [
                            "css",
                            "sld"
                        ],
                        "availableUrls": [
                            "{state('settings') && state('settings').geoserverUrl || '/geoserver/'}",
                            "{state('settings') && state('settings').geonodeUrl && state('settings').geonodeUrl + 'gs/' || '/gs/'}"
                        ],
                        "fonts": [
                            "Arial",
                            "Courier New",
                            "Monospaced",
                            "SansSerif",
                            "Serif",
                            "Times New Roman"
                        ]
                    },
                    "editingAllowedRoles": null,
                    "enableSetDefaultStyle": true
                }
            },
            {
                "name": "Identify",
                "cfg": {
                    "showInMapPopup": true,
                    "viewerOptions": {
                        "container": "{context.ReactSwipe}"
                    }
                }
            },
            {
                "name": "DrawerMenu",
                "cfg": {
                    "menuOptions": {
                        "width": 350
                    }
                }
            },
            {
                "name": "MapFooter"
            },
            {
                "name": "Map",
                "cfg": {
                    "tools": [
                        "draw",
                        "box",
                        "popup"
                    ],
                    "mapOptions": {
                        "openlayers": {
                            "attribution": {
                                "container": "#footer-attribution-container"
                            },
                            "interactions": {
                                "pinchRotate": false,
                                "altShiftDragRotate": false
                            }
                        }
                    }
                }
            },
            {
                "name": "Notifications"
            },
            {
                "name": "BackgroundSelector"
            },
            {
                "name": "ScaleBox"
            },
            {
                "name": "FullScreen"
            }
        ],
        "map_viewer": [
            {
                "name": "Map",
                "cfg": {
                    "tools": [
                        "draw",
                        "box"
                    ],
                    "mapOptions": {
                        "openlayers": {
                            "attribution": {
                                "container": "#footer-attribution-container"
                            },
                            "interactions": {
                                "pinchRotate": false,
                                "altShiftDragRotate": false
                            }
                        }
                    }
                }
            },
            {
                "name": "MapThumbnail"
            },
            {
                "mandatory": true,
                "name": "ActionNavbar",
                "cfg": {
                    "containerPosition": "header",
                    "leftMenuItems": [
                        {
                            "type": "link",
                            "size": "md",
                            "href": "#/all",
                            "labelId": "gnviewer.allResources"
                        },
                        {
                            "type": "plugin",
                            "size": "md",
                            "name": "DetailViewerButton"
                        },
                        {
                            "labelId": "gnviewer.resource",
                            "showPendingChangesIcon": true,
                            "type": "dropdown",
                            "items": [
                                {
                                    "type": "plugin",
                                    "name": "Save",
                                    "disableIf": "{!state('isNewResource') && !context.resourceHasPermission(state('gnResourceData'), 'change_resourcebase') && !context.canCopyResource(state('gnResourceData'), state('user'))}"
                                },
                                {
                                    "type": "plugin",
                                    "name": "SaveAs",
                                    "disableIf": "{!state('isNewResource') && !context.resourceHasPermission(state('gnResourceData'), 'change_resourcebase') && !context.canCopyResource(state('gnResourceData'), state('user'))}"
                                },
                                {
                                    "type": "divider",
                                    "disableIf": "{state('isNewResource') || (!state('isNewResource') && !context.resourceHasPermission(state('gnResourceData'), 'change_resourcebase') && !context.canCopyResource(state('gnResourceData'), state('user')))}"
                                },
                                {
                                    "type": "plugin",
                                    "name": "Share"
                                },
                                {
                                    "type": "divider",
                                    "disableIf": "{state('isNewResource') || !context.resourceHasPermission(state('gnResourceData'), 'delete_resourcebase')}"
                                },
                                {
                                    "type": "plugin",
                                    "name": "DeleteResource",
                                    "disableIf": "{!context.resourceHasPermission(state('gnResourceData'), 'delete_resourcebase')}"
                                }
                            ]
                        },
                        {
                            "labelId": "gnviewer.view",
                            "type": "dropdown",
                            "disableIf": "{state('isNewResource')}",
                            "items": [
                                {
                                    "type": "plugin",
                                    "name": "DetailViewerButton"
                                },
                                {
                                    "type": "link",
                                    "href": "{context.getMetadataDetailUrl(state('gnResourceData'))}",
                                    "labelId": "gnviewer.viewMetadata"
                                }
                            ]
                        },
                        {
                            "labelId": "gnviewer.edit",
                            "type": "dropdown",
                            "disableIf": "{state('isNewResource') || !context.resourceHasPermission(state('gnResourceData'), 'change_resourcebase')}",
                            "items": [
                                {
                                    "type": "link",
                                    "href": "{context.getMetadataUrl(state('gnResourceData'))}",
                                    "labelId": "gnviewer.editMetadata"
                                },
                                {
                                    "type": "divider",
                                    "disableIf": "{state('resourceParams')?.appPk}"
                                },
                                {
                                    "type": "link",
                                    "disableIf": "{state('resourceParams')?.appPk}",
                                    "href": "{'#/viewer/' + 'new/map/' + state('gnResourceData')?.pk}",
                                    "labelId": "gnviewer.addViewerConfiguration"
                                },
                                {
                                    "type": "divider",
                                    "disableIf": "{!state('resourceParams')?.appPk || !context.resourceHasPermission(state('gnResourceLinkedViewer'), 'change_resourcebase')}"
                                },
                                {
                                    "type": "plugin",
                                    "disableIf": "{!state('resourceParams')?.appPk || !context.resourceHasPermission(state('gnResourceLinkedViewer'), 'change_resourcebase')}",
                                    "name": "EditMapViewer"
                                },
                                {
                                    "type": "plugin",
                                    "disableIf": "{!state('resourceParams')?.appPk || !context.resourceHasPermission(state('gnResourceData'), 'delete_resourcebase') || !context.resourceHasPermission(state('gnResourceLinkedViewer'), 'delete_resourcebase')}",
                                    "name": "RemoveMapViewer"
                                }
                            ]
                        },
                        {
                            "type": "divider",
                            "disableIf": "{!context.resourceHasPermission(state('gnResourceData'), 'change_resourcebase') && !state('isNewResource')}"
                        },
                        {
                            "type": "plugin",
                            "name": "DatasetsCatalog",
                            "disableIf": "{!context.resourceHasPermission(state('gnResourceData'), 'change_resourcebase') && !state('isNewResource')}"
                        }
                    ],
                    "rightMenuItems": [
                        {
                            "type": "plugin",
                            "name": "FullScreen"
                        }
                    ]
                }
            },
            {
                "mandatory": true,
                "name": "DeleteResource"
            },
            {
                "mandatory": true,
                "name": "MapViewerConfiguration"
            },
            {
                "mandatory": true,
                "name": "DetailViewer",
                "cfg": {
                    "containerPosition": "rightOverlay",
                    "tabs": [
                        {
                            "type": "tab",
                            "id": "info",
                            "labelId": "gnviewer.info",
                            "items": [
                                {
                                    "type": "text",
                                    "labelId": "gnviewer.title",
                                    "value": "{context.get(state('gnResourceData'), 'title')}"
                                },
                                {
                                    "type": "link",
                                    "labelId": "gnviewer.owner",
                                    "href": "{'/people/profile/' + context.get(state('gnResourceData'), 'owner.username')}",
                                    "value": "{context.getUserResourceName(context.get(state('gnResourceData'), 'owner'))}",
                                    "disableIf": "{!context.get(state('gnResourceData'), 'owner.username')}"
                                },
                                {
                                    "type": "date",
                                    "format": "YYYY-MM-DD HH:mm",
                                    "labelId": "{'gnviewer.'+context.get(state('gnResourceData'), 'date_type')}",
                                    "value": "{context.get(state('gnResourceData'), 'date')}"
                                },
                                {
                                    "type": "date",
                                    "format": "YYYY-MM-DD HH:mm",
                                    "labelId": "gnviewer.created",
                                    "value": "{context.get(state('gnResourceData'), 'created')}"
                                },
                                {
                                    "type": "date",
                                    "format": "YYYY-MM-DD HH:mm",
                                    "labelId": "gnviewer.lastModified",
                                    "value": "{context.get(state('gnResourceData'), 'last_updated')}"
                                },
                                {
                                    "type": "query",
                                    "labelId": "gnviewer.resourceType",
                                    "value": "{context.get(state('gnResourceData'), 'resource_type')}",
                                    "pathname": "/",
                                    "query": {
                                        "f": "{context.get(state('gnResourceData'), 'resource_type')}"
                                    }
                                },
                                {
                                    "type": "{context.isDocumentExternalSource(state('gnResourceData')) ? 'link' : 'text'}",
                                    "labelId": "gnviewer.sourceType",
                                    "value": "{context.get(state('gnResourceData'), 'sourcetype', '').toLowerCase()}",
                                    "href": "{context.get(state('gnResourceData'), 'href')}"
                                },
                                {
                                    "type": "query",
                                    "labelId": "gnviewer.category",
                                    "value": "{context.get(state('gnResourceData'), 'category.gn_description')}",
                                    "pathname": "/",
                                    "query": {
                                        "filter{category.identifier}": "{context.get(state('gnResourceData'), 'category.identifier')}"
                                    }
                                },
                                {
                                    "type": "link",
                                    "labelId": "gnviewer.pointOfContact",
                                    "value": "{context.getUserResourceNames(context.get(state('gnResourceData'), 'poc'))}",
                                    "disableIf": "{!context.get(state('gnResourceData'), 'poc')}"
                                },
                                {
                                    "type": "query",
                                    "labelId": "gnviewer.keywords",
                                    "value": "{context.get(state('gnResourceData'), 'keywords')}",
                                    "valueKey": "name",
                                    "pathname": "/",
                                    "queryTemplate": {
                                        "filter{keywords.slug.in}": "${slug}"
                                    }
                                },
                                {
                                    "type": "query",
                                    "labelId": "gnviewer.regions",
                                    "value": "{context.get(state('gnResourceData'), 'regions')}",
                                    "valueKey": "code",
                                    "pathname": "/",
                                    "queryTemplate": {
                                        "filter{regions.code.in}": "${code}"
                                    }
                                },
                                {
                                    "type": "text",
                                    "labelId": "gnviewer.attribution",
                                    "value": "{context.get(state('gnResourceData'), 'attribution')}"
                                },
                                {
                                    "type": "text",
                                    "labelId": "gnviewer.language",
                                    "value": "{context.get(state('gnResourceData'), 'language')}"
                                },
                                {
                                    "type": "html",
                                    "labelId": "gnviewer.supplementalInformation",
                                    "value": "{context.get(state('gnResourceData'), 'supplemental_information')}"
                                },
                                {
                                    "type": "date",
                                    "format": "YYYY-MM-DD HH:mm",
                                    "labelId": "gnviewer.temporalExtent",
                                    "value": {
                                        "start": "{context.get(state('gnResourceData'), 'temporal_extent_start')}",
                                        "end": "{context.get(state('gnResourceData'), 'temporal_extent_end')}"
                                    }
                                },
                                {
                                    "type": "link",
                                    "style": "label",
                                    "labelId": "gnviewer.viewFullMetadata",
                                    "href": "{context.getMetadataDetailUrl(state('gnResourceData'))}",
                                    "disableIf": "{!context.getMetadataDetailUrl(state('gnResourceData'))}"
                                }
                            ]
                        },
                        {
                            "type": "locations",
                            "id": "locations",
                            "labelId": "gnviewer.locations",
                            "items": "{({extent: context.get(state('gnResourceData'), 'extent')})}"
                        },
                        {
                            "type": "linked-resources",
                            "id": "related",
                            "labelId": "gnviewer.linkedResources.label",
                            "items": "{context.get(state('gnResourceData'), 'linkedResources')}"
                        },
                        {
                            "type": "assets",
                            "id": "assets",
                            "labelId": "gnviewer.assets",
                            "items": "{context.get(state('gnResourceData'), 'assets')}"
                        }
                    ]
                }
            },
            {
                "name": "BackgroundSelector"
            },
            {
                "name": "GlobeViewSwitcher"
            },
            {
                "name": "Identify",
                "cfg": {
                    "viewerOptions": {
                        "container": "{context.ReactSwipe}"
                    }
                }
            },
            {
                "name": "TOC",
                "cfg": {
                    "activateMetedataTool": false
                }
            },
            {
                "name": "Toolbar",
                "id": "NavigationBar",
                "cfg": {
                    "id": "navigationBar",
                    "layout": "horizontal"
                }
            },
            {
                "name": "MapLoading",
                "override": {
                    "Toolbar": {
                        "alwaysVisible": true
                    }
                }
            },
            {
                "name": "DrawerMenu",
                "cfg": {
                    "menuOptions": {
                        "width": 350
                    }
                }
            },
            {
                "name": "OmniBar"
            },
            {
                "name": "Expander"
            },
            {
                "name": "MapFooter"
            },
            {
                "name": "Measure"
            },
            {
                "name": "FullScreen"
            },
            {
                "name": "Print",
                "cfg": {
                    "useFixedScales": true,
                    "mapWidth": 256,
                    "outputFormatOptions": {
                        "allowedFormats": [
                            {
                                "value": "pdf",
                                "name": "PDF"
                            },
                            {
                                "value": "png",
                                "name": "PNG"
                            },
                            {
                                "value": "jpg",
                                "name": "JPEG"
                            }
                        ]
                    }
                }
            },
            {
                "name": "PrintScale",
                "override": {
                    "Print": {
                        "position": 4
                    }
                }
            },
            {
                "name": "PrintGraticule",
                "override": {
                    "Print": {
                        "position": 5
                    }
                },
                "cfg": {
                    "frame": 0.07,
                    "style": {
                        "color": "#000000",
                        "weight": 1,
                        "lineDash": [
                            0.5,
                            4
                        ],
                        "opacity": 0.5
                    },
                    "frameStyle": {
                        "color": "#000000",
                        "weight": 1,
                        "fillColor": "#FFFFFF"
                    },
                    "labelXStyle": {
                        "color": "#000000",
                        "font": "sans-serif",
                        "fontWeight": "bold",
                        "fontSize": "20",
                        "labelOutlineColor": "#FFFFFF",
                        "labelOutlineWidth": 2
                    },
                    "labelYStyle": {
                        "color": "#000000",
                        "font": "sans-serif",
                        "fontWeight": "bold",
                        "fontSize": "20",
                        "labelOutlineColor": "#FFFFFF",
                        "labelOutlineWidth": 2,
                        "rotation": 90,
                        "verticalAlign": "top",
                        "textAlign": "center"
                    }
                }
            },
            {
                "name": "ZoomAll",
                "override": {
                    "Toolbar": {
                        "alwaysVisible": false
                    }
                }
            },
            {
                "name": "ZoomIn",
                "override": {
                    "Toolbar": {
                        "alwaysVisible": true
                    }
                }
            },
            {
                "name": "ZoomOut",
                "override": {
                    "Toolbar": {
                        "alwaysVisible": true
                    }
                }
            },
            {
                "name": "Timeline"
            },
            {
                "name": "Playback"
            },
            {
                "name": "LayerDownload",
                "cfg": {
                    "disablePluginIf": "{!state('selectedLayerPermissions').includes('download_resourcebase')}",
                    "hideServiceSelector": true,
                    "defaultSelectedService": "wps",
                    "formats": [
                        {
                            "name": "application/json",
                            "label": "GeoJSON",
                            "type": "vector",
                            "validServices": [
                                "wps"
                            ]
                        },
                        {
                            "name": "application/arcgrid",
                            "label": "ArcGrid",
                            "type": "raster",
                            "validServices": [
                                "wps"
                            ]
                        },
                        {
                            "name": "image/tiff",
                            "label": "TIFF",
                            "type": "raster",
                            "validServices": [
                                "wps"
                            ]
                        },
                        {
                            "name": "image/png",
                            "label": "PNG",
                            "type": "raster",
                            "validServices": [
                                "wps"
                            ]
                        },
                        {
                            "name": "image/jpeg",
                            "label": "JPEG",
                            "type": "raster",
                            "validServices": [
                                "wps"
                            ]
                        },
                        {
                            "name": "application/wfs-collection-1.0",
                            "label": "GML (FeatureCollection)",
                            "type": "vector",
                            "validServices": [
                                "wps"
                            ]
                        },
                        {
                            "name": "application/wfs-collection-1.1",
                            "label": "GML (WFS 1.1.0 FeatureCollection)",
                            "type": "vector",
                            "validServices": [
                                "wps"
                            ]
                        },
                        {
                            "name": "application/zip",
                            "label": "Shapefile",
                            "type": "vector",
                            "validServices": [
                                "wps"
                            ]
                        },
                        {
                            "name": "text/csv",
                            "label": "CSV",
                            "type": "vector",
                            "validServices": [
                                "wps"
                            ]
                        },
                        {
                            "name": "application/geopackage+sqlite3",
                            "label": "GeoPackage",
                            "type": "vector",
                            "validServices": [
                                "wps"
                            ]
                        },
                        {
                            "name": "application/geopackage+sqlite3",
                            "label": "GeoPackage",
                            "type": "raster",
                            "validServices": [
                                "wps"
                            ]
                        },
                        {
                            "name": "application/vnd.google-earth.kml+xml",
                            "label": "KML",
                            "type": "vector",
                            "validServices": [
                                "wps"
                            ]
                        }
                    ]
                }
            },
            {
                "name": "AddLayer"
            },
            {
                "name": "FilterLayer"
            },
            {
                "name": "ScaleBox"
            },
            {
                "name": "FeatureEditor"
            },
            {
                "name": "QueryPanel",
                "cfg": {
                    "activateQueryTool": true,
                    "spatialOperations": [
                        {
                            "id": "INTERSECTS",
                            "name": "queryform.spatialfilter.operations.intersects"
                        },
                        {
                            "id": "CONTAINS",
                            "name": "queryform.spatialfilter.operations.contains"
                        },
                        {
                            "id": "WITHIN",
                            "name": "queryform.spatialfilter.operations.within"
                        }
                    ],
                    "spatialMethodOptions": [
                        {
                            "id": "Viewport",
                            "name": "queryform.spatialfilter.methods.viewport"
                        },
                        {
                            "id": "BBOX",
                            "name": "queryform.spatialfilter.methods.box"
                        },
                        {
                            "id": "Circle",
                            "name": "queryform.spatialfilter.methods.circle"
                        },
                        {
                            "id": "Polygon",
                            "name": "queryform.spatialfilter.methods.poly"
                        }
                    ]
                }
            },
            {
                "name": "MousePosition",
                "cfg": {
                    "editCRS": true,
                    "showLabels": true,
                    "showToggle": true,
                    "filterAllowedCRS": [
                        "EPSG:4326",
                        "EPSG:3857"
                    ],
                    "additionalCRS": {}
                }
            },
            {
                "name": "Search",
                "cfg": {
                    "withToggle": [
                        "max-width: 768px",
                        "min-width: 768px"
                    ]
                }
            },
            {
                "name": "SearchServicesConfig"
            },
            {
                "name": "FullScreen",
                "override": {
                    "Toolbar": {
                        "alwaysVisible": false
                    }
                }
            },
            {
                "name": "LayerSettings",
                "mandatory": true,
                "cfg": {
                    "disablePluginIf": "{context.hasDefaultSettings(state('selectedLayer'))}"
                }
            },
            {
                "name": "TOCItemsSettings",
                "mandatory": true,
                "cfg": {
                    "disablePluginIf": "{!context.hasDefaultSettings(state('selectedLayer'))}"
                }
            },
            {
                "name": "Widgets"
            },
            {
                "name": "WidgetsTray"
            },
            {
                "mandatory": true,
                "name": "SaveAs",
                "cfg": {
                    "disablePermission": true
                }
            },
            {
                "name": "Notifications"
            },
            {
                "mandatory": true,
                "name": "Share",
                "cfg": {
                    "containerPosition": "rightOverlay"
                }
            },
            {
                "name": "Swipe"
            },
            {
                "name": "Locate"
            },
            {
                "name": "WidgetsBuilder",
                "cfg": {
                    "disablePluginIf": "{!state('selectedLayerPermissions').includes('download_resourcebase')}"
                }
            },
            {
                "mandatory": true,
                "name": "Save",
                "cfg": {
                    "disablePermission": true
                }
            },
            {
                "name": "AddGroup"
            },
            {
                "name": "Annotations",
                "cfg": {
                    "measurementAnnotationEdit": false,
                    "geodesic": false,
                    "symbolsPath": "/static/mapstore/symbols/"
                }
            },
            {
                "mandatory": true,
                "name": "DatasetsCatalog"
            },
            {
                "name": "VisualStyleEditor",
                "cfg": {
                    "showLayerProperties": true,
                    "styleService": {
                        "baseUrl": "{state('settings') && state('settings').geonodeUrl && state('settings').geonodeUrl + 'gs/' || '/gs/'}",
                        "formats": [
                            "css",
                            "sld"
                        ],
                        "availableUrls": [
                            "{state('settings') && state('settings').geoserverUrl || '/geoserver/'}",
                            "{state('settings') && state('settings').geonodeUrl && state('settings').geonodeUrl + 'gs/' || '/gs/'}"
                        ],
                        "fonts": [
                            "Arial",
                            "Courier New",
                            "Monospaced",
                            "SansSerif",
                            "Serif",
                            "Times New Roman"
                        ]
                    },
                    "editingAllowedRoles": null,
                    "enableSetDefaultStyle": true
                }
            },
            {
                "name": "SidebarMenu"
            },
            {
                "name": "MetadataExplorer",
                "cfg": {
                    "wrap": true
                }
            }
        ],
        "geostory_viewer": [
            {
                "name": "ActionNavbar",
                "cfg": {
                    "containerPosition": "header",
                    "leftMenuItems": [
                        {
                            "type": "link",
                            "size": "md",
                            "href": "#/all",
                            "labelId": "gnviewer.allResources"
                        },
                        {
                            "type": "plugin",
                            "size": "md",
                            "name": "DetailViewerButton"
                        },
                        {
                            "labelId": "gnviewer.resource",
                            "showPendingChangesIcon": true,
                            "type": "dropdown",
                            "items": [
                                {
                                    "type": "plugin",
                                    "name": "Save",
                                    "disableIf": "{!state('isNewResource') && !context.resourceHasPermission(state('gnResourceData'), 'change_resourcebase') && !context.canCopyResource(state('gnResourceData'), state('user'))}"
                                },
                                {
                                    "type": "plugin",
                                    "name": "SaveAs",
                                    "disableIf": "{!state('isNewResource') && !context.resourceHasPermission(state('gnResourceData'), 'change_resourcebase') && !context.canCopyResource(state('gnResourceData'), state('user'))}"
                                },
                                {
                                    "type": "divider",
                                    "disableIf": "{state('isNewResource') || (!state('isNewResource') && !context.resourceHasPermission(state('gnResourceData'), 'change_resourcebase') && !context.canCopyResource(state('gnResourceData'), state('user')))}"
                                },
                                {
                                    "type": "plugin",
                                    "name": "Share"
                                },
                                {
                                    "name": "Sync",
                                    "type": "plugin",
                                    "disableIf": "{!context.resourceHasPermission(state('gnResourceData'), 'change_resourcebase')}"
                                },
                                {
                                    "type": "divider",
                                    "disableIf": "{state('isNewResource') || !context.resourceHasPermission(state('gnResourceData'), 'delete_resourcebase')}"
                                },
                                {
                                    "type": "plugin",
                                    "name": "DeleteResource",
                                    "disableIf": "{!context.resourceHasPermission(state('gnResourceData'), 'delete_resourcebase')}"
                                }
                            ]
                        },
                        {
                            "labelId": "gnviewer.view",
                            "type": "dropdown",
                            "disableIf": "{state('isNewResource')}",
                            "items": [
                                {
                                    "type": "plugin",
                                    "name": "DetailViewerButton"
                                },
                                {
                                    "type": "link",
                                    "href": "{context.getMetadataDetailUrl(state('gnResourceData'))}",
                                    "labelId": "gnviewer.viewMetadata"
                                }
                            ]
                        },
                        {
                            "labelId": "gnviewer.edit",
                            "type": "dropdown",
                            "disableIf": "{state('isNewResource') || !context.resourceHasPermission(state('gnResourceData'), 'change_resourcebase')}",
                            "items": [
                                {
                                    "type": "link",
                                    "href": "{context.getMetadataUrl(state('gnResourceData'))}",
                                    "labelId": "gnviewer.editMetadata"
                                }
                            ]
                        }
                    ],
                    "rightMenuItems": [
                        {
                            "type": "plugin",
                            "name": "FullScreen"
                        }
                    ]
                }
            },
            {
                "name": "DetailViewer",
                "cfg": {
                    "containerPosition": "rightOverlay",
                    "tabs": [
                        {
                            "type": "tab",
                            "id": "info",
                            "labelId": "gnviewer.info",
                            "items": [
                                {
                                    "type": "text",
                                    "labelId": "gnviewer.title",
                                    "value": "{context.get(state('gnResourceData'), 'title')}"
                                },
                                {
                                    "type": "link",
                                    "labelId": "gnviewer.owner",
                                    "href": "{'/people/profile/' + context.get(state('gnResourceData'), 'owner.username')}",
                                    "value": "{context.getUserResourceName(context.get(state('gnResourceData'), 'owner'))}",
                                    "disableIf": "{!context.get(state('gnResourceData'), 'owner.username')}"
                                },
                                {
                                    "type": "date",
                                    "format": "YYYY-MM-DD HH:mm",
                                    "labelId": "{'gnviewer.'+context.get(state('gnResourceData'), 'date_type')}",
                                    "value": "{context.get(state('gnResourceData'), 'date')}"
                                },
                                {
                                    "type": "date",
                                    "format": "YYYY-MM-DD HH:mm",
                                    "labelId": "gnviewer.created",
                                    "value": "{context.get(state('gnResourceData'), 'created')}"
                                },
                                {
                                    "type": "date",
                                    "format": "YYYY-MM-DD HH:mm",
                                    "labelId": "gnviewer.lastModified",
                                    "value": "{context.get(state('gnResourceData'), 'last_updated')}"
                                },
                                {
                                    "type": "query",
                                    "labelId": "gnviewer.resourceType",
                                    "value": "{context.get(state('gnResourceData'), 'resource_type')}",
                                    "pathname": "/",
                                    "query": {
                                        "f": "{context.get(state('gnResourceData'), 'resource_type')}"
                                    }
                                },
                                {
                                    "type": "{context.isDocumentExternalSource(state('gnResourceData')) ? 'link' : 'text'}",
                                    "labelId": "gnviewer.sourceType",
                                    "value": "{context.get(state('gnResourceData'), 'sourcetype', '').toLowerCase()}",
                                    "href": "{context.get(state('gnResourceData'), 'href')}"
                                },
                                {
                                    "type": "query",
                                    "labelId": "gnviewer.category",
                                    "value": "{context.get(state('gnResourceData'), 'category.gn_description')}",
                                    "pathname": "/",
                                    "query": {
                                        "filter{category.identifier}": "{context.get(state('gnResourceData'), 'category.identifier')}"
                                    }
                                },
                                {
                                    "type": "link",
                                    "labelId": "gnviewer.pointOfContact",
                                    "value": "{context.getUserResourceNames(context.get(state('gnResourceData'), 'poc'))}",
                                    "disableIf": "{!context.get(state('gnResourceData'), 'poc')}"
                                },
                                {
                                    "type": "query",
                                    "labelId": "gnviewer.keywords",
                                    "value": "{context.get(state('gnResourceData'), 'keywords')}",
                                    "valueKey": "name",
                                    "pathname": "/",
                                    "queryTemplate": {
                                        "filter{keywords.slug.in}": "${slug}"
                                    }
                                },
                                {
                                    "type": "query",
                                    "labelId": "gnviewer.regions",
                                    "value": "{context.get(state('gnResourceData'), 'regions')}",
                                    "valueKey": "name",
                                    "pathname": "/",
                                    "queryTemplate": {
                                        "filter{regions.code.in}": "${code}"
                                    }
                                },
                                {
                                    "type": "text",
                                    "labelId": "gnviewer.attribution",
                                    "value": "{context.get(state('gnResourceData'), 'attribution')}"
                                },
                                {
                                    "type": "text",
                                    "labelId": "gnviewer.language",
                                    "value": "{context.get(state('gnResourceData'), 'language')}"
                                },
                                {
                                    "type": "html",
                                    "labelId": "gnviewer.supplementalInformation",
                                    "value": "{context.get(state('gnResourceData'), 'supplemental_information')}"
                                },
                                {
                                    "type": "date",
                                    "format": "YYYY-MM-DD HH:mm",
                                    "labelId": "gnviewer.temporalExtent",
                                    "value": {
                                        "start": "{context.get(state('gnResourceData'), 'temporal_extent_start')}",
                                        "end": "{context.get(state('gnResourceData'), 'temporal_extent_end')}"
                                    }
                                },
                                {
                                    "type": "link",
                                    "style": "label",
                                    "labelId": "gnviewer.viewFullMetadata",
                                    "href": "{context.getMetadataDetailUrl(state('gnResourceData'))}",
                                    "disableIf": "{!context.getMetadataDetailUrl(state('gnResourceData'))}"
                                }
                            ]
                        },
                        {
                            "type": "locations",
                            "id": "locations",
                            "labelId": "gnviewer.locations",
                            "items": "{({extent: context.get(state('gnResourceData'), 'extent'), initialExtent: context.get(state('gnResourceInitialData'), 'extent')})}"
                        },
                        {
                            "type": "linked-resources",
                            "id": "related",
                            "labelId": "gnviewer.linkedResources.label",
                            "items": "{context.get(state('gnResourceData'), 'linkedResources')}"
                        },
                        {
                            "type": "assets",
                            "id": "assets",
                            "labelId": "gnviewer.assets",
                            "items": "{context.get(state('gnResourceData'), 'assets')}"
                        }
                    ]
                }
            },
            {
                "type": "plugin",
                "name": "FullScreen"
            },
            {
                "name": "DeleteResource"
            },
            {
                "name": "GeoStory",
                "cfg": {
                    "hideIdentifyOptions": true,
                    "mediaEditorSettings": {
                        "sourceId": "geonode",
                        "mediaTypes": {
                            "image": {
                                "sources": [
                                    "geostory",
                                    "geonode"
                                ]
                            },
                            "video": {
                                "sources": [
                                    "geostory",
                                    "geonode"
                                ]
                            },
                            "map": {
                                "sources": [
                                    "geostory",
                                    "geonode"
                                ]
                            }
                        },
                        "sources": {
                            "geostory": {
                                "name": "geostory.storyResources",
                                "type": "geostory",
                                "addMediaEnabled": {
                                    "image": true,
                                    "video": true
                                },
                                "editMediaEnabled": {
                                    "image": true,
                                    "video": true
                                },
                                "removeMediaEnabled": {
                                    "image": true,
                                    "video": true,
                                    "map": true
                                }
                            },
                            "geonode": {
                                "name": "geostory.geoNode",
                                "type": "geonode"
                            }
                        }
                    }
                }
            },
            {
                "name": "MediaEditor"
            },
            {
                "name": "GeoStoryEditor",
                "cfg": {
                    "disablePluginIf": "{!!(state('browser') && state('browser').mobile)}",
                    "containerPosition": "leftColumn"
                }
            },
            {
                "name": "GeoStoryNavigation",
                "cfg": {
                    "containerPosition": "header"
                }
            },
            {
                "name": "Notifications"
            },
            {
                "name": "Save",
                "cfg": {
                    "disablePermission": true
                }
            },
            {
                "name": "SaveAs"
            },
            {
                "name": "Share",
                "cfg": {
                    "containerPosition": "rightOverlay"
                }
            },
            {
                "name": "Sync"
            }
        ],
        "document_viewer": [
            {
                "name": "ActionNavbar",
                "cfg": {
                    "containerPosition": "header",
                    "leftMenuItems": [
                        {
                            "type": "link",
                            "size": "md",
                            "href": "#/all",
                            "labelId": "gnviewer.allResources"
                        },
                        {
                            "type": "plugin",
                            "size": "md",
                            "name": "DetailViewerButton"
                        },
                        {
                            "labelId": "gnviewer.resource",
                            "type": "dropdown",
                            "showPendingChangesIcon": true,
                            "items": [
                                {
                                    "type": "plugin",
                                    "name": "Save",
                                    "disableIf": "{!context.resourceHasPermission(state('gnResourceData'), 'change_resourcebase') && (!context.canCopyResource(state('gnResourceData'), state('user')) || !context.resourceHasPermission(state('gnResourceData'), 'download_resourcebase'))}"
                                },
                                {
                                    "type": "plugin",
                                    "name": "SaveAs",
                                    "disableIf": "{!state('isNewResource') && !context.resourceHasPermission(state('gnResourceData'), 'change_resourcebase') && !context.canCopyResource(state('gnResourceData'), state('user')) || (!state('selectedLayerPermissions').includes('download_resourcebase') || !context.resourceHasPermission(state('gnResourceData'), 'download_resourcebase'))}"
                                },
                                {
                                    "type": "divider",
                                    "disableIf": "{!state('isNewResource') && !context.resourceHasPermission(state('gnResourceData'), 'change_resourcebase') && !context.canCopyResource(state('gnResourceData'), state('user')) || (!state('selectedLayerPermissions').includes('download_resourcebase') || !context.resourceHasPermission(state('gnResourceData'), 'download_resourcebase'))}"
                                },
                                {
                                    "type": "plugin",
                                    "name": "Share"
                                },
                                {
                                    "type": "divider",
                                    "disableIf": "{!context.resourceHasPermission(state('gnResourceData'), 'delete_resourcebase')}"
                                },
                                {
                                    "type": "plugin",
                                    "name": "DeleteResource",
                                    "disableIf": "{!context.resourceHasPermission(state('gnResourceData'), 'delete_resourcebase')}"
                                }
                            ]
                        },
                        {
                            "labelId": "gnviewer.view",
                            "type": "dropdown",
                            "items": [
                                {
                                    "type": "plugin",
                                    "name": "DetailViewerButton"
                                },
                                {
                                    "type": "link",
                                    "href": "{context.getMetadataDetailUrl(state('gnResourceData'))}",
                                    "labelId": "gnviewer.viewMetadata"
                                }
                            ]
                        },
                        {
                            "labelId": "gnviewer.edit",
                            "type": "dropdown",
                            "disableIf": "{!context.resourceHasPermission(state('gnResourceData'), 'change_resourcebase')}",
                            "items": [
                                {
                                    "type": "link",
                                    "href": "{context.getMetadataUrl(state('gnResourceData'))}",
                                    "labelId": "gnviewer.editMetadata"
                                }
                            ]
                        },
                        {
                            "type": "plugin",
                            "name": "DownloadResource",
                            "disableIf": "{!context.resourceHasPermission(state('gnResourceData'), 'download_resourcebase')}"
                        }
                    ],
                    "rightMenuItems": [
                        {
                            "type": "plugin",
                            "name": "FullScreen"
                        }
                    ]
                }
            },
            {
                "type": "plugin",
                "name": "FullScreen"
            },
            {
                "type": "plugin",
                "name": "DownloadResource"
            },
            {
                "name": "DetailViewer",
                "cfg": {
                    "containerPosition": "rightOverlay",
                    "tabs": [
                        {
                            "type": "tab",
                            "id": "info",
                            "labelId": "gnviewer.info",
                            "items": [
                                {
                                    "type": "text",
                                    "labelId": "gnviewer.title",
                                    "value": "{context.get(state('gnResourceData'), 'title')}"
                                },
                                {
                                    "type": "link",
                                    "labelId": "gnviewer.owner",
                                    "href": "{'/people/profile/' + context.get(state('gnResourceData'), 'owner.username')}",
                                    "value": "{context.getUserResourceName(context.get(state('gnResourceData'), 'owner'))}",
                                    "disableIf": "{!context.get(state('gnResourceData'), 'owner.username')}"
                                },
                                {
                                    "type": "date",
                                    "format": "YYYY-MM-DD HH:mm",
                                    "labelId": "{'gnviewer.'+context.get(state('gnResourceData'), 'date_type')}",
                                    "value": "{context.get(state('gnResourceData'), 'date')}"
                                },
                                {
                                    "type": "date",
                                    "format": "YYYY-MM-DD HH:mm",
                                    "labelId": "gnviewer.created",
                                    "value": "{context.get(state('gnResourceData'), 'created')}"
                                },
                                {
                                    "type": "date",
                                    "format": "YYYY-MM-DD HH:mm",
                                    "labelId": "gnviewer.lastModified",
                                    "value": "{context.get(state('gnResourceData'), 'last_updated')}"
                                },
                                {
                                    "type": "query",
                                    "labelId": "gnviewer.resourceType",
                                    "value": "{context.get(state('gnResourceData'), 'resource_type')}",
                                    "pathname": "/",
                                    "query": {
                                        "f": "{context.get(state('gnResourceData'), 'resource_type')}"
                                    }
                                },
                                {
                                    "type": "{context.isDocumentExternalSource(state('gnResourceData')) ? 'link' : 'text'}",
                                    "labelId": "gnviewer.sourceType",
                                    "value": "{context.get(state('gnResourceData'), 'sourcetype', '').toLowerCase()}",
                                    "href": "{context.get(state('gnResourceData'), 'href')}"
                                },
                                {
                                    "type": "query",
                                    "labelId": "gnviewer.category",
                                    "value": "{context.get(state('gnResourceData'), 'category.gn_description')}",
                                    "pathname": "/",
                                    "query": {
                                        "filter{category.identifier}": "{context.get(state('gnResourceData'), 'category.identifier')}"
                                    }
                                },
                                {
                                    "type": "link",
                                    "labelId": "gnviewer.pointOfContact",
                                    "value": "{context.getUserResourceNames(context.get(state('gnResourceData'), 'poc'))}",
                                    "disableIf": "{!context.get(state('gnResourceData'), 'poc')}"
                                },
                                {
                                    "type": "query",
                                    "labelId": "gnviewer.keywords",
                                    "value": "{context.get(state('gnResourceData'), 'keywords')}",
                                    "valueKey": "name",
                                    "pathname": "/",
                                    "queryTemplate": {
                                        "filter{keywords.slug.in}": "${slug}"
                                    }
                                },
                                {
                                    "type": "query",
                                    "labelId": "gnviewer.regions",
                                    "value": "{context.get(state('gnResourceData'), 'regions')}",
                                    "valueKey": "name",
                                    "pathname": "/",
                                    "queryTemplate": {
                                        "filter{regions.code.in}": "${code}"
                                    }
                                },
                                {
                                    "type": "text",
                                    "labelId": "gnviewer.attribution",
                                    "value": "{context.get(state('gnResourceData'), 'attribution')}"
                                },
                                {
                                    "type": "text",
                                    "labelId": "gnviewer.language",
                                    "value": "{context.get(state('gnResourceData'), 'language')}"
                                },
                                {
                                    "type": "html",
                                    "labelId": "gnviewer.supplementalInformation",
                                    "value": "{context.get(state('gnResourceData'), 'supplemental_information')}"
                                },
                                {
                                    "type": "date",
                                    "format": "YYYY-MM-DD HH:mm",
                                    "labelId": "gnviewer.temporalExtent",
                                    "value": {
                                        "start": "{context.get(state('gnResourceData'), 'temporal_extent_start')}",
                                        "end": "{context.get(state('gnResourceData'), 'temporal_extent_end')}"
                                    }
                                },
                                {
                                    "type": "link",
                                    "style": "label",
                                    "labelId": "gnviewer.viewFullMetadata",
                                    "href": "{context.getMetadataDetailUrl(state('gnResourceData'))}",
                                    "disableIf": "{!context.getMetadataDetailUrl(state('gnResourceData'))}"
                                }
                            ]
                        },
                        {
                            "type": "locations",
                            "id": "locations",
                            "labelId": "gnviewer.locations",
                            "items": "{({extent: context.get(state('gnResourceData'), 'extent'), initialExtent: context.get(state('gnResourceInitialData'), 'extent')})}"
                        },
                        {
                            "type": "linked-resources",
                            "id": "related",
                            "labelId": "gnviewer.linkedResources.label",
                            "items": "{context.get(state('gnResourceData'), 'linkedResources')}"
                        },
                        {
                            "type": "assets",
                            "id": "assets",
                            "labelId": "gnviewer.assets",
                            "items": "{context.get(state('gnResourceData'), 'assets')}"
                        }
                    ]
                }
            },
            {
                "name": "DeleteResource"
            },
            {
                "name": "Save"
            },
            {
                "name": "SaveAs"
            },
            {
                "name": "Share",
                "cfg": {
                    "containerPosition": "rightOverlay"
                }
            },
            {
                "name": "MediaViewer"
            }
        ],
        "dashboard_viewer": [
            {
                "name": "ActionNavbar",
                "cfg": {
                    "containerPosition": "header",
                    "leftMenuItems": [
                        {
                            "type": "link",
                            "size": "md",
                            "href": "#/all",
                            "labelId": "gnviewer.allResources"
                        },
                        {
                            "type": "plugin",
                            "size": "md",
                            "name": "DetailViewerButton"
                        },
                        {
                            "labelId": "gnviewer.resource",
                            "type": "dropdown",
                            "showPendingChangesIcon": true,
                            "items": [
                                {
                                    "type": "plugin",
                                    "name": "Save",
                                    "disableIf": "{!state('isNewResource') && !context.resourceHasPermission(state('gnResourceData'), 'change_resourcebase') && !context.canCopyResource(state('gnResourceData'), state('user'))}"
                                },
                                {
                                    "type": "plugin",
                                    "name": "SaveAs",
                                    "disableIf": "{!state('isNewResource') && !context.resourceHasPermission(state('gnResourceData'), 'change_resourcebase') && !context.canCopyResource(state('gnResourceData'), state('user'))}"
                                },
                                {
                                    "type": "divider",
                                    "disableIf": "{state('isNewResource') || (!state('isNewResource') && !context.resourceHasPermission(state('gnResourceData'), 'change_resourcebase') && !context.canCopyResource(state('gnResourceData'), state('user')))}"
                                },
                                {
                                    "type": "plugin",
                                    "name": "Share"
                                },
                                {
                                    "name": "Sync",
                                    "type": "plugin",
                                    "disableIf": "{!context.resourceHasPermission(state('gnResourceData'), 'change_resourcebase')}"
                                },
                                {
                                    "type": "divider",
                                    "disableIf": "{state('isNewResource') || !context.resourceHasPermission(state('gnResourceData'), 'delete_resourcebase')}"
                                },
                                {
                                    "type": "plugin",
                                    "name": "DeleteResource",
                                    "disableIf": "{!context.resourceHasPermission(state('gnResourceData'), 'delete_resourcebase')}"
                                }
                            ]
                        },
                        {
                            "labelId": "gnviewer.view",
                            "type": "dropdown",
                            "disableIf": "{state('isNewResource')}",
                            "items": [
                                {
                                    "type": "plugin",
                                    "name": "DetailViewerButton"
                                },
                                {
                                    "type": "link",
                                    "href": "{context.getMetadataDetailUrl(state('gnResourceData'))}",
                                    "labelId": "gnviewer.viewMetadata"
                                }
                            ]
                        },
                        {
                            "labelId": "gnviewer.edit",
                            "type": "dropdown",
                            "disableIf": "{state('isNewResource') || !context.resourceHasPermission(state('gnResourceData'), 'change_resourcebase')}",
                            "items": [
                                {
                                    "type": "link",
                                    "href": "{context.getMetadataUrl(state('gnResourceData'))}",
                                    "labelId": "gnviewer.editMetadata"
                                }
                            ]
                        },
                        {
                            "type": "divider",
                            "disableIf": "{!context.resourceHasPermission(state('gnResourceData'), 'change_resourcebase')}"
                        },
                        {
                            "name": "DashboardEditor",
                            "type": "plugin",
                            "disableIf": "{!state('isNewResource') && !context.resourceHasPermission(state('gnResourceData'), 'change_resourcebase')}"
                        }
                    ],
                    "rightMenuItems": [
                        {
                            "type": "plugin",
                            "name": "FullScreen"
                        }
                    ]
                }
            },
            {
                "type": "plugin",
                "name": "FullScreen"
            },
            {
                "name": "DetailViewer",
                "cfg": {
                    "containerPosition": "rightOverlay",
                    "tabs": [
                        {
                            "type": "tab",
                            "id": "info",
                            "labelId": "gnviewer.info",
                            "items": [
                                {
                                    "type": "text",
                                    "labelId": "gnviewer.title",
                                    "value": "{context.get(state('gnResourceData'), 'title')}"
                                },
                                {
                                    "type": "link",
                                    "labelId": "gnviewer.owner",
                                    "href": "{'/people/profile/' + context.get(state('gnResourceData'), 'owner.username')}",
                                    "value": "{context.getUserResourceName(context.get(state('gnResourceData'), 'owner'))}",
                                    "disableIf": "{!context.get(state('gnResourceData'), 'owner.username')}"
                                },
                                {
                                    "type": "date",
                                    "format": "YYYY-MM-DD HH:mm",
                                    "labelId": "{'gnviewer.'+context.get(state('gnResourceData'), 'date_type')}",
                                    "value": "{context.get(state('gnResourceData'), 'date')}"
                                },
                                {
                                    "type": "date",
                                    "format": "YYYY-MM-DD HH:mm",
                                    "labelId": "gnviewer.created",
                                    "value": "{context.get(state('gnResourceData'), 'created')}"
                                },
                                {
                                    "type": "date",
                                    "format": "YYYY-MM-DD HH:mm",
                                    "labelId": "gnviewer.lastModified",
                                    "value": "{context.get(state('gnResourceData'), 'last_updated')}"
                                },
                                {
                                    "type": "query",
                                    "labelId": "gnviewer.resourceType",
                                    "value": "{context.get(state('gnResourceData'), 'resource_type')}",
                                    "pathname": "/",
                                    "query": {
                                        "f": "{context.get(state('gnResourceData'), 'resource_type')}"
                                    }
                                },
                                {
                                    "type": "{context.isDocumentExternalSource(state('gnResourceData')) ? 'link' : 'text'}",
                                    "labelId": "gnviewer.sourceType",
                                    "value": "{context.get(state('gnResourceData'), 'sourcetype', '').toLowerCase()}",
                                    "href": "{context.get(state('gnResourceData'), 'href')}"
                                },
                                {
                                    "type": "query",
                                    "labelId": "gnviewer.category",
                                    "value": "{context.get(state('gnResourceData'), 'category.gn_description')}",
                                    "pathname": "/",
                                    "query": {
                                        "filter{category.identifier}": "{context.get(state('gnResourceData'), 'category.identifier')}"
                                    }
                                },
                                {
                                    "type": "link",
                                    "labelId": "gnviewer.pointOfContact",
                                    "value": "{context.getUserResourceNames(context.get(state('gnResourceData'), 'poc'))}",
                                    "disableIf": "{!context.get(state('gnResourceData'), 'poc')}"
                                },
                                {
                                    "type": "query",
                                    "labelId": "gnviewer.keywords",
                                    "value": "{context.get(state('gnResourceData'), 'keywords')}",
                                    "valueKey": "name",
                                    "pathname": "/",
                                    "queryTemplate": {
                                        "filter{keywords.slug.in}": "${slug}"
                                    }
                                },
                                {
                                    "type": "query",
                                    "labelId": "gnviewer.regions",
                                    "value": "{context.get(state('gnResourceData'), 'regions')}",
                                    "valueKey": "name",
                                    "pathname": "/",
                                    "queryTemplate": {
                                        "filter{regions.code.in}": "${code}"
                                    }
                                },
                                {
                                    "type": "text",
                                    "labelId": "gnviewer.attribution",
                                    "value": "{context.get(state('gnResourceData'), 'attribution')}"
                                },
                                {
                                    "type": "text",
                                    "labelId": "gnviewer.language",
                                    "value": "{context.get(state('gnResourceData'), 'language')}"
                                },
                                {
                                    "type": "html",
                                    "labelId": "gnviewer.supplementalInformation",
                                    "value": "{context.get(state('gnResourceData'), 'supplemental_information')}"
                                },
                                {
                                    "type": "date",
                                    "format": "YYYY-MM-DD HH:mm",
                                    "labelId": "gnviewer.temporalExtent",
                                    "value": {
                                        "start": "{context.get(state('gnResourceData'), 'temporal_extent_start')}",
                                        "end": "{context.get(state('gnResourceData'), 'temporal_extent_end')}"
                                    }
                                },
                                {
                                    "type": "link",
                                    "style": "label",
                                    "labelId": "gnviewer.viewFullMetadata",
                                    "href": "{context.getMetadataDetailUrl(state('gnResourceData'))}",
                                    "disableIf": "{!context.getMetadataDetailUrl(state('gnResourceData'))}"
                                }
                            ]
                        },
                        {
                            "type": "locations",
                            "id": "locations",
                            "labelId": "gnviewer.locations",
                            "items": "{({extent: context.get(state('gnResourceData'), 'extent'), initialExtent: context.get(state('gnResourceInitialData'), 'extent')})}"
                        },
                        {
                            "type": "linked-resources",
                            "id": "related",
                            "labelId": "gnviewer.linkedResources.label",
                            "items": "{context.get(state('gnResourceData'), 'linkedResources')}"
                        },
                        {
                            "type": "assets",
                            "id": "assets",
                            "labelId": "gnviewer.assets",
                            "items": "{context.get(state('gnResourceData'), 'assets')}"
                        }
                    ]
                }
            },
            {
                "name": "DeleteResource"
            },
            {
                "name": "Save"
            },
            {
                "name": "SaveAs"
            },
            {
                "name": "Sync"
            },
            {
                "name": "Share",
                "cfg": {
                    "containerPosition": "rightOverlay"
                }
            },
            {
                "name": "DashboardEditor",
                "cfg": {
                    "disablePluginIf": "{state('gnResourceData') && state('gnResourceData').perms && state('gnResourceData').perms.indexOf('change_resourcebase') === -1 ? true : false}",
                    "containerPosition": "leftColumn",
                    "selectedService": "{state('settings') && state('settings').dashboardCatalogueSelectedService ? state('settings').dashboardCatalogueSelectedService : ''}",
                    "services": "{state('settings') && state('settings').dashboardCatalogueServices ? state('settings').dashboardCatalogueServices : {}}",
                    "disableEmptyMap": true
                }
            },
            {
                "name": "QueryPanel",
                "cfg": {
                    "containerPosition": "leftColumn",
                    "toolsOptions": {
                        "hideCrossLayer": true,
                        "useEmbeddedMap": true
                    },
                    "spatialPanelExpanded": false,
                    "spatialOperations": [
                        {
                            "id": "INTERSECTS",
                            "name": "queryform.spatialfilter.operations.intersects"
                        },
                        {
                            "id": "CONTAINS",
                            "name": "queryform.spatialfilter.operations.contains"
                        },
                        {
                            "id": "WITHIN",
                            "name": "queryform.spatialfilter.operations.within"
                        }
                    ],
                    "spatialMethodOptions": [
                        {
                            "id": "BBOX",
                            "name": "queryform.spatialfilter.methods.box"
                        },
                        {
                            "id": "Circle",
                            "name": "queryform.spatialfilter.methods.circle"
                        },
                        {
                            "id": "Polygon",
                            "name": "queryform.spatialfilter.methods.poly"
                        }
                    ]
                }
            },
            {
                "name": "Dashboard",
                "cfg": {
                    "minLayoutWidth": 768
                }
            },
            {
                "name": "Notifications"
            }
        ],
        "map_viewer_mobile": [
            {
                "name": "ActionNavbar",
                "cfg": {
                    "containerPosition": "header"
                }
            },
            {
                "name": "Map",
                "cfg": {
                    "shouldLoadFont": false,
                    "mapOptions": {
                        "openlayers": {
                            "attribution": {
                                "container": "#footer-attribution-container"
                            },
                            "interactions": {
                                "pinchRotate": false,
                                "altShiftDragRotate": false
                            }
                        }
                    }
                }
            },
            {
                "name": "Search",
                "cfg": {
                    "withToggle": [
                        "max-width: 768px",
                        "min-width: 768px"
                    ]
                }
            },
            {
                "name": "OmniBar"
            },
            {
                "name": "Identify",
                "cfg": {
                    "showInMapPopup": true,
                    "viewerOptions": {
                        "container": "{context.ReactSwipe}"
                    }
                }
            },
            {
                "name": "Toolbar",
                "id": "NavigationBar",
                "cfg": {
                    "id": "navigationBar",
                    "layout": "horizontal"
                }
            },
            {
                "name": "MapLoading",
                "override": {
                    "Toolbar": {
                        "alwaysVisible": true
                    }
                }
            },
            {
                "name": "ZoomAll",
                "override": {
                    "Toolbar": {
                        "alwaysVisible": false
                    }
                }
            },
            {
                "name": "ZoomIn",
                "override": {
                    "Toolbar": {
                        "alwaysVisible": true
                    }
                }
            },
            {
                "name": "ZoomOut",
                "override": {
                    "Toolbar": {
                        "alwaysVisible": true
                    }
                }
            },
            {
                "name": "Expander"
            },
            {
                "name": "MapFooter"
            },
            {
                "name": "TOC",
                "cfg": {
                    "activateQueryTool": false,
                    "activateAddLayerButton": false,
                    "activateMetedataTool": false,
                    "activateSettingsTool": false,
                    "activateRemoveLayer": false,
                    "activateRemoveGroup": false,
                    "activateFilterLayer": false
                }
            },
            {
                "name": "DrawerMenu",
                "cfg": {
                    "menuOptions": {
                        "width": 350
                    }
                }
            },
            {
                "name": "Locate"
            },
            {
                "name": "BackgroundSelector",
                "cfg": {
                    "bottom": 25,
                    "dimensions": {
                        "side": 65,
                        "sidePreview": 65,
                        "frame": 3,
                        "margin": 5,
                        "label": false,
                        "vertical": true
                    }
                }
            }
        ],
        "dataset_viewer_mobile": [
            {
                "name": "ActionNavbar",
                "cfg": {
                    "containerPosition": "header"
                }
            },
            {
                "name": "Map",
                "cfg": {
                    "shouldLoadFont": false,
                    "mapOptions": {
                        "openlayers": {
                            "attribution": {
                                "container": "#footer-attribution-container"
                            },
                            "interactions": {
                                "pinchRotate": false,
                                "altShiftDragRotate": false
                            }
                        }
                    }
                }
            },
            {
                "name": "Search",
                "cfg": {
                    "withToggle": [
                        "max-width: 768px",
                        "min-width: 768px"
                    ]
                }
            },
            {
                "name": "OmniBar"
            },
            {
                "name": "Identify",
                "cfg": {
                    "showInMapPopup": true,
                    "viewerOptions": {
                        "container": "{context.ReactSwipe}"
                    }
                }
            },
            {
                "name": "Toolbar",
                "id": "NavigationBar",
                "cfg": {
                    "id": "navigationBar",
                    "layout": "horizontal"
                }
            },
            {
                "name": "MapLoading",
                "override": {
                    "Toolbar": {
                        "alwaysVisible": true
                    }
                }
            },
            {
                "name": "ZoomAll",
                "override": {
                    "Toolbar": {
                        "alwaysVisible": false
                    }
                }
            },
            {
                "name": "ZoomIn",
                "override": {
                    "Toolbar": {
                        "alwaysVisible": true
                    }
                }
            },
            {
                "name": "ZoomOut",
                "override": {
                    "Toolbar": {
                        "alwaysVisible": true
                    }
                }
            },
            {
                "name": "Expander"
            },
            {
                "name": "MapFooter"
            },
            {
                "name": "Legend"
            },
            {
                "name": "Locate"
            },
            {
                "name": "BackgroundSelector",
                "cfg": {
                    "bottom": 25,
                    "dimensions": {
                        "side": 65,
                        "sidePreview": 65,
                        "frame": 3,
                        "margin": 5,
                        "label": false,
                        "vertical": true
                    }
                }
            },
            {
                "name": "Notifications"
            }
        ],
        "geostory_viewer_mobile": [
            {
                "name": "ActionNavbar",
                "cfg": {
                    "containerPosition": "header"
                }
            },
            {
                "name": "GeoStory",
                "cfg": {
                    "hideIdentifyOptions": true,
                    "mediaEditorSettings": {
                        "sourceId": "geonode",
                        "mediaTypes": {
                            "image": {
                                "sources": [
                                    "geostory",
                                    "geonode"
                                ]
                            },
                            "video": {
                                "sources": [
                                    "geostory",
                                    "geonode"
                                ]
                            },
                            "map": {
                                "sources": [
                                    "geostory",
                                    "geonode"
                                ]
                            }
                        },
                        "sources": {
                            "geostory": {
                                "name": "geostory.storyResources",
                                "type": "geostory",
                                "addMediaEnabled": {
                                    "image": true,
                                    "video": true
                                },
                                "editMediaEnabled": {
                                    "image": true,
                                    "video": true
                                },
                                "removeMediaEnabled": {
                                    "image": true,
                                    "video": true,
                                    "map": true
                                }
                            },
                            "geonode": {
                                "name": "geostory.geoNode",
                                "type": "geonode"
                            }
                        }
                    }
                }
            },
            {
                "name": "GeoStoryNavigation",
                "cfg": {
                    "containerPosition": "header"
                }
            },
            {
                "name": "Notifications"
            }
        ],
        "dashboard_viewer_mobile": [
            {
                "name": "ActionNavbar",
                "cfg": {
                    "containerPosition": "header"
                }
            },
            {
                "name": "Dashboard",
                "cfg": {
                    "minLayoutWidth": 768
                }
            }
        ],
        "document_viewer_mobile": [
            {
                "name": "ActionNavbar",
                "cfg": {
                    "containerPosition": "header"
                }
            },
            {
                "name": "MediaViewer"
            }
        ],
        "catalogue": [
            {
                "name": "ResourcesGrid",
                "cfg": {
                    "containerSelector": "#gn-catalogue",
                    "scrollContainerSelector": "#gn-catalogue",
                    "enableGeoNodeCardsMenuItems": true,
                    "detailsTabs": [
                        {
                            "type": "tab",
                            "id": "info",
                            "labelId": "gnviewer.info",
                            "items": [
                                {
                                    "type": "text",
                                    "labelId": "gnviewer.title",
                                    "value": "{context.get(state('gnResourceData'), 'title')}"
                                },
                                {
                                    "type": "link",
                                    "labelId": "gnviewer.owner",
                                    "href": "{'/people/profile/' + context.get(state('gnResourceData'), 'owner.username')}",
                                    "value": "{context.getUserResourceName(context.get(state('gnResourceData'), 'owner'))}",
                                    "disableIf": "{!context.get(state('gnResourceData'), 'owner.username')}"
                                },
                                {
                                    "type": "date",
                                    "format": "YYYY-MM-DD HH:mm",
                                    "labelId": "{'gnviewer.'+context.get(state('gnResourceData'), 'date_type')}",
                                    "value": "{context.get(state('gnResourceData'), 'date')}"
                                },
                                {
                                    "type": "date",
                                    "format": "YYYY-MM-DD HH:mm",
                                    "labelId": "gnviewer.created",
                                    "value": "{context.get(state('gnResourceData'), 'created')}"
                                },
                                {
                                    "type": "date",
                                    "format": "YYYY-MM-DD HH:mm",
                                    "labelId": "gnviewer.lastModified",
                                    "value": "{context.get(state('gnResourceData'), 'last_updated')}"
                                },
                                {
                                    "type": "query",
                                    "labelId": "gnviewer.resourceType",
                                    "value": "{context.get(state('gnResourceData'), 'resource_type')}",
                                    "pathname": "/",
                                    "query": {
                                        "f": "{context.get(state('gnResourceData'), 'resource_type')}"
                                    }
                                },
                                {
                                    "type": "{context.isDocumentExternalSource(state('gnResourceData')) ? 'link' : 'text'}",
                                    "labelId": "gnviewer.sourceType",
                                    "value": "{context.get(state('gnResourceData'), 'sourcetype', '').toLowerCase()}",
                                    "href": "{context.get(state('gnResourceData'), 'href')}"
                                },
                                {
                                    "type": "query",
                                    "labelId": "gnviewer.category",
                                    "value": "{context.get(state('gnResourceData'), 'category.gn_description')}",
                                    "pathname": "/",
                                    "query": {
                                        "filter{category.identifier}": "{context.get(state('gnResourceData'), 'category.identifier')}"
                                    }
                                },
                                {
                                    "type": "link",
                                    "labelId": "gnviewer.pointOfContact",
                                    "value": "{context.getUserResourceNames(context.get(state('gnResourceData'), 'poc'))}",
                                    "disableIf": "{!context.get(state('gnResourceData'), 'poc')}"
                                },
                                {
                                    "type": "query",
                                    "labelId": "gnviewer.keywords",
                                    "value": "{context.get(state('gnResourceData'), 'keywords')}",
                                    "valueKey": "name",
                                    "pathname": "/",
                                    "queryTemplate": {
                                        "filter{keywords.slug.in}": "${slug}"
                                    }
                                },
                                {
                                    "type": "query",
                                    "labelId": "gnviewer.regions",
                                    "value": "{context.get(state('gnResourceData'), 'regions')}",
                                    "valueKey": "name",
                                    "pathname": "/",
                                    "queryTemplate": {
                                        "filter{regions.code.in}": "${code}"
                                    }
                                },
                                {
                                    "type": "text",
                                    "labelId": "gnviewer.attribution",
                                    "value": "{context.get(state('gnResourceData'), 'attribution')}"
                                },
                                {
                                    "type": "text",
                                    "labelId": "gnviewer.language",
                                    "value": "{context.get(state('gnResourceData'), 'language')}"
                                },
                                {
                                    "type": "html",
                                    "labelId": "gnviewer.supplementalInformation",
                                    "value": "{context.get(state('gnResourceData'), 'supplemental_information')}"
                                },
                                {
                                    "type": "date",
                                    "format": "YYYY-MM-DD HH:mm",
                                    "labelId": "gnviewer.temporalExtent",
                                    "value": {
                                        "start": "{context.get(state('gnResourceData'), 'temporal_extent_start')}",
                                        "end": "{context.get(state('gnResourceData'), 'temporal_extent_end')}"
                                    }
                                },
                                {
                                    "type": "link",
                                    "style": "label",
                                    "labelId": "gnviewer.viewFullMetadata",
                                    "href": "{context.getMetadataDetailUrl(state('gnResourceData'))}",
                                    "disableIf": "{!context.getMetadataDetailUrl(state('gnResourceData'))}"
                                }
                            ]
                        },
                        {
                            "type": "locations",
                            "id": "locations",
                            "labelId": "gnviewer.locations",
                            "items": "{({extent: context.get(state('gnResourceData'), 'extent')})}"
                        },
                        {
                            "type": "attribute-table",
                            "id": "attributes",
                            "labelId": "gnviewer.attributes",
                            "disableIf": "{context.get(state('gnResourceData'), 'resource_type') !== 'dataset'}",
                            "items": "{context.get(state('gnResourceData'), 'attribute_set')}"
                        },
                        {
                            "type": "linked-resources",
                            "id": "related",
                            "labelId": "gnviewer.linkedResources.label",
                            "items": "{context.get(state('gnResourceData'), 'linkedResources')}"
                        },
                        {
                            "type": "assets",
                            "id": "assets",
                            "labelId": "gnviewer.assets",
                            "items": "{context.get(state('gnResourceData'), 'assets')}"
                        }
                    ],
                    "allPage": {},
                    "mapsPage": {
                        "defaultQuery": {
                            "resource": "map"
                        },
                        "menuItems": [
                            {
                                "disableIf": "{(state('settings') && state('settings').isMobile) || !(state('user') && state('user').perms && state('user').perms.includes('add_resource')) ? true : false}",
                                "labelId": "gnhome.new",
                                "value": "map",
                                "type": "link",
                                "variant": "primary",
                                "href": "{context.getCataloguePath('/catalogue/#/map/new')}"
                            }
                        ],
                        "filtersFormItems": [
                            {
                                "type": "search"
                            },
                            {
                                "type": "group",
                                "labelId": "gnhome.customFiltersTitle",
                                "items": [
                                    {
                                        "id": "my-resources",
                                        "labelId": "gnhome.myResources",
                                        "type": "filter",
                                        "disableIf": "{!state('user')}"
                                    },
                                    {
                                        "id": "favorite",
                                        "labelId": "gnhome.favorites",
                                        "type": "filter",
                                        "disableIf": "{!state('user')}"
                                    },
                                    {
                                        "id": "featured",
                                        "labelId": "gnhome.featuredList",
                                        "type": "filter"
                                    },
                                    {
                                        "id": "unpublished",
                                        "labelId": "gnhome.unpublished",
                                        "type": "filter",
                                        "disableIf": "{!state('user')}"
                                    },
                                    {
                                        "id": "pending-approval",
                                        "labelId": "gnhome.pendingApproval",
                                        "type": "filter",
                                        "disableIf": "{!state('user')}"
                                    }
                                ]
                            },
                            {
                                "type": "divider",
                                "disableIf": "{!state('user')}"
                            },
                            {
                                "type": "select",
                                "facet": "category"
                            },
                            {
                                "type": "select",
                                "facet": "keyword"
                            },
                            {
                                "type": "select",
                                "facet": "place"
                            },
                            {
                                "type": "select",
                                "facet": "user"
                            },
                            {
                                "type": "select",
                                "facet": "group"
                            },
                            {
                                "type": "accordion",
                                "style": "facet",
                                "facet": "thesaurus"
                            },
                            {
                                "type": "date-range",
                                "filterKey": "date",
                                "labelId": "gnviewer.dateFilter"
                            },
                            {
                                "labelId": "gnviewer.extent",
                                "type": "extent"
                            }
                        ]
                    },
                    "documentsPage": {
                        "defaultQuery": {
                            "resource": "document"
                        },
                        "menuItems": [
                            {
                                "disableIf": "{(state('settings') && state('settings').isMobile) || !(state('user') && state('user').perms && state('user').perms.includes('add_resource')) ? true : false}",
                                "variant": "primary",
                                "labelId": "gnhome.new",
                                "value": "document",
                                "type": "link",
                                "href": "{context.getCataloguePath('/catalogue/#/upload/document')}"
                            }
                        ],
                        "filtersFormItems": [
                            {
                                "type": "search"
                            },
                            {
                                "type": "group",
                                "labelId": "gnhome.customFiltersTitle",
                                "items": [
                                    {
                                        "id": "my-resources",
                                        "labelId": "gnhome.myResources",
                                        "type": "filter",
                                        "disableIf": "{!state('user')}"
                                    },
                                    {
                                        "id": "favorite",
                                        "labelId": "gnhome.favorites",
                                        "type": "filter",
                                        "disableIf": "{!state('user')}"
                                    },
                                    {
                                        "id": "featured",
                                        "labelId": "gnhome.featuredList",
                                        "type": "filter"
                                    },
                                    {
                                        "id": "unpublished",
                                        "labelId": "gnhome.unpublished",
                                        "type": "filter",
                                        "disableIf": "{!state('user')}"
                                    },
                                    {
                                        "id": "pending-approval",
                                        "labelId": "gnhome.pendingApproval",
                                        "type": "filter",
                                        "disableIf": "{!state('user')}"
                                    },
                                    {
                                        "id": "remote",
                                        "labelId": "gnhome.remote",
                                        "type": "filter"
                                    }
                                ]
                            },
                            {
                                "type": "divider",
                                "disableIf": "{!state('user')}"
                            },
                            {
                                "type": "select",
                                "facet": "category"
                            },
                            {
                                "type": "select",
                                "facet": "keyword"
                            },
                            {
                                "type": "select",
                                "facet": "place"
                            },
                            {
                                "type": "select",
                                "facet": "user"
                            },
                            {
                                "type": "select",
                                "facet": "group"
                            },
                            {
                                "type": "accordion",
                                "style": "facet",
                                "facet": "thesaurus"
                            },
                            {
                                "type": "date-range",
                                "filterKey": "date",
                                "labelId": "gnviewer.dateFilter"
                            },
                            {
                                "labelId": "gnviewer.extent",
                                "type": "extent"
                            }
                        ]
                    },
                    "dashboardsPage": {
                        "defaultQuery": {
                            "resource": "dashboard"
                        },
                        "menuItems": [
                            {
                                "disableIf": "{(state('settings') && state('settings').isMobile) || !(state('user') && state('user').perms && state('user').perms.includes('add_resource'))}",
                                "variant": "primary",
                                "labelId": "gnhome.new",
                                "value": "dashboard",
                                "type": "link",
                                "href": "{context.getCataloguePath('/catalogue/#/dashboard/new')}"
                            }
                        ],
                        "filtersFormItems": [
                            {
                                "type": "search"
                            },
                            {
                                "type": "group",
                                "labelId": "gnhome.customFiltersTitle",
                                "items": [
                                    {
                                        "id": "my-resources",
                                        "labelId": "gnhome.myResources",
                                        "type": "filter",
                                        "disableIf": "{!state('user')}"
                                    },
                                    {
                                        "id": "favorite",
                                        "labelId": "gnhome.favorites",
                                        "type": "filter",
                                        "disableIf": "{!state('user')}"
                                    },
                                    {
                                        "id": "featured",
                                        "labelId": "gnhome.featuredList",
                                        "type": "filter"
                                    },
                                    {
                                        "id": "unpublished",
                                        "labelId": "gnhome.unpublished",
                                        "type": "filter",
                                        "disableIf": "{!state('user')}"
                                    },
                                    {
                                        "id": "pending-approval",
                                        "labelId": "gnhome.pendingApproval",
                                        "type": "filter",
                                        "disableIf": "{!state('user')}"
                                    }
                                ]
                            },
                            {
                                "type": "divider",
                                "disableIf": "{!state('user')}"
                            },
                            {
                                "type": "select",
                                "facet": "category"
                            },
                            {
                                "type": "select",
                                "facet": "keyword"
                            },
                            {
                                "type": "select",
                                "facet": "place"
                            },
                            {
                                "type": "select",
                                "facet": "user"
                            },
                            {
                                "type": "select",
                                "facet": "group"
                            },
                            {
                                "type": "accordion",
                                "style": "facet",
                                "facet": "thesaurus"
                            },
                            {
                                "type": "date-range",
                                "filterKey": "date",
                                "labelId": "gnviewer.dateFilter"
                            },
                            {
                                "labelId": "gnviewer.extent",
                                "type": "extent"
                            }
                        ]
                    },
                    "datasetsPage": {
                        "defaultQuery": {
                            "resource": "dataset"
                        },
                        "menuItems": [
                            {
                                "labelId": "gnhome.new",
                                "disableIf": "{(state('settings') && state('settings').isMobile) || !(state('user') && state('user').perms && state('user').perms.includes('add_resource'))}",
                                "type": "dropdown",
                                "variant": "primary",
                                "responsive": true,
                                "noCaret": true,
                                "items": [
                                    {
                                        "labelId": "gnhome.uploadDataset",
                                        "value": "layer",
                                        "type": "link",
                                        "href": "{context.getCataloguePath('/catalogue/#/upload/dataset')}"
                                    },
                                    {
                                        "labelId": "gnhome.createDataset",
                                        "value": "layer",
                                        "type": "link",
                                        "href": "/createlayer/",
                                        "disableIf": "{!(state('settings') && state('settings').createLayer)}"
                                    },
                                    {
                                        "labelId": "gnhome.remoteServices",
                                        "value": "remote",
                                        "type": "link",
                                        "href": "/services/?limit=5"
                                    }
                                ]
                            }
                        ],
                        "filtersFormItems": [
                            {
                                "type": "search"
                            },
                            {
                                "type": "group",
                                "labelId": "gnhome.customFiltersTitle",
                                "items": [
                                    {
                                        "id": "my-resources",
                                        "labelId": "gnhome.myResources",
                                        "type": "filter",
                                        "disableIf": "{!state('user')}"
                                    },
                                    {
                                        "id": "favorite",
                                        "labelId": "gnhome.favorites",
                                        "type": "filter",
                                        "disableIf": "{!state('user')}"
                                    },
                                    {
                                        "id": "featured",
                                        "labelId": "gnhome.featuredList",
                                        "type": "filter"
                                    },
                                    {
                                        "id": "unpublished",
                                        "labelId": "gnhome.unpublished",
                                        "type": "filter",
                                        "disableIf": "{!state('user')}"
                                    },
                                    {
                                        "id": "pending-approval",
                                        "labelId": "gnhome.pendingApproval",
                                        "type": "filter",
                                        "disableIf": "{!state('user')}"
                                    },
                                    {
                                        "id": "remote",
                                        "labelId": "gnhome.remote",
                                        "type": "filter"
                                    },
                                    {
                                        "id": "store-vector",
                                        "labelId": "gnhome.vector",
                                        "type": "filter"
                                    },
                                    {
                                        "id": "store-raster",
                                        "labelId": "gnhome.raster",
                                        "type": "filter"
                                    },
                                    {
                                        "id": "store-time-series",
                                        "labelId": "gnhome.timeSeries",
                                        "type": "filter"
                                    },
                                    {
                                        "id": "3dtiles",
                                        "labelId": "gnhome.3dtiles",
                                        "type": "filter"
                                    }
                                ]
                            },
                            {
                                "type": "divider",
                                "disableIf": "{!state('user')}"
                            },
                            {
                                "type": "select",
                                "facet": "category"
                            },
                            {
                                "type": "select",
                                "facet": "keyword"
                            },
                            {
                                "type": "select",
                                "facet": "place"
                            },
                            {
                                "type": "select",
                                "facet": "user"
                            },
                            {
                                "type": "select",
                                "facet": "group"
                            },
                            {
                                "type": "accordion",
                                "style": "facet",
                                "facet": "thesaurus"
                            },
                            {
                                "type": "date-range",
                                "filterKey": "date",
                                "labelId": "gnviewer.dateFilter"
                            },
                            {
                                "labelId": "gnviewer.extent",
                                "type": "extent"
                            }
                        ]
                    },
                    "geostoriesPage": {
                        "defaultQuery": {
                            "resource": "geostory"
                        },
                        "menuItems": [
                            {
                                "disableIf": "{(state('settings') && state('settings').isMobile) || !(state('user') && state('user').perms && state('user').perms.includes('add_resource'))}",
                                "variant": "primary",
                                "labelId": "gnhome.new",
                                "value": "geostory",
                                "type": "link",
                                "href": "{context.getCataloguePath('/catalogue/#/geostory/new')}"
                            }
                        ],
                        "filtersFormItems": [
                            {
                                "type": "search"
                            },
                            {
                                "type": "group",
                                "labelId": "gnhome.customFiltersTitle",
                                "items": [
                                    {
                                        "id": "my-resources",
                                        "labelId": "gnhome.myResources",
                                        "type": "filter",
                                        "disableIf": "{!state('user')}"
                                    },
                                    {
                                        "id": "favorite",
                                        "labelId": "gnhome.favorites",
                                        "type": "filter",
                                        "disableIf": "{!state('user')}"
                                    },
                                    {
                                        "id": "featured",
                                        "labelId": "gnhome.featuredList",
                                        "type": "filter"
                                    },
                                    {
                                        "id": "unpublished",
                                        "labelId": "gnhome.unpublished",
                                        "type": "filter",
                                        "disableIf": "{!state('user')}"
                                    },
                                    {
                                        "id": "pending-approval",
                                        "labelId": "gnhome.pendingApproval",
                                        "type": "filter",
                                        "disableIf": "{!state('user')}"
                                    }
                                ]
                            },
                            {
                                "type": "divider",
                                "disableIf": "{!state('user')}"
                            },
                            {
                                "type": "select",
                                "facet": "category"
                            },
                            {
                                "type": "select",
                                "facet": "keyword"
                            },
                            {
                                "type": "select",
                                "facet": "place"
                            },
                            {
                                "type": "select",
                                "facet": "user"
                            },
                            {
                                "type": "select",
                                "facet": "group"
                            },
                            {
                                "type": "accordion",
                                "style": "facet",
                                "facet": "thesaurus"
                            },
                            {
                                "type": "date-range",
                                "filterKey": "date",
                                "labelId": "gnviewer.dateFilter"
                            },
                            {
                                "labelId": "gnviewer.extent",
                                "type": "extent"
                            }
                        ]
                    }
                }
            },
            {
                "name": "SaveAs",
                "cfg": {
                    "closeOnSave": true
                }
            },
            {
                "name": "DeleteResource",
                "cfg": {
                    "redirectTo": false
                }
            },
            {
                "name": "DownloadResource"
            },
            {
                "name": "Notifications"
            }
        ],
        "viewer": [
            {
                "name": "ActionNavbar",
                "cfg": {
                    "containerPosition": "header",
                    "leftMenuItems": [
                        {
                            "type": "link",
                            "size": "md",
                            "href": "#/all",
                            "labelId": "gnviewer.allResources",
                            "disableIf": "{!!state('resourceParams')?.mapPk}"
                        },
                        {
                            "type": "link",
                            "href": "{'#/map/' + state('resourceParams')?.mapPk}",
                            "labelId": "gnviewer.backToMap",
                            "disableIf": "{!state('resourceParams')?.mapPk}"
                        },
                        {
                            "type": "plugin",
                            "size": "md",
                            "name": "DetailViewerButton"
                        },
                        {
                            "labelId": "gnviewer.resource",
                            "showPendingChangesIcon": true,
                            "type": "dropdown",
                            "items": [
                                {
                                    "type": "plugin",
                                    "name": "Save",
                                    "disableIf": "{!state('isNewResource') && !context.resourceHasPermission(state('gnResourceData'), 'change_resourcebase') && !context.canCopyResource(state('gnResourceData'), state('user'))}"
                                },
                                {
                                    "type": "plugin",
                                    "name": "SaveAs",
                                    "disableIf": "{!state('isNewResource') && !context.resourceHasPermission(state('gnResourceData'), 'change_resourcebase') && !context.canCopyResource(state('gnResourceData'), state('user'))}"
                                },
                                {
                                    "type": "divider",
                                    "disableIf": "{state('isNewResource') || (!state('isNewResource') && !context.resourceHasPermission(state('gnResourceData'), 'change_resourcebase') && !context.canCopyResource(state('gnResourceData'), state('user')))}"
                                },
                                {
                                    "type": "plugin",
                                    "name": "Share"
                                },
                                {
                                    "type": "divider",
                                    "disableIf": "{state('isNewResource') || !context.resourceHasPermission(state('gnResourceData'), 'delete_resourcebase')}"
                                },
                                {
                                    "type": "plugin",
                                    "name": "DeleteResource",
                                    "disableIf": "{!context.resourceHasPermission(state('gnResourceData'), 'delete_resourcebase')}"
                                }
                            ]
                        },
                        {
                            "labelId": "gnviewer.view",
                            "type": "dropdown",
                            "disableIf": "{state('isNewResource')}",
                            "items": [
                                {
                                    "type": "plugin",
                                    "name": "DetailViewerButton"
                                },
                                {
                                    "type": "link",
                                    "href": "{context.getMetadataDetailUrl(state('gnResourceData'))}",
                                    "labelId": "gnviewer.viewMetadata"
                                }
                            ]
                        },
                        {
                            "labelId": "gnviewer.edit",
                            "type": "dropdown",
                            "disableIf": "{state('isNewResource') || !context.resourceHasPermission(state('gnResourceData'), 'change_resourcebase')}",
                            "items": [
                                {
                                    "type": "link",
                                    "href": "{context.getMetadataUrl(state('gnResourceData'))}",
                                    "labelId": "gnviewer.editMetadata"
                                }
                            ]
                        },
                        {
                            "type": "divider"
                        },
                        {
                            "type": "plugin",
                            "name": "MapViewersCatalog"
                        }
                    ],
                    "rightMenuItems": [
                        {
                            "type": "plugin",
                            "name": "FullScreen"
                        }
                    ]
                }
            },
            {
                "name": "DetailViewer",
                "cfg": {
                    "containerPosition": "rightOverlay",
                    "tabs": [
                        {
                            "type": "tab",
                            "id": "info",
                            "labelId": "gnviewer.info",
                            "items": [
                                {
                                    "type": "text",
                                    "labelId": "gnviewer.title",
                                    "value": "{context.get(state('gnResourceData'), 'title')}"
                                },
                                {
                                    "type": "link",
                                    "labelId": "gnviewer.owner",
                                    "href": "{'/people/profile/' + context.get(state('gnResourceData'), 'owner.username')}",
                                    "value": "{context.getUserResourceName(context.get(state('gnResourceData'), 'owner'))}",
                                    "disableIf": "{!context.get(state('gnResourceData'), 'owner.username')}"
                                },
                                {
                                    "type": "date",
                                    "format": "YYYY-MM-DD HH:mm",
                                    "labelId": "{'gnviewer.'+context.get(state('gnResourceData'), 'date_type')}",
                                    "value": "{context.get(state('gnResourceData'), 'date')}"
                                },
                                {
                                    "type": "date",
                                    "format": "YYYY-MM-DD HH:mm",
                                    "labelId": "gnviewer.created",
                                    "value": "{context.get(state('gnResourceData'), 'created')}"
                                },
                                {
                                    "type": "date",
                                    "format": "YYYY-MM-DD HH:mm",
                                    "labelId": "gnviewer.lastModified",
                                    "value": "{context.get(state('gnResourceData'), 'last_updated')}"
                                },
                                {
                                    "type": "query",
                                    "labelId": "gnviewer.resourceType",
                                    "value": "{context.get(state('gnResourceData'), 'resource_type')}",
                                    "pathname": "/",
                                    "query": {
                                        "f": "{context.get(state('gnResourceData'), 'resource_type')}"
                                    }
                                },
                                {
                                    "type": "{context.isDocumentExternalSource(state('gnResourceData')) ? 'link' : 'text'}",
                                    "labelId": "gnviewer.sourceType",
                                    "value": "{context.get(state('gnResourceData'), 'sourcetype', '').toLowerCase()}",
                                    "href": "{context.get(state('gnResourceData'), 'href')}"
                                },
                                {
                                    "type": "query",
                                    "labelId": "gnviewer.category",
                                    "value": "{context.get(state('gnResourceData'), 'category.gn_description')}",
                                    "pathname": "/",
                                    "query": {
                                        "filter{category.identifier}": "{context.get(state('gnResourceData'), 'category.identifier')}"
                                    }
                                },
                                {
                                    "type": "link",
                                    "labelId": "gnviewer.pointOfContact",
                                    "value": "{context.getUserResourceNames(context.get(state('gnResourceData'), 'poc'))}",
                                    "disableIf": "{!context.get(state('gnResourceData'), 'poc')}"
                                },
                                {
                                    "type": "query",
                                    "labelId": "gnviewer.keywords",
                                    "value": "{context.get(state('gnResourceData'), 'keywords')}",
                                    "valueKey": "name",
                                    "pathname": "/",
                                    "queryTemplate": {
                                        "filter{keywords.slug.in}": "${slug}"
                                    }
                                },
                                {
                                    "type": "query",
                                    "labelId": "gnviewer.regions",
                                    "value": "{context.get(state('gnResourceData'), 'regions')}",
                                    "valueKey": "name",
                                    "pathname": "/",
                                    "queryTemplate": {
                                        "filter{regions.code.in}": "${code}"
                                    }
                                },
                                {
                                    "type": "text",
                                    "labelId": "gnviewer.attribution",
                                    "value": "{context.get(state('gnResourceData'), 'attribution')}"
                                },
                                {
                                    "type": "text",
                                    "labelId": "gnviewer.language",
                                    "value": "{context.get(state('gnResourceData'), 'language')}"
                                },
                                {
                                    "type": "html",
                                    "labelId": "gnviewer.supplementalInformation",
                                    "value": "{context.get(state('gnResourceData'), 'supplemental_information')}"
                                },
                                {
                                    "type": "date",
                                    "format": "YYYY-MM-DD HH:mm",
                                    "labelId": "gnviewer.temporalExtent",
                                    "value": {
                                        "start": "{context.get(state('gnResourceData'), 'temporal_extent_start')}",
                                        "end": "{context.get(state('gnResourceData'), 'temporal_extent_end')}"
                                    }
                                },
                                {
                                    "type": "link",
                                    "style": "label",
                                    "labelId": "gnviewer.viewFullMetadata",
                                    "href": "{context.getMetadataDetailUrl(state('gnResourceData'))}",
                                    "disableIf": "{!context.getMetadataDetailUrl(state('gnResourceData'))}"
                                }
                            ]
                        },
                        {
                            "type": "locations",
                            "id": "locations",
                            "labelId": "gnviewer.locations",
                            "items": "{({extent: context.get(state('gnResourceData'), 'extent'), initialExtent: context.get(state('gnResourceInitialData'), 'extent')})}"
                        },
                        {
                            "type": "linked-resources",
                            "id": "related",
                            "labelId": "gnviewer.linkedResources.label",
                            "items": "{context.get(state('gnResourceData'), 'linkedResources')}"
                        },
                        {
                            "type": "assets",
                            "id": "assets",
                            "labelId": "gnviewer.assets",
                            "items": "{context.get(state('gnResourceData'), 'assets')}"
                        }
                    ]
                }
            },
            {
                "name": "FullScreen"
            },
            {
                "name": "DeleteResource"
            },
            {
                "name": "Notifications"
            },
            {
                "name": "Save",
                "cfg": {
                    "disablePermission": true
                }
            },
            {
                "name": "SaveAs"
            },
            {
                "name": "Share",
                "cfg": {
                    "containerPosition": "rightOverlay"
                }
            },
            {
                "name": "ContextCreator",
                "cfg": {
                    "documentationBaseURL": "https://mapstore.geosolutionsgroup.com/mapstore/docs/api/plugins",
                    "backToPageDestRoute": "/context-manager",
                    "backToPageConfirmationMessage": "contextCreator.undo",
                    "stepIds": [
                        "configure-plugins"
                    ],
                    "hideUploadExtension": true,
                    "hideSaveButton": true,
                    "hideCloseButton": true,
                    "tutorials": {},
                    "themes": [],
                    "viewerPlugins": []
                }
            },
            {
                "name": "MapViewersCatalog"
            }
        ]
    }
}