@arcgis/core
Version:
ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API
74 lines (72 loc) • 3.13 kB
TypeScript
import type Collection from "../../core/Collection.js";
import type Sublayer from "../support/Sublayer.js";
import type { SublayerProperties } from "../support/Sublayer.js";
import type { ReadonlyArrayOrCollection } from "../../core/Collection.js";
export interface SublayersOwnerProperties {
/**
* A flat [Collection](https://developers.arcgis.com/javascript/latest/references/core/core/Collection/) of all the tables
* in the layer including the tables of its sublayers.
* Apps can add them to a map as standalone tables.
*
* @since 4.30
* @example
* // Apps can add tables to a map as standalone tables
* layer.subtables.forEach((subtable) => {
* const featureLayer = await subtable.createFeatureLayer();
* map.tables.add(featureLayer);
* });
*/
subtables?: ReadonlyArrayOrCollection<SublayerProperties> | null;
}
/** Mixin for [MapImageLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/MapImageLayer/) and [TileLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/TileLayer/). */
export abstract class SublayersOwner {
constructor(...args: any[]);
/**
* A flat [Collection](https://developers.arcgis.com/javascript/latest/references/core/core/Collection/) of all the tables
* in the layer including the tables of its sublayers.
* Apps can add them to a map as standalone tables.
*
* @since 4.30
* @example
* // Apps can add tables to a map as standalone tables
* layer.subtables.forEach((subtable) => {
* const featureLayer = await subtable.createFeatureLayer();
* map.tables.add(featureLayer);
* });
*/
get subtables(): Collection<Sublayer> | null | undefined;
set subtables(value: ReadonlyArrayOrCollection<SublayerProperties> | null | undefined);
/**
* Returns a deep clone of a map service's
* [sublayers](https://developers.arcgis.com/javascript/latest/references/core/layers/support/Sublayer/) as defined by the service.
* This is useful for scenarios when the developer is unfamiliar with the
* service sublayers and needs to "reset" the layer's sublayers to match
* those defined by the service.
*
* @returns A collection of
* [sublayers](https://developers.arcgis.com/javascript/latest/references/core/layers/support/Sublayer/) as defined by the map
* service.
* @example
* Layer.fromPortalItem({
* portalItem: {
* portalId: "dbb9b48477444015912061b182f196b9"
* }
* }).then(function(layer){
* let serviceSublayers = layer.createServiceSublayers();
* layer.sublayers = serviceSublayers;
* });
*/
createServiceSublayers(): Collection<Sublayer>;
/**
* Returns the sublayer with the given layerId.
*
* @param id - The [Sublayer.id](https://developers.arcgis.com/javascript/latest/references/core/layers/support/Sublayer/#id)
* of the sublayer.
* @returns Returns the sublayer
* at the given layer ID.
* @example
* // returns the sublayer with a layerId of 0
* let sublayer0 = layer.findSublayerById(0);
*/
findSublayerById(id: number): Sublayer | null | undefined;
}