Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Edit Mode] New editable plot options element for plots #638

Closed
akhenry opened this issue Jan 25, 2016 · 14 comments
Closed

[Edit Mode] New editable plot options element for plots #638

akhenry opened this issue Jan 25, 2016 · 14 comments
Assignees
Milestone

Comments

@akhenry
Copy link
Contributor

akhenry commented Jan 25, 2016

Changes to plotting require some user-modifiable options to be available in edit mode for customizing the plot. The property sheet will be a form, and must support different data types as well as validation.

The options available will differ per view type, so a general solution is required. This could be supported via a new a 'viewOptions' (or 'propertySheet', or something similarly named) attribute added to type definitions. It will only be valid for view type objects (does this require validation at registration time?).

My planned approach to this is to use a representation for the property sheet. The 'propertySheet' attribute on the type definition could be a simple as a template name to pass to the representation initially. We could also support form definition here, instead of view definition. This would be a little more involved, but if we have time we might consider it for this or next sprint.

Is there a new view type needed for this? My feeling is no. The solution should be easily applicable to any view, so I can just apply it to plots and panels for now. If plots and panels are combined at some point in the future, then it can be applied to the new view type that comes out of that process.

@larkin
Copy link
Contributor

larkin commented Jan 26, 2016

I like the short term plan of a custom representation per object type. Would suggest a name that describes the location of the view(inspector panel) and not the purpose (propertySheet). How about inspectorBrowseView and inspectorEditView?

Long term:
Worth looking at current code for metadata capability, info bubble gesture, and current inspector. Maybe not replace those immediately, but soon. The default inspectorBrowseView could be the current metadata driven inspector.

Similarly, look at form schema defined on type extensions and see if we want to keep going with that. The default inspectorEditView could be the standard "edit properties" dialog.

@VWoeltjen
Copy link
Contributor

In the current extension API, I'd be inclined to express this as another property of extensions in the views category:

"views": [
    {
        "key": "plot",
        "name": "Plot",
        "properties": [
            {
                "key": "showPointMarkers",
                "control": "checkbox"
            }
        ],
        "defaultConfiguration": {
            "showPointMarkers": false
        }
    }
]

Then the inspector could just show an mct-form of the appropriate properties of the view's configuration object (initialized to a defaultConfiguration). This is largely similar to the way Edit Properties prepares dialogs based on type definitions. Implementation should be low-effort.

One benefit of this is that it cleanly separates view configuration (properties which effect just this view of an object) from object properties (changes to the object itself, which may in principle effect any view.)

@larkin
Copy link
Contributor

larkin commented Jan 26, 2016

I think you're treating views and objects as separate things, but here we're moving to "the view is the object." In this context, the object is either a plot or a table and has it's own configuration that is / can be persisted.

We could use the object edit properties but I don't believe that can be made flexible enough to support our requirements in the time period we have, and I'd prefer not to commit to form generation in platform based on the requirements we have right now.

As far as requirements, we need to support customizing interpolation and marker style per plot line, as well as selecting columns from a dynamic list of columns. Thats where I push for a more flexible option (custom view with a controller that dynamically updates form) that allows this functionality, and allows us to distill out features that we should support in the platform in a future release.

@charlesh88
Copy link
Contributor

@akhenry The options for No Line | Step Line | Linear Line need to be radio buttons - they're checkboxes right now. My intention is to make a custom radio button control in the same way that we have one now for the checkbox - was thinking I'd do that first, then check in that element as a control.

Also, when I add additional elements to a Panel while in Edit mode (which is the only way I can see the Inspector/Display element right now) they are not automatically appearing in the Inspector - but they need to.

@akhenry
Copy link
Contributor Author

akhenry commented Feb 2, 2016

@charlesh88 Thanks for looking at this so promptly.

Ah, yep, oversight on the checkboxes, I'll switch them to radios.

That's interesting that you don't see the display section in browse mode, you should be seeing it. I'll look into that.

@charlesh88
Copy link
Contributor

@akhenry Sorry, terrible wording: I do see it in Browse mode, what I meant to say was I'm only seeing it for Panels right now. This should also be available in the Telemetry point plot views as well.

On the radios, they need to be custom controls. I'm about to check in a styled, custom radio mctControl.

@akhenry
Copy link
Contributor Author

akhenry commented Feb 2, 2016

@charlesh88 Ah good, because I was stumped about what could be causing it to only display in Edit mode :)

