| 123456789101112131415161718192021222324252627282930313233343536373839 |
- /**
- * @license Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved.
- * For licensing, see LICENSE.md.
- */
- /**
- * @module ui/model
- */
- import extend from '@ckeditor/ckeditor5-utils/src/lib/lodash/extend';
- import mix from '@ckeditor/ckeditor5-utils/src/mix';
- import ObservableMixin from '@ckeditor/ckeditor5-utils/src/observablemixin';
- /**
- * The base MVC model class.
- *
- * @mixes module:utils/observablemixin~ObservableMixin
- */
- 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 );
- }
- }
- }
- mix( Model, ObservableMixin );
|