[Common UI] Add JSDoc for edit actions

Add in-line documentation for actions that are introduced
by the bundle platform/commonUI/edit, which introduces
Edit mode. One of the common user interface bundles being
transitioned for WTD-574.
This commit is contained in:
Victor Woeltjen
2014-11-25 11:53:53 -08:00
parent c432a4eb1e
commit 4c0e5e963e
3 changed files with 54 additions and 11 deletions

View File

@@ -1,14 +1,14 @@
/*global define*/ /*global define*/
/**
* The "Save" action; the action triggered by clicking Save from
* Edit Mode. Exits the editing user interface and invokes object
* capabilities to persist the changes that have been made.
*/
define( define(
function () { function () {
'use strict'; 'use strict';
/**
* The "Cancel" action; the action triggered by clicking Cancel from
* Edit Mode. Exits the editing user interface and invokes object
* capabilities to persist the changes that have been made.
*/
function CancelAction($location, context) { function CancelAction($location, context) {
var domainObject = context.domainObject; var domainObject = context.domainObject;
@@ -33,6 +33,12 @@ define(
} }
return { return {
/**
* Cancel editing.
*
* @returns {Promise} a promise that will be fulfilled when
* cancellation has completed
*/
perform: function () { perform: function () {
return doCancel(getEditorCapability()) return doCancel(getEditorCapability())
.then(returnToBrowse); .then(returnToBrowse);
@@ -40,6 +46,12 @@ define(
}; };
} }
/**
* Check if this action is applicable in a given context.
* This will ensure that a domain object is present in the context,
* and that this domain object is in Edit mode.
* @returns true if applicable
*/
CancelAction.appliesTo = function (context) { CancelAction.appliesTo = function (context) {
var domainObject = (context || {}).domainObject; var domainObject = (context || {}).domainObject;
return domainObject !== undefined && return domainObject !== undefined &&

View File

@@ -8,6 +8,8 @@ define(
function () { function () {
"use strict"; "use strict";
// A no-op action to return in the event that the action cannot
// be completed.
var NULL_ACTION = { var NULL_ACTION = {
perform: function () { perform: function () {
return undefined; return undefined;
@@ -15,12 +17,19 @@ define(
}; };
/** /**
* * The Edit action is performed when the user wishes to enter Edit
* mode (typically triggered by the Edit button.) This will
* show the user interface for editing (by way of a change in
* route)
* @constructor * @constructor
*/ */
function EditAction($location, navigationService, $log, context) { function EditAction($location, navigationService, $log, context) {
var domainObject = (context || {}).domainObject; var domainObject = (context || {}).domainObject;
// We cannot enter Edit mode if we have no domain object to
// edit, so verify that one was defined as part of the
// context. (This is also verified in appliesTo, so this
// would indicate abnormal behavior.)
if (!domainObject) { if (!domainObject) {
$log.warn([ $log.warn([
"No domain object to edit; ", "No domain object to edit; ",
@@ -31,6 +40,9 @@ define(
} }
return { return {
/**
* Enter edit mode.
*/
perform: function () { perform: function () {
navigationService.setNavigation(domainObject); navigationService.setNavigation(domainObject);
$location.path("/edit"); $location.path("/edit");
@@ -38,6 +50,12 @@ define(
}; };
} }
/**
* Check for applicability; verify that a domain object is present
* for this action to be performed upon.
* @param {ActionContext} context the context in which this action
* will be performed; should contain a `domainObject` property
*/
EditAction.appliesTo = function (context) { EditAction.appliesTo = function (context) {
return (context || {}).domainObject !== undefined; return (context || {}).domainObject !== undefined;
}; };

View File

@@ -1,14 +1,15 @@
/*global define*/ /*global define*/
/**
* The "Save" action; the action triggered by clicking Save from
* Edit Mode. Exits the editing user interface and invokes object
* capabilities to persist the changes that have been made.
*/
define( define(
function () { function () {
'use strict'; 'use strict';
/**
* The "Save" action; the action triggered by clicking Save from
* Edit Mode. Exits the editing user interface and invokes object
* capabilities to persist the changes that have been made.
*/
function SaveAction($location, context) { function SaveAction($location, context) {
var domainObject = context.domainObject; var domainObject = context.domainObject;
@@ -33,12 +34,24 @@ define(
} }
return { return {
/**
* Save changes and conclude editing.
*
* @returns {Promise} a promise that will be fulfilled when
* cancellation has completed
*/
perform: function () { perform: function () {
return doSave(getEditorCapability()).then(returnToBrowse); return doSave(getEditorCapability()).then(returnToBrowse);
} }
}; };
} }
/**
* Check if this action is applicable in a given context.
* This will ensure that a domain object is present in the context,
* and that this domain object is in Edit mode.
* @returns true if applicable
*/
SaveAction.appliesTo = function (context) { SaveAction.appliesTo = function (context) {
var domainObject = (context || {}).domainObject; var domainObject = (context || {}).domainObject;
return domainObject !== undefined && return domainObject !== undefined &&