Templates describe features that can be created in a layer. Templates are used with map notes, other feature collections, and editable web-based CSV layers. They are not used with ArcGIS feature services, which already have feature templates defined in the service.

Templates are defined as a property of the layer definition when there are no types defined; otherwise, templates are defined as properties of the types.

See https://developers.arcgis.com/web-map-specification/objects/template/ https://developers.arcgis.com/web-scene-specification/objects/template/.

interface TemplateJson {
    description?: string;
    drawingTool?:
        | "esriFeatureEditToolCircle"
        | "esriFeatureEditToolDownArrow"
        | "esriFeatureEditToolEllipse"
        | "esriFeatureEditToolFreehand"
        | "esriFeatureEditToolLeftArrow"
        | "esriFeatureEditToolLine"
        | "esriFeatureEditToolPoint"
        | "esriFeatureEditToolPolygon"
        | "esriFeatureEditToolRectangle"
        | "esriFeatureEditToolRightArrow"
        | "esriFeatureEditToolText"
        | "esriFeatureEditToolTriangle"
        | "esriFeatureEditToolUpArrow";
    name?: string;
    prototype?: FeatureJson;
}

Properties

description?: string

A detailed description of the template.

drawingTool?:
    | "esriFeatureEditToolCircle"
    | "esriFeatureEditToolDownArrow"
    | "esriFeatureEditToolEllipse"
    | "esriFeatureEditToolFreehand"
    | "esriFeatureEditToolLeftArrow"
    | "esriFeatureEditToolLine"
    | "esriFeatureEditToolPoint"
    | "esriFeatureEditToolPolygon"
    | "esriFeatureEditToolRectangle"
    | "esriFeatureEditToolRightArrow"
    | "esriFeatureEditToolText"
    | "esriFeatureEditToolTriangle"
    | "esriFeatureEditToolUpArrow"

An optional string that can define a client-side drawing tool to be used with this feature. See the web map specification for more details.

name?: string

A string containing a user-friendly name for the template. This name could appear on a menu of feature choices displayed in the client editing environment.

prototype?: FeatureJson

A feature object representing a prototypical feature for the template.