You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
10 lines
3.4 KiB
10 lines
3.4 KiB
// All material copyright Esri, All Rights Reserved, unless otherwise specified. |
|
// See https://js.arcgis.com/4.30/esri/copyright.txt for details. |
|
//>>built |
|
define("exports ../TimeExtent ../core/arrayUtils ../core/deprecate ../core/lang ../core/Logger ../core/timeUtils ../webmap/utils ../webscene/utils".split(" "),function(k,g,u,v,w,x,m,n,y){function p(a){return void 0!==a.timeInfo}async function z(a,d){return a.widgets?.timeSlider?.fullTimeExtent??q(a.allLayers,d)}async function q(a,d){if(0===a.length)return g.allTime;await Promise.all(a.map(b=>b.load({signal:d})));var c=a.filter(p),e=a.filter(b=>!p(b)&&null!=b.visibilityTimeExtent);if(0===c.length&& |
|
0===e.length)return g.allTime;a=[];const h=[];for(const b of c)"feature"!==b?.type&&"map-image"!==b?.type||!b.timeInfo?.hasLiveData?h.push(b):a.push(b);c=b=>null==b||b.isAllTime;e=[...h.map(b=>{const f=b.timeInfo?.fullTimeExtent;({visibilityTimeExtent:b}=b);return f?.intersection(b)??b}),...e.map(b=>b.visibilityTimeExtent)];if(e.some(c))return g.allTime;a=a.map(async b=>{const f=(await b.fetchRecomputedExtents({signal:d}))?.timeExtent??b.timeInfo?.fullTimeExtent;({visibilityTimeExtent:b}=b);return f?.intersection(b)?? |
|
b});a=(await Promise.allSettled(a)).map(b=>"fulfilled"===b.status?b.value:null);if(a.some(c))return g.allTime;a=[...a,...e].filter(u.isSome);return 0===a.length?g.allTime:a.reduce((b,f)=>b.union(f))}function A(a,d){a=a.currentTimeExtent;if(!a)return null;const {start:c,end:e}=a;a=c??e??null;switch(d){case "time-window":return new g({start:c,end:e});case "cumulative-from-start":return new g({start:null,end:a});case "cumulative-from-end":return new g({start:a,end:null});case "instant":return new g({start:a, |
|
end:a})}}async function r(a,d){if(!n.isWebMap(a)&&!y.isWebScene(a))return null;await a.load({signal:d});var c=a?.widgets?.timeSlider;if(!c)return null;a=await z(a,d);d=c.loop;var e=c.numThumbs??2;var h=c.currentTimeExtent;if(h){const {start:f,end:l}=h;e=null!=f&&null!=l&&f.getTime()===l.getTime()?"instant":2===e?"time-window":null==f||0===f.getTime()?"cumulative-from-start":"cumulative-from-end"}else e=2===e?"time-window":"cumulative-from-start";h=c.stopDelay??2E3;{const {numStops:f,stopInterval:l, |
|
stops:t}=c;var b=t?{dates:w.clone(t)}:l?{interval:l.clone()}:{count:f??5}}c=A(c,e);return{fullTimeExtent:a,loop:d,mode:e,playRate:h,stops:b,timeExtent:c}}k.getTimeExtentFromLayers=q;k.getTimeSliderSettingsFromWebDocument=r;k.getTimeSliderSettingsFromWebMap=async function(a,d){v.deprecatedFunction(x.getLogger("esri.support.timeUtils.getTimeSliderSettingsFromWebMap"),"`timeUtils.getTimeSliderSettingsFromWebMap` is deprecated in favor of 'timeUtils.getTimeSliderSettingsFromWebDocument'",{replacement:"timeUtils.getTimeSliderSettingsFromWebDocument", |
|
version:"4.30",see:"https://developers.arcgis.com/javascript/latest/api-reference/esri-support-timeUtils.html#getTimeSliderSettingsFromWebDocument",warnOnce:!0});return null!=a&&n.isWebMap(a)?await r(a,d):null};k.toLocalTimeExtent=function(a){if(!a)return a;const {start:d,end:c}=a;return new g({start:null!=d?m.offsetDate(d,d.getTimezoneOffset(),"minutes"):d,end:null!=c?m.offsetDate(c,c.getTimezoneOffset(),"minutes"):c})};k.toUTCTimeExtent=function(a){if(!a)return a;const {start:d,end:c}=a;return new g({start:null!= |
|
d?m.offsetDate(d,-d.getTimezoneOffset(),"minutes"):d,end:null!=c?m.offsetDate(c,-c.getTimezoneOffset(),"minutes"):c})};Object.defineProperty(k,Symbol.toStringTag,{value:"Module"})}); |