1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- /**
- * @file
- * A Backbone Model subclass that enforces validation when calling set().
- */
- (function (Drupal, Backbone) {
- Drupal.quickedit.BaseModel = Backbone.Model.extend(/** @lends Drupal.quickedit.BaseModel# */{
- /**
- * @constructs
- *
- * @augments Backbone.Model
- *
- * @param {object} options
- * Options for the base model-
- *
- * @return {Drupal.quickedit.BaseModel}
- * A quickedit base model.
- */
- initialize(options) {
- this.__initialized = true;
- return Backbone.Model.prototype.initialize.call(this, options);
- },
- /**
- * Set a value on the model
- *
- * @param {object|string} key
- * The key to set a value for.
- * @param {*} val
- * The value to set.
- * @param {object} [options]
- * Options for the model.
- *
- * @return {*}
- * The result of `Backbone.Model.prototype.set` with the specified
- * parameters.
- */
- set(key, val, options) {
- if (this.__initialized) {
- // Deal with both the "key", value and {key:value}-style arguments.
- if (typeof key === 'object') {
- key.validate = true;
- }
- else {
- if (!options) {
- options = {};
- }
- options.validate = true;
- }
- }
- return Backbone.Model.prototype.set.call(this, key, val, options);
- },
- });
- }(Drupal, Backbone));
|