How to use the terriajs-cesium/Source/Core/clone.default function in terriajs-cesium

To help you get started, we’ve selected a few terriajs-cesium examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github TerriaJS / terriajs / lib / Models / WebFeatureServiceCatalogItem.js View on Github external
},
  /**
   * Gets the data source associated with this catalog item.
   * @memberOf WebFeatureServiceCatalogItem.prototype
   * @type {DataSource}
   */
  dataSource: {
    get: function() {
      return defined(this._geoJsonItem)
        ? this._geoJsonItem.dataSource
        : undefined;
    }
  }
});

WebFeatureServiceCatalogItem.defaultUpdaters = clone(
  CatalogItem.defaultUpdaters
);
freezeObject(WebFeatureServiceCatalogItem.defaultUpdaters);

WebFeatureServiceCatalogItem.defaultSerializers = clone(
  CatalogItem.defaultSerializers
);

// Serialize the underlying properties instead of the public views of them.
WebFeatureServiceCatalogItem.defaultSerializers.dataUrl = function(
  wfsItem,
  json,
  propertyName
) {
  json.dataUrl = wfsItem._dataUrl;
};
github TerriaJS / terriajs / lib / Models / CompositeCatalogItem.js View on Github external
for (var itemIndex = 0; itemIndex < this.items.length; ++itemIndex) {
        var item = this.items[itemIndex];
        result = result && item.supportsReordering;
      }
      return result;
    }
  }
});

/**
 * Gets or sets the set of default updater functions to use in {@link CatalogMember#updateFromJson}.  Types derived from this type
 * should expose this instance - cloned and modified if necesary - through their {@link CatalogMember#updaters} property.
 * @type {Object}
 */
// Adapted from CatalogGroup
CompositeCatalogItem.defaultUpdaters = clone(CatalogItem.defaultUpdaters);

CompositeCatalogItem.defaultUpdaters.items = function(
  compositeCatalogItem,
  json,
  propertyName,
  options
) {
  // Let the item finish loading first.  Otherwise, these changes could get clobbered by the load.
  return when(compositeCatalogItem.load(), function() {
    var promises = [];
    options = defaultValue(options, defaultValue.EMPTY_OBJECT);

    var items = json.items;
    for (var itemIndex = 0; itemIndex < items.length; ++itemIndex) {
      var item = items[itemIndex];
      if (!defined(item.type)) {
github TerriaJS / terriajs / lib / ViewModels / TerriaViewer.js View on Github external
function(ext) {
          var mapInteractionModeStack = this.terria.mapInteractionModeStack;
          if (
            defined(mapInteractionModeStack) &&
            mapInteractionModeStack.length > 0
          ) {
            if (
              mapInteractionModeStack[mapInteractionModeStack.length - 1]
                .drawRectangle
            ) {
              mapInteractionModeStack[
                mapInteractionModeStack.length - 1
              ].pickedFeatures = clone(ext, true);
            }
          }
        }.bind(viewer),
        KeyboardEventModifier.SHIFT
github TerriaJS / terriajs / lib / Models / MagdaCatalogItem.js View on Github external
);
MagdaCatalogItem.defaultUpdaters.geoJsonDistributionFormat = createRegexDeserializer(
  "geoJsonDistributionFormat"
);
MagdaCatalogItem.defaultUpdaters.czmlDistributionFormat = createRegexDeserializer(
  "czmlDistributionFormat"
);

freezeObject(MagdaCatalogItem.defaultUpdaters);

/**
 * Gets or sets the set of default serializer functions to use in {@link CatalogMember#serializeToJson}.  Types derived from this type
 * should expose this instance - cloned and modified if necesary - through their {@link CatalogMember#serializers} property.
 * @type {Object}
 */
MagdaCatalogItem.defaultSerializers = clone(CatalogItem.defaultSerializers);

MagdaCatalogItem.defaultSerializers.wmsDistributionFormat = createRegexSerializer(
  "wmsDistributionFormat"
);
MagdaCatalogItem.defaultSerializers.wfsDistributionFormat = createRegexSerializer(
  "wfsDistributionFormat"
);
MagdaCatalogItem.defaultSerializers.kmlDistributionFormat = createRegexSerializer(
  "kmlDistributionFormat"
);
MagdaCatalogItem.defaultSerializers.csvDistributionFormat = createRegexSerializer(
  "csvDistributionFormat"
);
MagdaCatalogItem.defaultSerializers.esriMapServerDistributionFormat = createRegexSerializer(
  "esriMapServerDistributionFormat"
);
github TerriaJS / terriajs / lib / Models / SocrataCatalogGroup.js View on Github external
* @memberOf SocrataCatalogGroup.prototype
   * @type {Object}
   */
  serializers: {
    get: function() {
      return SocrataCatalogGroup.defaultSerializers;
    }
  }
});

/**
 * Gets or sets the set of default updater functions to use in {@link CatalogMember#updateFromJson}.  Types derived from this type
 * should expose this instance - cloned and modified if necesary - through their {@link CatalogMember#updaters} property.
 * @type {Object}
 */
SocrataCatalogGroup.defaultUpdaters = clone(CatalogGroup.defaultUpdaters);

freezeObject(SocrataCatalogGroup.defaultUpdaters);

/**
 * Gets or sets the set of default serializer functions to use in {@link CatalogMember#serializeToJson}.  Types derived from this type
 * should expose this instance - cloned and modified if necesary - through their {@link CatalogMember#serializers} property.
 * @type {Object}
 */
SocrataCatalogGroup.defaultSerializers = clone(CatalogGroup.defaultSerializers);

SocrataCatalogGroup.defaultSerializers.items =
  CatalogGroup.enabledShareableItemsSerializer;

SocrataCatalogGroup.defaultSerializers.isLoading = function(
  socrataGroup,
  json,
github TerriaJS / terriajs / lib / Models / TerriaJsonCatalogFunction.js View on Github external
}
  },

  /**
   * Gets the parameters used to {@link CatalogFunction#invoke} to this process.
   * @memberOf CatalogFunction
   * @type {CatalogFunctionParameters[]}
   */
  parameters: {
    get: function() {
      return this.inputs;
    }
  }
});

