GithubHelp home page GithubHelp logo

bioversity / pgrdg Goto Github PK

View Code? Open in Web Editor NEW
2.0 2.0 1.0 179.65 MB

Plant Genetic Resource Diversity Gateway

CSS 2.31% HTML 44.91% Ruby 0.01% Shell 0.01% JavaScript 47.59% Python 0.20% ApacheConf 0.02% PHP 4.72% C 0.01% Scheme 0.01% GLSL 0.01% CoffeeScript 0.07% XSLT 0.01% Go 0.01% Smarty 0.14% Makefile 0.01% Batchfile 0.01%

pgrdg's People

Contributors

gubi avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Forkers

gubi

pgrdg's Issues

Login system

Develop a login system according to Milko's Service

Home page layout

The menus on the right and the text juxtapose when the side of the window in not big, the text could be moved on top of the menus so that they do not mix.

TODO: functions for Cyper class

Create these functions in Cypher class:

  • send_to_service()
  • decrypt_message()

and finish to develop these functions:

  • encrypt_message()
  • export_key_to_server()

Default zoom level may disable map

Try searching for Elevation, set a range from 6000 to 7400, then try looking at map.
The map is frozen and you cannot do anything.
This might be because the cluster default zoom is greater than the map's maximum zoom: this should be checked.

Add points count on summary boxes

Service

  • matchTagsByLabel's response must returns also the number of markers that will be displayed on relative map (@milko)

Interface

  • Change panel's colour if markers are more than 10k (class panel-danger) or disable buttons if markers are 0
  • Add a cloud on "Show on map" button with this text: Too many points (xxx) , reduce your selection.

Map freeze if markers has Service call assigned

The function $.add_geojson_cluster has the Service query for load marker's tooltip contents that cause map crash:

markers.on("click", function(m) {
        var objp = {};
        objp.storage_group = "results";
        objp[kAPI_REQUEST_OPERATION] = kAPI_OP_GET_UNIT;
        objp.parameters = {};
        objp.parameters[kAPI_REQUEST_LANGUAGE] = lang;
        objp.parameters[kAPI_REQUEST_PARAMETERS] = {};
        objp.parameters[kAPI_REQUEST_PARAMETERS][kAPI_PARAM_LOG_REQUEST] = "true";
        objp.parameters[kAPI_REQUEST_PARAMETERS][kAPI_PARAM_ID] = m.layer.feature.properties.id;
        objp.parameters[kAPI_REQUEST_PARAMETERS][kAPI_PARAM_DATA] = kAPI_RESULT_ENUM_DATA_FORMAT;
        objp.parameters[kAPI_REQUEST_PARAMETERS][kAPI_PARAM_DOMAIN] = m.layer.feature.properties.domain;
        $.ask_to_service(objp, function(marker_content) {
                $.each(marker_content.results, function(domain, rows) {
                        //$("#marker_content").find(".modal-title").html(rows[7].name + " " + domain);
                        $("#marker_content").find(".modal-body").html($.parse_row_content(rows));
                });
                $("#marker_content").modal("show");
                $("#marker_content a.text-info").popover({container: "body", placement: "auto", html: "true", trigger: "hover"});
        });
});

Map providers selection and behaviour

The map selection should be divided as follows:

A. Empty base maps

Provider Title Level
Esri.WorldImagery Satellite 0
Esri.WorldTerrain Terrain 0
Esri.WorldPhysical Physical 0

B. Labelled base maps

Provider Title Level
ThunderForest.OpenCycleMap Cycle 0
ThunderForest.Outdoors Outdoors 0
OpenStreetMap.Hot Streets 0
OpenStreetMap.BlackAndWhite Streets (black & white) 0

C. Labels

Provider Title Level
OpenMapSurfer.AdminBounds Boundaries 110
Acetate.roads Roads 120
Acetate.labels Labels 130

D. Environmental layers

To be decided.

E. Climate layers

Provider Title Level
OpenWeatherMap.Clouds Clouds 310
OpenWeatherMap.CloudsClassic Clouds (enhanced) 310
OpenWeatherMap.Precipitation Precipitation 320
OpenWeatherMap.PrecipitationClassic Precipitation (enhanced) 320
OpenWeatherMap.Rain Rain 330
OpenWeatherMap.RainClassic Rain (enhanced) 330
OpenWeatherMap.Pressure Pressure 340
OpenWeatherMap.PressureContour Pressure (contour) 340
OpenWeatherMap.Wind Wind 350
OpenWeatherMap.Temperature Temperature 360
OpenWeatherMap.Snow Snow 370

The level column represents the default level.

Level 0 represents the background, levels larger than zero represent the foreground. If the library represents this in the inverse order, just look at this text upside-down.

All maps in layer groups A and B share a single level, 0, which represents the background. Whenever a map is selected, the current contents of the level are replaced by the new one.

Layer groups A, B and C have static levels, which means that their order cannot change.

Layer groups D and E have dynamic levels, which means that the user may re-arrange them to change their background/foreground order. The preferred way would be to allow dragging the selected elements to indicate the order.

Elements in map layer E which share the same default level are to be considered variations of the same layer: for instance, Clouds and Clouds (enhanced) represent the same layer, except that they are two variations of the same theme, this means that when their order is changed, both elements will share the new level.

Whenever a map from layer A is selected, all other layers are enabled; when an element of layer B is selected, layer group C is disabled.

The default layer map is Esri.WorldImagery.

All layer group elements with a maximum zoom level lower than the current zoom level should be disabled; this means that maps become enabled as the used reduces the zoom level.

Bugged map tools

The developing of map tools must be completed.

On the interface

  • Add marker (function exists but no integrated on map)
  • Add tooltip (function exists but no integrated on map)
  • Measure distances (not working perfectly)

Login form links

The following features must be added to the login form:

  • A way to restore password
  • A description for the invitation policy
  • A link for require an invitation

Operators service need to be extended

Need a Service that includes all main constants and returns an object.
This Service will be called by an asynchronous reques and then stored in user's local cache.

What I'm going to see on map?

As showned below, when the map is displayed there's no way to know what markers are going to show.
Find a solution to "summarise" what is displayed.

map markers

Version 2

Map functionalities

Layers

  • Layers management
  • Drag and drop layers position

Tools

  • Distance measurement
  • Show position on click
  • Add Marker

Features that must be added to the API

  • Token for admins (allows operation directly via API)
  • Manage local RSA key (renew) for allow communications with remote service server
  • Caching system (mem_cached)

Measurements display

Currently measurements is shown on left panel.
Show measurements on the bottom-center text

Convert url to links

in raw data details, urls might be converted to links.
Do not forget to add target="_blank" as html attribute.

detect link

Marker colours

Create a system to auto-manage marker colours and then let the user to choose its own preferred (on each marker and on a group of markers)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.