openmct/platform/commonUI/edit
Pete Richards 01a39f4fb7 [Inspector] More vue
commit 9b735b4f70bf4d21f64a1e418a5f9d7342567104
Author: Pete Richards <peter.l.richards@nasa.gov>
Date:   Fri Aug 31 16:31:48 2018 -0700

    Slight HTML tweak

commit 3e58e140f9ea3640e5551d5f43abf837610c6fb4
Author: Pete Richards <peter.l.richards@nasa.gov>
Date:   Fri Aug 31 16:26:36 2018 -0700

    [Inspector] Wire up elements pool

    Elements pool wired up to show angular elements pool.

commit d9c60f31bd6d32a5d2e2227d5476edd81e2e4360
Author: Pete Richards <peter.l.richards@nasa.gov>
Date:   Fri Aug 31 13:56:04 2018 -0700

    [Inspector] vue inspector

    Create a vue inspctor which responds to selection events and shows
    object properties and inspector views.
2018-08-31 16:34:03 -07:00
..
res/templates Review and integrate UI enhancements (#2078) 2018-06-29 11:18:50 -07:00
src Squashed commit of the following: 2018-08-31 12:03:15 -07:00
test Build refactor to webpack (#2139) 2018-08-07 14:47:50 -07:00
bundle.js [Inspector] More vue 2018-08-31 16:34:03 -07:00
README.md [Navigation] remove mct-before-unload 2016-12-20 16:43:23 -08:00

Contains sources and resources associated with Edit mode.

Extensions

Toolbars

Views may specify the contents of a toolbar through a toolbar property in their bundle definition. This should appear as the structure one would provide to the mct-toolbar directive, except additional properties are recognized to support the mediation between toolbar contents, user interaction, and the current selection (as read from the selection property of the view's scope.) These additional properties are:

  • property: Name of the property within a selected object. If, for any given object in the selection, that field is a function, then that function is assumed to be an accessor-mutator function (that is, it will be called with no arguments to get, and with an argument to set.)
  • method: Name of a method to invoke upon a selected object when a control is activated, e.g. on a button click.
  • exclusive: Optional; true if this control should be considered applicable only when all elements in the selection has the associated property. Otherwise, only at least one member of the current selection must have this property for the control to be shown.

Controls in the toolbar are shown based on applicability to the current selection. Applicability for a given member of the selection is determined by the presence of absence of the named property field. As a consequence of this, if undefined is a valid value for that property, an accessor-mutator function must be used. Likewise, if toolbar properties are meant to be view-global (as opposed to per-selection) then the view must include some object to act as its proxy in the current selection (in addition to whatever objects the user will conceive of as part of the current selection), typically with inclusive set to true.

Selection

The selection property of a view's scope in Edit mode will be initialized to an empty array. This array's contents may be modified to implicitly change the contents of the toolbar based on the rules described above. Care should be taken to modify this array in-place instead of shadowing it (as the selection will typically be a few scopes up the hierarchy from the view's actual scope.)