Version 1
[yaffs-website] / web / core / modules / quickedit / js / models / AppModel.js
diff --git a/web/core/modules/quickedit/js/models/AppModel.js b/web/core/modules/quickedit/js/models/AppModel.js
new file mode 100644 (file)
index 0000000..6c473ac
--- /dev/null
@@ -0,0 +1,57 @@
+/**
+ * @file
+ * A Backbone Model for the state of the in-place editing application.
+ *
+ * @see Drupal.quickedit.AppView
+ */
+
+(function (Backbone, Drupal) {
+
+  'use strict';
+
+  /**
+   * @constructor
+   *
+   * @augments Backbone.Model
+   */
+  Drupal.quickedit.AppModel = Backbone.Model.extend(/** @lends Drupal.quickedit.AppModel# */{
+
+    /**
+     * @type {object}
+     *
+     * @prop {Drupal.quickedit.FieldModel} highlightedField
+     * @prop {Drupal.quickedit.FieldModel} activeField
+     * @prop {Drupal.dialog~dialogDefinition} activeModal
+     */
+    defaults: /** @lends Drupal.quickedit.AppModel# */{
+
+      /**
+       * The currently state='highlighted' Drupal.quickedit.FieldModel, if any.
+       *
+       * @type {Drupal.quickedit.FieldModel}
+       *
+       * @see Drupal.quickedit.FieldModel.states
+       */
+      highlightedField: null,
+
+      /**
+       * The currently state = 'active' Drupal.quickedit.FieldModel, if any.
+       *
+       * @type {Drupal.quickedit.FieldModel}
+       *
+       * @see Drupal.quickedit.FieldModel.states
+       */
+      activeField: null,
+
+      /**
+       * Reference to a {@link Drupal.dialog} instance if a state change
+       * requires confirmation.
+       *
+       * @type {Drupal.dialog~dialogDefinition}
+       */
+      activeModal: null
+    }
+
+  });
+
+}(Backbone, Drupal));