Yep, no problem, I'll switch them to radios when the radio control is available. I'll also update the developer guide to mention the new control type.

charlesh88 added a commit that referenced this issue Feb 2, 2016
open #638
Markup and initial CSS
charlesh88 added a commit that referenced this issue Feb 2, 2016
open #638
(cherry picked from commit 10c3ffc)
charlesh88 added a commit that referenced this issue Feb 2, 2016
open #638
(cherry picked from commit 339faf5)
charlesh88 added a commit that referenced this issue Feb 2, 2016
@akhenry
Copy link
Contributor Author

akhenry commented Feb 2, 2016

@charlesh88 A point of clarification on the UI design. Is the "Markers" control supposed to be a radio or a checkbox? If a radio, it looks from the UI spec that it should be in a different radio group to the other buttons, is that correct?

@charlesh88
Copy link
Contributor

@akhenry

  • The icomoon file is a config file for the symbols font; it is supposed to be checked in.
  • Per the UI, markers is a checkbox. Were you able to see the latest UI doc? There's a callout on pg 35 for this.

@akhenry
Copy link
Contributor Author

akhenry commented Feb 2, 2016

Per the UI, markers is a checkbox. Were you able to see the latest UI doc? There's a callout on pg 35 for this.

Yup, using the latest UI doc. Apologies, just missed the details on page 35.

@charlesh88
Copy link
Contributor

@akhenry No worries.
@larkin On the icomoon file, my bad: put an updated file in the wrong place and added as new without realizing. I'll cherry pick the change into the work I'm doing for the forms layout, which is happening in a new topic branch open638b. When you merge that into open638, that'll fix the icomoon file as well.

charlesh88 added a commit that referenced this issue Feb 3, 2016
charlesh88 added a commit that referenced this issue Feb 3, 2016
charlesh88 added a commit that referenced this issue Feb 3, 2016
open #188
open #638
Removed wrongly placed new file; updated old
file with latest project config;
(cherry picked from commit 4926ccb)
charlesh88 added a commit that referenced this issue Feb 3, 2016
open #638
Major progress on form-row markup and CSS when
in Inspector 'part' context; General fixes cleanups
to custom checkbox/radio CSS;
charlesh88 added a commit that referenced this issue Feb 3, 2016
open #638
Added custom radio button control and modified
PlotOptionsController / plotOptionsStructure
accordingly; spacing, borders, etc. are
all as finally intended;
akhenry added a commit that referenced this issue Feb 3, 2016
akhenry pushed a commit that referenced this issue Feb 4, 2016
open #638
Major progress on form-row markup and CSS when
in Inspector 'part' context; General fixes cleanups
to custom checkbox/radio CSS;
akhenry pushed a commit that referenced this issue Feb 4, 2016
open #638
Added custom radio button control and modified
PlotOptionsController / plotOptionsStructure
accordingly; spacing, borders, etc. are
all as finally intended;
akhenry added a commit that referenced this issue Feb 4, 2016
…th domain object model.

Fixed failing test

Added tests

jslint errors

Minor refactoring of layout bundle

revert layout/bundle.json
akhenry added a commit that referenced this issue Feb 4, 2016
akhenry added a commit that referenced this issue Feb 4, 2016
Fixed jsdoc

Fixed incorrect memberof declaration
akhenry added a commit that referenced this issue Feb 4, 2016
Fixed jsdoc

Fixed incorrect memberof declaration

Corrected memberof statement
akhenry added a commit that referenced this issue Feb 9, 2016
akhenry added a commit that referenced this issue Feb 9, 2016
[Plots] #638 Fixing failing tests

[Plot] Changed PlotOptionsController to prototype form

Fixed spacing

Fixed jslint issue
akhenry added a commit that referenced this issue Feb 23, 2016
@charlesh88 charlesh88 modified the milestones: Clarke, Gibson Mar 7, 2016
@akhenry akhenry modified the milestones: Heinlein, Gibson Apr 4, 2016
@VWoeltjen
Copy link
Contributor

Don't see Plot Options in testathon 20160418 and issue is still open, think we should remove unverified label

@charlesh88
Copy link
Contributor

Testathon 041816
Per Andrew, this hasn't been fixed yet. Removing "unverified" label.

@akhenry akhenry modified the milestones: Heinlein, Herbert Apr 19, 2016
@VWoeltjen
Copy link
Contributor

Implemented and verified in VISTA

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants