Coder Social home page Coder Social logo

atlas-editor's People

Contributors

deenhaque avatar dellisd avatar vinhvn avatar

Watchers

 avatar  avatar  avatar

atlas-editor's Issues

Handle modifications to feature properties

When a feature's properties have been modified, the changes to those properties should be updated in-memory.
i.e. if you edit a property, and then select another feature, those changes should still be present when you select the original feature again.

  • Persist changes to props in-memory
  • Add "changes not saved" indicator when changes are present

Show outline of feature that is currently being hovered over

When a feature is moused over, an outline of that feature should be highlighted.

This can be done using mapbox's "feature state" functionality, which allows the styling of a feature to be adjusted if a feature is selected. Alternatively (and necessary if we only want to show the outline), the feature that is being hovered over can be copied to a special line layer that is styled to look like an outline.

Add support for modifying feature properties

Now that we can view feature properties, we need to add the capability to edit the properties in those features. This will involve upgrades to the side panel UI, as well as additional logic to handle changes to those property values.

Stylize the side panel

To better-support feature prop editing, we need to stylize the side panel.

This should include:

  • Making the side panel a fixed width (optionally resizable)
  • Add text input widgets for feature prop values (only text needs to be supported for now)
  • Add style to the side panel, feature prop editor should look and feel like a "form"

Display Feature Properties in Side Panel

When a user clicks on a feature on the map, its properties should be shown in the editor's side panel.

Subtasks:

(the display doesn't need to be fancy. Just a few rows of text for this task)

Save feature prop modifications to files

Once changes have been made to feature properties, we will need a way to save these changes back to the files that the features were imported from.

Since we treat a folder as a "project", and we import multiple files worth of features, we'll need to keep track of which object (in memory) came from which file, that way we can write the changes to the appropriate files.

Read GeoJSON Files and Display on Map

When the editor is open nothing is displayed (on the map).

To display data, the user should have to open a folder (similar to how VSCode or other editors work). If that folder contains valid GeoJSON files (with a .json or .geojson extension) they should be loaded into the editor and displayed on the map using a Line layer.

As a list, this task should cover:

Enhance map interactions

We can now click on features and view their properties in the side panel.

To enhance the user experience, we should add some visual indicators for when the user is interacting with the map.

Change the index.html boilerplate

In index.html, the meta tag still says boilerplate stuff like Web site created using create-react-app.

Let's change it to something 🌟atlas🌟 specific!

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.