TerriaJsonCatalogFunction.defaultUpdaters = clone(
  CatalogFunction.defaultUpdaters
);

TerriaJsonCatalogFunction.defaultUpdaters.inputs = function(
  catalogFunction,
  json,
  propertyName,
  options
) {
  if (!json.inputs) {
    return;
  }

  catalogFunction.inputs = json.inputs.map(parameterJson => {
    const parameter = createParameterFromType(parameterJson.type, {
      terria: catalogFunction.terria,
github TerriaJS / terriajs / lib / Models / CompositeCatalogItem.js View on Github external
};

CompositeCatalogItem.defaultUpdaters.isLoading = function(
  compositeCatalogItem,
  json,
  propertyName
) {};

freezeObject(CompositeCatalogItem.defaultUpdaters);

/**
 * Gets or sets the set of default serializer functions to use in {@link CatalogMember#serializeToJson}.  Types derived from this type
 * should expose this instance - cloned and modified if necesary - through their {@link CatalogMember#serializers} property.
 * @type {Object}
 */
CompositeCatalogItem.defaultSerializers = clone(CatalogItem.defaultSerializers);

CompositeCatalogItem.defaultSerializers.items = function(
  compositeCatalogItem,
  json,
  propertyName,
  options
) {
  var items = (json.items = []);

  for (var i = 0; i < compositeCatalogItem.items.length; ++i) {
    var item = compositeCatalogItem.items[i].serializeToJson(options);
    if (defined(item)) {
      items.push(item);
    }
  }
};
github TerriaJS / terriajs / lib / Models / ArcGisMapServerCatalogGroup.js View on Github external
* @memberOf ArcGisMapServerCatalogGroup.prototype
   * @type {Object}
   */
  serializers: {
    get: function() {
      return ArcGisMapServerCatalogGroup.defaultSerializers;
    }
  }
});

/**
 * Gets or sets the set of default serializer functions to use in {@link CatalogMember#serializeToJson}.  Types derived from this type
 * should expose this instance - cloned and modified if necesary - through their {@link CatalogMember#serializers} property.
 * @type {Object}
 */
ArcGisMapServerCatalogGroup.defaultSerializers = clone(
  CatalogGroup.defaultSerializers
);

ArcGisMapServerCatalogGroup.defaultSerializers.items =
  CatalogGroup.enabledShareableItemsSerializer;

ArcGisMapServerCatalogGroup.defaultSerializers.isLoading = function(
  wmsGroup,
  json,
  propertyName,
  options
) {};

freezeObject(ArcGisMapServerCatalogGroup.defaultSerializers);

ArcGisMapServerCatalogGroup.prototype._getValuesThatInfluenceLoad = function() {
github TerriaJS / terriajs / lib / Models / CompositeCatalogItem.js View on Github external
CompositeCatalogItem.defaultSerializers.isLoading = function(
  compositeCatalogItem,
  json,
  propertyName,
  options
) {};

freezeObject(CompositeCatalogItem.defaultSerializers);

/**
 * Gets or sets the default set of properties that are serialized when serializing a {@link CatalogItem}-derived object
 * for a share link.
 * @type {String[]}
 */
CompositeCatalogItem.defaultPropertiesForSharing = clone(
  CatalogItem.defaultPropertiesForSharing
);
CompositeCatalogItem.defaultPropertiesForSharing.push("items");

freezeObject(CompositeCatalogItem.defaultPropertiesForSharing);

//

CompositeCatalogItem.prototype._load = function() {
  return when.all(
    this.items.map(function(item) {
      return item.load();
    })
  );
};
github TerriaJS / terriajs / lib / Models / CkanCatalogGroup.js View on Github external
);
CkanCatalogGroup.defaultUpdaters.geoJsonResourceFormat = createRegexDeserializer(
  "geoJsonResourceFormat"
);
CkanCatalogGroup.defaultUpdaters.czmlResourceFormat = createRegexDeserializer(
  "czmlResourceFormat"
);

freezeObject(CkanCatalogGroup.defaultUpdaters);

/**
 * Gets or sets the set of default serializer functions to use in {@link CatalogMember#serializeToJson}.  Types derived from this type
 * should expose this instance - cloned and modified if necesary - through their {@link CatalogMember#serializers} property.
 * @type {Object}
 */
CkanCatalogGroup.defaultSerializers = clone(CatalogGroup.defaultSerializers);

CkanCatalogGroup.defaultSerializers.items =
  CatalogGroup.enabledShareableItemsSerializer;

CkanCatalogGroup.defaultSerializers.wmsResourceFormat = createRegexSerializer(
  "wmsResourceFormat"
);
CkanCatalogGroup.defaultSerializers.wfsResourceFormat = createRegexSerializer(
  "wfsResourceFormat"
);
CkanCatalogGroup.defaultSerializers.kmlResourceFormat = createRegexSerializer(
  "kmlResourceFormat"
);
CkanCatalogGroup.defaultSerializers.csvResourceFormat = createRegexSerializer(
  "csvResourceFormat"
);