<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Change calcite slider attributes at runtime without rebuilding in ArcGIS JavaScript Maps SDK Questions</title>
    <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/change-calcite-slider-attributes-at-runtime/m-p/1181238#M77645</link>
    <description>&lt;P&gt;Given this hydrated calcite slider, how can I change the attributes--and specifically, the ticks without rebuilding the slider from scratch? When I change its attributes, the ticks do not re-hydrate the control. Is there a method to refresh after its attributes are changed? (see code fragment below).&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;&amp;lt;calcite-slider id="pao-buffer-slider" label-handles label-ticks max="500" min-label="0" page-step="10" step="1" ticks="100" value="0" listener="true" min="0" calcite-hydrated=""&amp;gt;
&amp;lt;div class="track"&amp;gt;
	&amp;lt;div class="track__range" style="left: 0%; right: 99%;"/&amp;gt;
	&amp;lt;div class="ticks"&amp;gt;
		&amp;lt;span class="tick tick--active" style="left: 0%;"&amp;gt;
			&amp;lt;span class="tick__label tick__label--min"&amp;gt;0&amp;lt;/span&amp;gt;
		&amp;lt;/span&amp;gt;
		&amp;lt;span class="tick" style="left: 50%;"&amp;gt;
			&amp;lt;span class="tick__label"&amp;gt;100&amp;lt;/span&amp;gt;
		&amp;lt;/span&amp;gt;
		&amp;lt;span class="tick" style="left: 100%;"&amp;gt;
			&amp;lt;span class="tick__label tick__label--max"&amp;gt;200&amp;lt;/span&amp;gt;
		&amp;lt;/span&amp;gt;
		&amp;lt;span class="tick" style="left: 100%;"&amp;gt;
			&amp;lt;span class="tick__label"&amp;gt;300&amp;lt;/span&amp;gt;
		&amp;lt;/span&amp;gt;
		&amp;lt;span class="tick" style="left: 100%;"&amp;gt;
			&amp;lt;span class="tick__label"&amp;gt;400&amp;lt;/span&amp;gt;
		&amp;lt;/span&amp;gt;
		&amp;lt;span class="tick" style="left: 100%;"&amp;gt;
			&amp;lt;span class="tick__label"&amp;gt;500&amp;lt;/span&amp;gt;
		&amp;lt;/span&amp;gt;
	&amp;lt;/div&amp;gt;
&amp;lt;/div&amp;gt;&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="javascript"&gt;// code fragment to change slider units of measure

let slider = document.getElementById('pao-buffer-slider');
if(slider) {

        // tried this...but ticks do not get re-hydrated

	let obj = new PaoSliderUnits(...SliderUnitsFeet);
	slider.labelHandles = obj.labelHandles;
	slider.labelTicks = obj.labelTicks;
	slider.max = obj.max;
	slider.minLabel = obj.minLabel;
	slider.pageStep = obj.pageStep;
	slider.step = obj.step;
	slider.ticks = obj.ticks;
	slider.value = obj.value;

// and this...same results as above

if (obj.labelHandles)
  slider.setAttribute('label-handles', '');
if (obj.labelTicks)
  slider.setAttribute('label-ticks', '');

slider.setAttribute('max', obj.max);
slider.setAttribute('min-label', obj.minLabel);
slider.setAttribute('page-step', obj.pageStep);
slider.setAttribute('step', obj.step);
slider.setAttribute('ticks', obj.ticks);
slider.setAttribute('value', obj.value);
}

// various units of measure
const SliderUnitsFeet = [true, true, '500', '0', '25', '0.5', '50', '0']
etc. SliderUnitsMeters, SliderUnitsKilometers, SliderUnitsMile

