Commit Graph

962 Commits

Author SHA1 Message Date
Victor Woeltjen
874efa40ea [Layout] Avoid infinite digest error
Perform initial population of scope in mct-representation
at link time, instead of waiting for watches to be fired;
this avoids the need for extra digest iterations, which
Angular detects as indicators of infinite loops (throwing
exceptions accordingly.) Fixed in the context of supporting
transition of editable Layouts, because these errors were
being thrown upon exiting Edit mode. WTD-535.
2014-12-05 15:22:14 -08:00
Victor Woeltjen
b1457c9eaf [Layout] Add un-minified Angular
Add un-minified Angular and source mappings to aid
in debugging infinite digests. These are occurring
when leaving Edit mode, e.g. after editing a Layout,
so this is needed to complete transition of the
Layout object type. WTD-535.
2014-12-05 15:15:38 -08:00
Victor Woeltjen
a0486495c4 [Layout] Cache reference to body later in mct-drag
Get a reference to the body element at link-time,
instead of instantiation time, from the mct-drag
directive. Failure to do so causes the reference
to fall out of date when switching between Browse
and Edit mode.

Supports position/sizing interactions for Layout
view, WTD-535.
2014-12-05 14:21:10 -08:00
Victor Woeltjen
7080ca585e [Layout] Avoid infinite digest exception
Auto-expand tree nodes on a timeout, instead of immediately.
This is necessary in cases where auto-expansion several
layers deep occurs; if done immediately, each expansion
will trigger a new digest cycle, which at a certain depth
will appear to Angular as unstable.

Done in the context of WTD-535.
2014-12-05 13:31:57 -08:00
Victor Woeltjen
7dadc62f23 [Layout] Store position/size changes
Store changes to the size and position of panels in a
layout to its configuration. The mct-representation
directive (and its constituent parts) is responsible
for detecting and persisting these changes as
appropriate. WTD-535.
2014-12-05 12:49:40 -08:00
Victor Woeltjen
a6de53c118 [Layout] Add auto-save behavior
Add an EditRepresenter which detects changes to domain
object model or view configuration and, when these
occur, triggers mutation and persistence of the domain
object. (Note that in Edit mode, 'persistence' only
flags an object as dirty; actual persistence does not
occur until the user chooses Save.)

This supports editing of position/size in Layout mode,
and the persistence of those changes. WTD-535
2014-12-05 12:48:21 -08:00
Victor Woeltjen
67b9af54b3 [Layout] Add notion of representers
Add representers as a category of extension; these are extra
steps to perform when representing a domain object. This
will be used to support automatic mutation/persistence of
domain objects from a watch, while avoiding bloat within
the mct-representation directive itself. This, in turn,
simplifies the persistence strategy to be employed by
Layout views when editing concludes. WTD-535.
2014-12-05 09:46:21 -08:00
Victor Woeltjen
b50f40f399 [Layout] Fix view switcher in frame
Recognize choice from the view switcher in a frame
in a Layout and display that chosen view. WTD-535.
2014-12-05 09:13:16 -08:00
Victor Woeltjen
f61eb143e7 [Layout] Restrict Items view to folders
Restrict the Items view to folders, such that it does not
show for Layouts (and, more broadly, for any non-folders.)
WTD-535.
2014-12-05 09:12:35 -08:00
Victor Woeltjen
ffb9352da0 [Layout] Disallow editing when not in edit mode
Disallow positioning and resizing of frames within a layout
when not in Edit mode. WTD-535.
2014-12-05 09:07:58 -08:00
Victor Woeltjen
04649d6d71 [Layout] Add remaining panel handles
Add remaining panel handles to allow sizing and positioning
of frames within a layout. WTD-535.
2014-12-05 09:04:22 -08:00
Victor Woeltjen
707641d5b6 [Layout] Trigger digest from mct-drag
Trigger digest using scope. during mct-drag
interactions, to ensure that changes which have
resulted from the drag are applied promptly.
WTD-535.
2014-12-05 08:55:54 -08:00
Victor Woeltjen
847144c630 [Layout] Utilize mct-drag
Utilize mct-drag in the layout view to allow editing
of frame position by drag. WTD-535.
2014-12-05 08:51:41 -08:00
Victor Woeltjen
b941557b41 [Layout] Fix errors in mct-drag
Properly reset the initial drag position tracked by the
mct-drag position so that multiple drags upon the same
element are correctly offset from an initial position.
Also, preventDefault from events to avoid selection
highlights during drag.

Supports editing Layout objects, for WTD-535.
2014-12-05 08:50:45 -08:00
bwyu
505b6ee241 Merge remote-tracking branch 'origin/wtd575' into open-master
Conflicts:
	bundles.json
2014-12-05 00:44:22 -08:00
Victor Woeltjen
479aaa09fb [Layout] Add mct-drag directive
Add an mct-drag directive to support various draggable
things, including frames in a layout. WTD-535.
2014-12-04 14:45:19 -08:00
Victor Woeltjen
8956be1209 [Layout] Add methods for interaction
Add methods for tracking interactions with
frames in a layout. WTD-535.
2014-12-04 14:01:41 -08:00
Victor Woeltjen
4db2febbb3 [Layout] Add LayoutController
Add a controller for Layouts to choose frame
positions. WTD-535.
2014-12-04 13:22:39 -08:00
Victor Woeltjen
7b1c275dee [Layout] Use refactored switcher in Edit
Update templates for Edit mode to reflect
simplifications to the view switcher introduced
to support its use on Layouts, transitioned for
WTD-535.
2014-12-04 12:32:35 -08:00
Victor Woeltjen
2c0574abff [Layout] Update view switcher spec
Update spec for ViewSwitcherController to reflect
refactoring to simplify usage, performed in the
context of transitioning Layouts. WTD-535.
2014-12-04 12:17:43 -08:00
Victor Woeltjen
1b9f9a8db7 [Layout] Move spec for view switcher
Move spec for view switcher from bundle
platform/commonUI/browse to bundle
platform/commonUI/general to reflect refactoring
to simplify usage in other places (including in
Layouts, which are being transitioned for
WTD-535.)
2014-12-04 12:15:22 -08:00
Victor Woeltjen
6cd0cd8e3c [Layout] Refactor view switcher
Refactor view switcher to simplify it; treat it
as a representation of a domain object that modifies
an ng-model. This simplifies reuse, e.g. in frames
within a layout. WTD-535.
2014-12-04 12:12:41 -08:00
Victor Woeltjen
cbb77f0a14 [Layout] Initial layout templates
Bring over and perform initial transition of templates
for the Layout view. WTD-535.
2014-12-04 11:53:05 -08:00
Victor Woeltjen
e1ba2487b3 [Layout] Add Layout type
Add the type definition for Layout domain objects.
Part of transitioning Layouts, WTD-535.
2014-12-04 10:42:54 -08:00
Victor Woeltjen
ba14aeabc6 [Forms] Complete specs
Fill in new specs and amend existing specs to ensure
full coverage after integration of forms component,
and associated changes. WTD-593.
2014-12-03 17:59:37 -08:00
Victor Woeltjen
6fb5da1b35 [Forms] Prune obsolete specs
Prune obsolete specs after changes made to support
integration of forms component, WTD-593.
2014-12-03 17:26:02 -08:00
Victor Woeltjen
5aff4e3777 [Forms] Edit Properties specs
Add baseline specs (not yet matched up to current implementation)
for Edit Properties action. WTD-593.
2014-12-03 17:07:01 -08:00
Victor Woeltjen
a8f2de6f5e [Forms] Remove obsolete declaration
Remove obsolete controller declaration (this was triggering
warnings in the console.) WTD-593.
2014-12-03 17:03:06 -08:00
Victor Woeltjen
61cee6d8f8 [Forms] Change CreateWizard method name
Change CreateWizard method name to be consistent
with terms used for form structure elsewhere.
WTD-593.
2014-12-03 17:00:22 -08:00
Victor Woeltjen
bbd0271fc5 [Forms] Add Edit Properties
Add the Edit Properties action, now that Forms are
available to support it. Integration of forms
component, WTD-593.
2014-12-03 16:50:14 -08:00
Victor Woeltjen
328a19f040 [Forms] Fix properties for generator
Fix properties for the sine wave generator (an example
bundle) such that it displays appropriately in the Create
menu after integration of the forms component, WTD-593.
2014-12-03 16:21:00 -08:00
Victor Woeltjen
75f4daa5c3 [Forms] Add specs, doc for CompositeController
Add spec and in-line documentation for CompositeController,
introduced to support integration of forms with the Create
menu, WTD-593.
2014-12-03 16:19:01 -08:00
Victor Woeltjen
218f732dc2 [Forms] Add CompositeController
Add a controller for composite controls; this is used
to flag contained controls as required when they have
been partially filled in (to treat entering one of two
such fields as invalid.) WTD-593.
2014-12-03 16:07:46 -08:00
Victor Woeltjen
6a6797bf53 [Forms] Handle required flag in composite controls
Handle the ng-required flag in composite controls.
WTD-593.
2014-12-03 15:51:42 -08:00
Victor Woeltjen
d54524a96c [Forms] Provide initial property arrays
Provide initial empty arrays for type properties that
are array-like; this is needed to support two-way data
binding for composite controls. Part of ongoing integration
of forms component, WTD-593.
2014-12-03 15:19:23 -08:00
Victor Woeltjen
363a6f6b47 [Forms] Add composite control type
Add a type for composite controls, to allow populating
arrays (e.g. preferred size). WTD-593.
2014-12-03 15:08:41 -08:00
Victor Woeltjen
3d95c8b744 [Forms] Tie OK button to validation
Enable/disable the confirmation button in overlay dialogs
such that it is only enabled when the included form is
valid. WTD-593.
2014-12-03 14:08:42 -08:00
Victor Woeltjen
1753aa6784 [Forms] Add placeholder spec for Locator
Add placeholder spec for the LocatorController, introduced
to support forms used from the Create menu. Part of ongoing
integration of forms bundle, WTD-593.
2014-12-03 14:04:44 -08:00
Victor Woeltjen
2476941eb2 [Forms] Add Locator control
Add Locator form control, to allow selection of a
destination for newly-created domain objects in a
tree. WTD-593.
2014-12-03 13:51:07 -08:00
Victor Woeltjen
9dd0a54568 [Forms] Initialize model from form value
Correctly initialize domain object model from form
value upon domain object creation. Integration of
forms component, WTD-593.
2014-12-03 13:44:27 -08:00
Victor Woeltjen
e04b9828ea [Forms] Use ng-model for tree state
Use ng-model when communicating state to/from the
tree in browse mode. This will simplify implementation
of the Locator control, which also uses a tree, but
which should not set navigation state. WTD-593.
2014-12-03 13:18:51 -08:00
Victor Woeltjen
80ba6f4da3 [Forms] Reorganize Create templates
Reorganize templates associated with the Create menu in
preparation for adding the Locator control, used to
specify the destination folder for object creation.
WTD-593.
2014-12-03 12:56:53 -08:00
Victor Woeltjen
ccdd1bcd57 [Forms] Adjust Create form formats
Adjust formats used in Create forms to match those used
by the mct-form directive. Integration of forms bundle,
WTD-593.
2014-12-03 12:52:51 -08:00
Victor Woeltjen
d0e29befa6 [Forms] Use forms from DialogService
Use the mct-form when displaying a dialog for user input,
replacing the placeholder textarea used prior to integration
of the forms bundle. WTD-593.
2014-12-03 12:32:00 -08:00
Victor Woeltjen
2bee842509 [Forms] Merge in forms bundle
Merge in forms bundle from its development branch
to begin work integrating Forms into the general
UI, for WTD-593.
2014-12-03 12:22:12 -08:00
Victor Woeltjen
a6fc9badfe [Persistence] Hide dangling underscores
Hide dangling underscores; JSLint considers these a problem
and the command line build fails as a consequence when they
are present directly in the code, but CouchDB provides these
so we cannot avoid them entirely. So, hide them behind
variables and use []-style lookup.

Concludes transition work for the CouchDB persistence adapter,
WTD-537.
2014-12-03 08:59:40 -08:00
Victor Woeltjen
9b47e47e93 [Persistence] Add JSDoc
Fill in JSDoc for the CouchDB adapter which provides
the ability to persist domain object models. Part of
ongoing transition of the platform/persistence bundle,
WTD-537.
2014-12-02 18:06:49 -08:00
Victor Woeltjen
c303d29768 [Persistence] Complete specs for CouchDB adapter
Complete test coverage for CouchDB adapter, WTD-537.
2014-12-02 17:53:55 -08:00
Victor Woeltjen
bb719a137a [Persistence] Spec for CouchDocument
Fill in spec for CouchDocument, which wraps domain object
models with suitable metadata for persistence. WTD-537.
2014-12-02 17:31:30 -08:00
Victor Woeltjen
aef6f44cb5 [Persistence] Add empty specs
Add empty specs for CouchDB adapter. WTD-537.
2014-12-02 17:26:16 -08:00