| 1234567891011121314151617181920212223242526272829303132333435363738 |
- /**
- * @license Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved.
- * For licensing, see LICENSE.md.
- */
- 'use strict';
- import extend from '../utils/lib/lodash/extend.js';
- import utils from '../utils/utils.js';
- import ObservableMixin from '../utils/observablemixin.js';
- /**
- * The base MVC model class.
- *
- * @memberOf ui
- * @mixes utils.ObservaleMixin
- */
- export default class Model {
- /**
- * Creates a new Model instance.
- *
- * @param {Object} [attributes] The model state attributes to be defined during the instance creation.
- * @param {Object} [properties] The (out of state) properties to be appended to the instance during creation.
- */
- constructor( attributes, properties ) {
- // Extend this instance with the additional (out of state) properties.
- if ( properties ) {
- extend( this, properties );
- }
- // Initialize the attributes.
- if ( attributes ) {
- this.set( attributes );
- }
- }
- }
- utils.mix( Model, ObservableMixin );
|