class PaoSliderUnits {
	constructor(labelHandles, labelTicks, max, minLabel, pageStep, step, ticks, value) {
		this.labelHandles = labelHandles;
		this.labelTicks = labelTicks;
		this.max = max;
		this.minLabel = minLabel;
		this.pageStep = pageStep;
		this.step = step;
		this.ticks = ticks;
		this.value = value;
	}
}&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Wed, 08 Jun 2022 19:22:49 GMT</pubDate>
    <dc:creator>GregoryBologna</dc:creator>
    <dc:date>2022-06-08T19:22:49Z</dc:date>
    <item>
      <title>Change calcite slider attributes at runtime without rebuilding</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/change-calcite-slider-attributes-at-runtime/m-p/1181238#M77645</link>
      <description>&lt;P&gt;Given this hydrated calcite slider, how can I change the attributes--and specifically, the ticks without rebuilding the slider from scratch? When I change its attributes, the ticks do not re-hydrate the control. Is there a method to refresh after its attributes are changed? (see code fragment below).&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;&amp;lt;calcite-slider id="pao-buffer-slider" label-handles label-ticks max="500" min-label="0" page-step="10" step="1" ticks="100" value="0" listener="true" min="0" calcite-hydrated=""&amp;gt;
&amp;lt;div class="track"&amp;gt;
	&amp;lt;div class="track__range" style="left: 0%; right: 99%;"/&amp;gt;
	&amp;lt;div class="ticks"&amp;gt;
		&amp;lt;span class="tick tick--active" style="left: 0%;"&amp;gt;
			&amp;lt;span class="tick__label tick__label--min"&amp;gt;0&amp;lt;/span&amp;gt;
		&amp;lt;/span&amp;gt;
		&amp;lt;span class="tick" style="left: 50%;"&amp;gt;
			&amp;lt;span class="tick__label"&amp;gt;100&amp;lt;/span&amp;gt;
		&amp;lt;/span&amp;gt;
		&amp;lt;span class="tick" style="left: 100%;"&amp;gt;
			&amp;lt;span class="tick__label tick__label--max"&amp;gt;200&amp;lt;/span&amp;gt;
		&amp;lt;/span&amp;gt;
		&amp;lt;span class="tick" style="left: 100%;"&amp;gt;
			&amp;lt;span class="tick__label"&amp;gt;300&amp;lt;/span&amp;gt;
		&amp;lt;/span&amp;gt;
		&amp;lt;span class="tick" style="left: 100%;"&amp;gt;
			&amp;lt;span class="tick__label"&amp;gt;400&amp;lt;/span&amp;gt;
		&amp;lt;/span&amp;gt;
		&amp;lt;span class="tick" style="left: 100%;"&amp;gt;
			&amp;lt;span class="tick__label"&amp;gt;500&amp;lt;/span&amp;gt;
		&amp;lt;/span&amp;gt;
	&amp;lt;/div&amp;gt;
&amp;lt;/div&amp;gt;&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="javascript"&gt;// code fragment to change slider units of measure

let slider = document.getElementById('pao-buffer-slider');
if(slider) {

        // tried this...but ticks do not get re-hydrated

	let obj = new PaoSliderUnits(...SliderUnitsFeet);
	slider.labelHandles = obj.labelHandles;
	slider.labelTicks = obj.labelTicks;
	slider.max = obj.max;
	slider.minLabel = obj.minLabel;
	slider.pageStep = obj.pageStep;
	slider.step = obj.step;
	slider.ticks = obj.ticks;
	slider.value = obj.value;

// and this...same results as above

if (obj.labelHandles)
  slider.setAttribute('label-handles', '');
if (obj.labelTicks)
  slider.setAttribute('label-ticks', '');

slider.setAttribute('max', obj.max);
slider.setAttribute('min-label', obj.minLabel);
slider.setAttribute('page-step', obj.pageStep);
slider.setAttribute('step', obj.step);
slider.setAttribute('ticks', obj.ticks);
slider.setAttribute('value', obj.value);
}

// various units of measure
const SliderUnitsFeet = [true, true, '500', '0', '25', '0.5', '50', '0']
etc. SliderUnitsMeters, SliderUnitsKilometers, SliderUnitsMile

class PaoSliderUnits {
	constructor(labelHandles, labelTicks, max, minLabel, pageStep, step, ticks, value) {
		this.labelHandles = labelHandles;
		this.labelTicks = labelTicks;
		this.max = max;
		this.minLabel = minLabel;
		this.pageStep = pageStep;
		this.step = step;
		this.ticks = ticks;
		this.value = value;
	}
}&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 08 Jun 2022 19:22:49 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/change-calcite-slider-attributes-at-runtime/m-p/1181238#M77645</guid>
      <dc:creator>GregoryBologna</dc:creator>
      <dc:date>2022-06-08T19:22:49Z</dc:date>
    </item>
  </channel>
</rss>

