Coder Social home page Coder Social logo

druid-extras's People

Contributors

giannissc avatar

Watchers

 avatar

druid-extras's Issues

Grid Layout Widget

Workflow:

  • Grid Widget is initialized with a number of rows/columns.
  • Each child widget specifies its starting row/column and its span
  • Children can optionally set their staring position relative to other elements (using IDs)

Relevant Resources:

Area + Item Selection

Enable patterns such as:

  • Click -> single item selection
  • Ctrl + Click -> discontinuous item selection
  • Shift + Click -> continuous item selection
    using a SelectionController

Enable area selection using a mouse with a selection widget. The selection widget uses the selection controller to handle keyboard+mouse combos and has internal logic for MouseMove and painting a transparent selection rectangle

Relevant Resources:

Zoom Controller

Example: node graph, map, a pdf page or an image that is too large for the widget

Zoom/Panning/Scroll Controller

Example usecases:

  • node graph
  • map
  • infinite canvas
  • a pdf page larger than widget size
  • image larger than widget size

Controllers:

  • Zoom Controler -> Ctrl + Wheel event handling
  • Scroll Controller -> up/down + left/right (for mice that have this functionality) wheel event handling. + Interacetion with scroll ui elements
  • Pan Controller -> Middle Click + Drag - Widget interaction handling. There are two scenarios for this:
    • Normal Widget: Elements might extend beyond the boundaries of viewport and will need to be clipped
    • Virtual Widget: Widget elements never extend beyond viewport. Widget processes and renders only elements within the viewport.

Relevant Resrouces:

InputBox Widgets

  • Text (Druid's TextBox)
  • Interger
  • Float
  • Password
  • Calendar
  • Time
  • Validation (Druid's ValueTextBox)

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.