12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- 'use strict';
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
- define(['./content/ContentModel'], function (ContentModel) {
-
- var ModelUtils = function () {
- function ModelUtils() {
- _classCallCheck(this, ModelUtils);
- }
-
- ModelUtils.initializeContentModel = function initializeContentModel(model) {
- var excludedProperties = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
- var contentModelSpec = model.content || {};
- if (model.hasOwnProperty('properties')) {
- contentModelSpec.properties = {};
- Object.keys(model.properties).forEach(function (property) {
- if (!(excludedProperties.indexOf(property) !== -1)) {
- contentModelSpec.properties[property] = model.properties[property];
- delete model.properties[property];
- }
- });
- if (Object.keys(model.properties).length === 0) {
- delete model.properties;
- }
- }
- if (model.hasOwnProperty('features')) {
- contentModelSpec.features = model.features;
- delete model.features;
- }
- delete model.content;
- return new ContentModel(contentModelSpec);
- };
-
- ModelUtils.pullPropertiesFromContentModelSpec = function pullPropertiesFromContentModelSpec(spec) {
- var PropertiesToInclude = ['properties', 'features'];
- var contentModelSpec = spec.content;
- if (contentModelSpec) {
- PropertiesToInclude.forEach(function (prop) {
- if (contentModelSpec.hasOwnProperty(prop)) {
- if (contentModelSpec[prop] && Object.keys(contentModelSpec[prop]).length) {
- spec[prop] = Object.assign({}, spec[prop], contentModelSpec[prop]);
- }
- delete contentModelSpec[prop];
- }
- });
- if (Object.keys(contentModelSpec).length === 0) {
- delete spec.content;
- }
- }
- };
- return ModelUtils;
- }();
- return ModelUtils;
- });
|