Options
All
  • Public
  • Public/Protected
  • All
Menu

View-model for the attribute symbology settings widget.

Hierarchy

Index

Constructors

constructor

Properties

Protected _isDestroyed

_isDestroyed: boolean

app

The viewer application

attributes

Attributes to symbolize on

classBreaksInput

classBreaksInput: NumericInputViewModel

View model for the class breaks selector widget.

classBreaksMode

classBreaksMode: Observable<boolean>

What kind of symbolization is it?

classSymbolWidgets

classSymbolWidgets: SymbologySettingsView[]

The widgets used to configure the symbology for each class

config

Configuration for the symbology settings view-model.

configuring

configuring: boolean

Flag to stop change events from being applied while configuring

creatingClasses

creatingClasses: boolean

Bindings that fire after class creation is begun but before it completes need to know not to kick this off again

currentAttribute

currentAttribute: Observable<string>

defaultLineSymbol

defaultLineSymbol: SimpleLineSymbol

defaultMaxRenderClasses

defaultMaxRenderClasses: number

defaultNumBreaks

defaultNumBreaks: number

defaultPointSymbol

defaultPointSymbol: SimpleMarkerSymbol

Default symbols for data that does not fall within generated classes

defaultPolygonSymbol

defaultPolygonSymbol: SimpleFillSymbol

endColor

featureType

featureType: Observable<string>

Type of feature being symbolized. One of 'Point' 'Line' or 'Polygon'

id

id: string

isNumericAttribute

isNumericAttribute: Observable<boolean>

What kind of field is it? Numeric fields are sometimes unique value renderers if data is limited.

libraryId

libraryId: string

lineWidth

lineWidth: Observable<number>

Observable for the user-selected line width.

lineWidthInput

lineWidthInput: NumericInputViewModel

View model for the line width selector widget

markerSize

markerSize: Observable<number>

Observable for the user-selected marker size.

markerSizeInput

markerSizeInput: NumericInputViewModel

View model for the marker size selector widget

markerStyleIdLookup

markerStyleIdLookup: object

These are used to translate style ids from Esri JS API to Esri REST API form

Type declaration

  • [id: string]: string

markerStyleIndex

markerStyleIndex: Observable<number>

The currently selected markerStyle

markerStyles

Styles available to point markers.

maxRenderClasses

maxRenderClasses: number

Maximum allowable number of renderer classes

maxSamples

maxSamples: number

Max number of samples to use in class creation

noMarker

noMarker: Observable<boolean>

Disables availability of marker related options.

numBreaks

numBreaks: Observable<number>

Observable for the selected number of class breaks.

numericAttributeIsUniqueValue

numericAttributeIsUniqueValue: boolean

Don't unnecessarily try to create class breaks renderers that won't work

otherClass

Symbology class for 'other' values

otherValueWidget

otherValueWidget: SymbologySettingsView

Widget for the other value renderer

queryResults

queryResults: FeatureSet[]

Temporary cache of ArcGIS Server query responses created by symbolization. Indexed by a hash of url + field + extent. Cleared when changing layers.

Some configurations of layer extent, map extent and renderer type will cause multiple query requests with the same parameters to occur. This is bad for two reasons:

1: Requests to ArcGIS Server are often sent with no-cache headers, so the identical requests cannot be counted on to 304. But it's ok if they do, as they are separated only by milliseconds in practice.

2: When the requests do 304, a strange bug is exposed in Chrome only where the esri (dojo) request will timeout and not recieve results even though it is an immediate 304. This causes the code to hang for a full minute before dropping into the error handler. Hopefully this will be fixed in the future, as I can't figure out at all why this should occur, or which part of the stack is at fault here.

selectedClass

selectedClass: string

The currently selected symbology class

startColor

The colors used in the symbology

symbolizeOtherValues

symbolizeOtherValues: Observable<boolean>

Whether values which fall outside the configured breaks/classes should have a symbol

symbologyClasses

Symbology class info for binding to view

transparency

transparency: Observable<number>

Observable for the user-selected fill transparency.

transparencyInput

transparencyInput: NumericInputViewModel

View model for the transparency selector widget

useAdvancedQueries

useAdvancedQueries: boolean

Whether to use AGS advanced query functionality to create classes

Methods

_createClassBreaks

  • Given a quantitative value field, automatically create a set of class breaks to use for a renderer PRIVATE: Internal method of this widget

    Parameters

    Returns void

_createRendererClasses

  • _createRendererClasses(): void
  • Assign default colors to classes and configure the symbology widgets PRIVATE: Only call from this widget.

    Returns void

_createUniqueValues

  • Given a string field, automatically create a set of unique values to use for a renderer PRIVATE: Internal method of this widget

    Parameters

    Returns void

_getFieldInfo

  • Given an essentials field, get the fieldInfo object used for formatting and resolving domains PRIVATE: Internal method of this widget

    Parameters

    Returns Promise<FieldInfo>

_getRenderer

  • _getRenderer(): string
  • Returns a renderer based on the current widget setttings as a JSON string PRIVATE: Call 'getRenderer' on AttributeSymbologySettingsView

    Returns string

_reset

  • _reset(clearAttributes?: boolean): void
  • Restores settings to the default state PRIVATE: Call 'reset' on AttributeSymbologySettingsView

    Parameters

    • Optional clearAttributes: boolean

    Returns void

_setFromRenderer

  • _setFromRenderer(renderer: Renderer): void
  • Sets the state of the widget based on a supplied class breaks or unique value renderer PRIVATE: Call 'setFromRenderer' on AttributeSymbologySettingsView

    Parameters

    • renderer: Renderer

    Returns void

auto

  • auto(arg0: any, arg1: any, arg2: any): void
  • Binds a handler to an Observable or to a dojo.connect. Binding to an Observable:

    ``` this.auto(someObservable, function (newValue) { });

    with explicit scope:

    this.auto(someObservable, this, function (newValue) { });

    Alternately, pass an event name as a string to use dojo.connect:

    this.auto(window, "onclick", function () { }); ```

    Parameters

    • arg0: any

      Either an Observable (for observable bindings) or a regular object (if arg1 is a string)

    • arg1: any

      If arg0 is an Observable, a function or scope object. Otherwise, an event name (to use with dojo.connect).

    • arg2: any

      If arg0 is an Observable, a function handler.

    Returns void

destroy

  • destroy(): void
  • Destroys the object completely

    Returns void

destroyBindings

  • destroyBindings(): void

getResource

  • getResource(resourceKey: string, locale?: string): string
  • Gets a language resource from the Application's resource dictionary, given a key, and optional locale. Returns null if the resource does not exist.

    Parameters

    • resourceKey: string
    • Optional locale: string

      The locale of the resource to fetch. Defaults to the current application locale.

    Returns string

initialize

onDestroy

  • onDestroy(): void
  • Override or attach to provide custom clean-up behaviour.

    Returns void

trackCommandHandler

  • trackCommandHandler(command: any, token: any): void
  • Tracks a subscription to an {@link geocortex.framework.commands.Command}, disposing it when this object is disposed with the destroy method.

    Parameters

    • command: any
    • token: any

    Returns void

trackSubscription

  • trackSubscription(event: any, token: any): void
  • Tracks a subscription to an {@link geocortex.framework.events.Event}, disposing it when this object is disposed with the destroy method.

    Parameters

    • event: any
    • token: any

    Returns void