@esri/solutions-components 0.6.45 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (24) hide show
  1. package/dist/cjs/card-manager_3.cjs.entry.js +1 -1
  2. package/dist/cjs/{downloadUtils-d017810f.js → downloadUtils-e3e595e9.js} +30 -52
  3. package/dist/cjs/{index.es-de35a9a4.js → index.es-047537b5.js} +1 -1
  4. package/dist/cjs/map-select-tools_3.cjs.entry.js +1 -1
  5. package/dist/cjs/public-notification.cjs.entry.js +1 -1
  6. package/dist/collection/demos/new-public-notification.html +16 -2
  7. package/dist/collection/utils/downloadUtils.js +28 -50
  8. package/dist/collection/utils/downloadUtils.ts +7 -13
  9. package/dist/components/downloadUtils.js +28 -50
  10. package/dist/esm/card-manager_3.entry.js +1 -1
  11. package/dist/esm/{downloadUtils-a3f28bae.js → downloadUtils-8fbd1347.js} +29 -51
  12. package/dist/esm/{index.es-e0432a23.js → index.es-b6705ce7.js} +1 -1
  13. package/dist/esm/map-select-tools_3.entry.js +1 -1
  14. package/dist/esm/public-notification.entry.js +1 -1
  15. package/dist/solutions-components/demos/new-public-notification.html +16 -2
  16. package/dist/solutions-components/{p-02b1befe.js → p-072680a5.js} +12 -12
  17. package/dist/solutions-components/{p-5d5d10d5.js → p-092fd5d9.js} +1 -1
  18. package/dist/solutions-components/{p-4fbf3997.entry.js → p-11cb7b04.entry.js} +1 -1
  19. package/dist/solutions-components/{p-94d64f05.entry.js → p-7f793144.entry.js} +1 -1
  20. package/dist/solutions-components/{p-5a5676d4.entry.js → p-f367db61.entry.js} +1 -1
  21. package/dist/solutions-components/solutions-components.esm.js +1 -1
  22. package/dist/solutions-components/utils/downloadUtils.ts +7 -13
  23. package/dist/types/utils/downloadUtils.d.ts +1 -9
  24. package/package.json +1 -1
@@ -11,7 +11,7 @@ const index = require('./index-2d5760f2.js');
11
11
  const locale = require('./locale-ef06bf9e.js');
12
12
  const mapViewUtils = require('./mapViewUtils-f7bbc35b.js');
13
13
  const loadModules = require('./loadModules-ad1ab1a8.js');
14
- const downloadUtils = require('./downloadUtils-d017810f.js');
14
+ const downloadUtils = require('./downloadUtils-e3e595e9.js');
15
15
  require('./_commonjsHelpers-384729db.js');
16
16
  require('./interfaces-000be6de.js');
17
17
  require('./solution-resource-f9e3b289.js');
@@ -1509,7 +1509,7 @@ function(t){var e=function(t){for(var e=t.length,r=new Uint8Array(e),n=0;n<e;n++
1509
1509
  * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
1510
1510
  * ====================================================================
1511
1511
  */
1512
- function(t){function e(){return (n.canvg?Promise.resolve(n.canvg):Promise.resolve().then(function () { return require('./index.es-de35a9a4.js'); })).catch((function(t){return Promise.reject(new Error("Could not load canvg: "+t))})).then((function(t){return t.default?t.default:t}))}E.API.addSvgAsImage=function(t,r,n,i,o,s,c,u){if(isNaN(r)||isNaN(n))throw a.error("jsPDF.addSvgAsImage: Invalid coordinates",arguments),new Error("Invalid coordinates passed to jsPDF.addSvgAsImage");if(isNaN(i)||isNaN(o))throw a.error("jsPDF.addSvgAsImage: Invalid measurements",arguments),new Error("Invalid measurements (width and/or height) passed to jsPDF.addSvgAsImage");var h=document.createElement("canvas");h.width=i,h.height=o;var l=h.getContext("2d");l.fillStyle="#fff",l.fillRect(0,0,h.width,h.height);var f={ignoreMouse:!0,ignoreAnimation:!0,ignoreDimensions:!0},d=this;return e().then((function(e){return e.fromString(l,t,f)}),(function(){return Promise.reject(new Error("Could not load canvg."))})).then((function(t){return t.render(f)})).then((function(){d.addImage(h.toDataURL("image/jpeg",1),r,n,i,o,c,u);}))};}(),E.API.putTotalPages=function(t){var e,r=0;parseInt(this.internal.getFont().id.substr(1),10)<15?(e=new RegExp(t,"g"),r=this.internal.getNumberOfPages()):(e=new RegExp(this.pdfEscape16(t,this.internal.getFont()),"g"),r=this.pdfEscape16(this.internal.getNumberOfPages()+"",this.internal.getFont()));for(var n=1;n<=this.internal.getNumberOfPages();n++)for(var i=0;i<this.internal.pages[n].length;i++)this.internal.pages[n][i]=this.internal.pages[n][i].replace(e,r);return this},E.API.viewerPreferences=function(e,r){var n;e=e||{},r=r||!1;var i,a,o,s={HideToolbar:{defaultValue:!1,value:!1,type:"boolean",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.3},HideMenubar:{defaultValue:!1,value:!1,type:"boolean",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.3},HideWindowUI:{defaultValue:!1,value:!1,type:"boolean",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.3},FitWindow:{defaultValue:!1,value:!1,type:"boolean",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.3},CenterWindow:{defaultValue:!1,value:!1,type:"boolean",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.3},DisplayDocTitle:{defaultValue:!1,value:!1,type:"boolean",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.4},NonFullScreenPageMode:{defaultValue:"UseNone",value:"UseNone",type:"name",explicitSet:!1,valueSet:["UseNone","UseOutlines","UseThumbs","UseOC"],pdfVersion:1.3},Direction:{defaultValue:"L2R",value:"L2R",type:"name",explicitSet:!1,valueSet:["L2R","R2L"],pdfVersion:1.3},ViewArea:{defaultValue:"CropBox",value:"CropBox",type:"name",explicitSet:!1,valueSet:["MediaBox","CropBox","TrimBox","BleedBox","ArtBox"],pdfVersion:1.4},ViewClip:{defaultValue:"CropBox",value:"CropBox",type:"name",explicitSet:!1,valueSet:["MediaBox","CropBox","TrimBox","BleedBox","ArtBox"],pdfVersion:1.4},PrintArea:{defaultValue:"CropBox",value:"CropBox",type:"name",explicitSet:!1,valueSet:["MediaBox","CropBox","TrimBox","BleedBox","ArtBox"],pdfVersion:1.4},PrintClip:{defaultValue:"CropBox",value:"CropBox",type:"name",explicitSet:!1,valueSet:["MediaBox","CropBox","TrimBox","BleedBox","ArtBox"],pdfVersion:1.4},PrintScaling:{defaultValue:"AppDefault",value:"AppDefault",type:"name",explicitSet:!1,valueSet:["AppDefault","None"],pdfVersion:1.6},Duplex:{defaultValue:"",value:"none",type:"name",explicitSet:!1,valueSet:["Simplex","DuplexFlipShortEdge","DuplexFlipLongEdge","none"],pdfVersion:1.7},PickTrayByPDFSize:{defaultValue:!1,value:!1,type:"boolean",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.7},PrintPageRange:{defaultValue:"",value:"",type:"array",explicitSet:!1,valueSet:null,pdfVersion:1.7},NumCopies:{defaultValue:1,value:1,type:"integer",explicitSet:!1,valueSet:null,pdfVersion:1.7}},c=Object.keys(s),u=[],h=0,l=0,f=0;function d(t,e){var r,n=!1;for(r=0;r<t.length;r+=1)t[r]===e&&(n=!0);return n}if(void 0===this.internal.viewerpreferences&&(this.internal.viewerpreferences={},this.internal.viewerpreferences.configuration=JSON.parse(JSON.stringify(s)),this.internal.viewerpreferences.isSubscribed=!1),n=this.internal.viewerpreferences.configuration,"reset"===e||!0===r){var p=c.length;for(f=0;f<p;f+=1)n[c[f]].value=n[c[f]].defaultValue,n[c[f]].explicitSet=!1;}if("object"===t(e))for(a in e)if(o=e[a],d(c,a)&&void 0!==o){if("boolean"===n[a].type&&"boolean"==typeof o)n[a].value=o;else if("name"===n[a].type&&d(n[a].valueSet,o))n[a].value=o;else if("integer"===n[a].type&&Number.isInteger(o))n[a].value=o;else if("array"===n[a].type){for(h=0;h<o.length;h+=1)if(i=!0,1===o[h].length&&"number"==typeof o[h][0])u.push(String(o[h]-1));else if(o[h].length>1){for(l=0;l<o[h].length;l+=1)"number"!=typeof o[h][l]&&(i=!1);!0===i&&u.push([o[h][0]-1,o[h][1]-1].join(" "));}n[a].value="["+u.join(" ")+"]";}else n[a].value=n[a].defaultValue;n[a].explicitSet=!0;}return !1===this.internal.viewerpreferences.isSubscribed&&(this.internal.events.subscribe("putCatalog",(function(){var t,e=[];for(t in n)!0===n[t].explicitSet&&("name"===n[t].type?e.push("/"+t+" /"+n[t].value):e.push("/"+t+" "+n[t].value));0!==e.length&&this.internal.write("/ViewerPreferences\n<<\n"+e.join("\n")+"\n>>");})),this.internal.viewerpreferences.isSubscribed=!0),this.internal.viewerpreferences.configuration=n,this},
1512
+ function(t){function e(){return (n.canvg?Promise.resolve(n.canvg):Promise.resolve().then(function () { return require('./index.es-047537b5.js'); })).catch((function(t){return Promise.reject(new Error("Could not load canvg: "+t))})).then((function(t){return t.default?t.default:t}))}E.API.addSvgAsImage=function(t,r,n,i,o,s,c,u){if(isNaN(r)||isNaN(n))throw a.error("jsPDF.addSvgAsImage: Invalid coordinates",arguments),new Error("Invalid coordinates passed to jsPDF.addSvgAsImage");if(isNaN(i)||isNaN(o))throw a.error("jsPDF.addSvgAsImage: Invalid measurements",arguments),new Error("Invalid measurements (width and/or height) passed to jsPDF.addSvgAsImage");var h=document.createElement("canvas");h.width=i,h.height=o;var l=h.getContext("2d");l.fillStyle="#fff",l.fillRect(0,0,h.width,h.height);var f={ignoreMouse:!0,ignoreAnimation:!0,ignoreDimensions:!0},d=this;return e().then((function(e){return e.fromString(l,t,f)}),(function(){return Promise.reject(new Error("Could not load canvg."))})).then((function(t){return t.render(f)})).then((function(){d.addImage(h.toDataURL("image/jpeg",1),r,n,i,o,c,u);}))};}(),E.API.putTotalPages=function(t){var e,r=0;parseInt(this.internal.getFont().id.substr(1),10)<15?(e=new RegExp(t,"g"),r=this.internal.getNumberOfPages()):(e=new RegExp(this.pdfEscape16(t,this.internal.getFont()),"g"),r=this.pdfEscape16(this.internal.getNumberOfPages()+"",this.internal.getFont()));for(var n=1;n<=this.internal.getNumberOfPages();n++)for(var i=0;i<this.internal.pages[n].length;i++)this.internal.pages[n][i]=this.internal.pages[n][i].replace(e,r);return this},E.API.viewerPreferences=function(e,r){var n;e=e||{},r=r||!1;var i,a,o,s={HideToolbar:{defaultValue:!1,value:!1,type:"boolean",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.3},HideMenubar:{defaultValue:!1,value:!1,type:"boolean",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.3},HideWindowUI:{defaultValue:!1,value:!1,type:"boolean",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.3},FitWindow:{defaultValue:!1,value:!1,type:"boolean",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.3},CenterWindow:{defaultValue:!1,value:!1,type:"boolean",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.3},DisplayDocTitle:{defaultValue:!1,value:!1,type:"boolean",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.4},NonFullScreenPageMode:{defaultValue:"UseNone",value:"UseNone",type:"name",explicitSet:!1,valueSet:["UseNone","UseOutlines","UseThumbs","UseOC"],pdfVersion:1.3},Direction:{defaultValue:"L2R",value:"L2R",type:"name",explicitSet:!1,valueSet:["L2R","R2L"],pdfVersion:1.3},ViewArea:{defaultValue:"CropBox",value:"CropBox",type:"name",explicitSet:!1,valueSet:["MediaBox","CropBox","TrimBox","BleedBox","ArtBox"],pdfVersion:1.4},ViewClip:{defaultValue:"CropBox",value:"CropBox",type:"name",explicitSet:!1,valueSet:["MediaBox","CropBox","TrimBox","BleedBox","ArtBox"],pdfVersion:1.4},PrintArea:{defaultValue:"CropBox",value:"CropBox",type:"name",explicitSet:!1,valueSet:["MediaBox","CropBox","TrimBox","BleedBox","ArtBox"],pdfVersion:1.4},PrintClip:{defaultValue:"CropBox",value:"CropBox",type:"name",explicitSet:!1,valueSet:["MediaBox","CropBox","TrimBox","BleedBox","ArtBox"],pdfVersion:1.4},PrintScaling:{defaultValue:"AppDefault",value:"AppDefault",type:"name",explicitSet:!1,valueSet:["AppDefault","None"],pdfVersion:1.6},Duplex:{defaultValue:"",value:"none",type:"name",explicitSet:!1,valueSet:["Simplex","DuplexFlipShortEdge","DuplexFlipLongEdge","none"],pdfVersion:1.7},PickTrayByPDFSize:{defaultValue:!1,value:!1,type:"boolean",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.7},PrintPageRange:{defaultValue:"",value:"",type:"array",explicitSet:!1,valueSet:null,pdfVersion:1.7},NumCopies:{defaultValue:1,value:1,type:"integer",explicitSet:!1,valueSet:null,pdfVersion:1.7}},c=Object.keys(s),u=[],h=0,l=0,f=0;function d(t,e){var r,n=!1;for(r=0;r<t.length;r+=1)t[r]===e&&(n=!0);return n}if(void 0===this.internal.viewerpreferences&&(this.internal.viewerpreferences={},this.internal.viewerpreferences.configuration=JSON.parse(JSON.stringify(s)),this.internal.viewerpreferences.isSubscribed=!1),n=this.internal.viewerpreferences.configuration,"reset"===e||!0===r){var p=c.length;for(f=0;f<p;f+=1)n[c[f]].value=n[c[f]].defaultValue,n[c[f]].explicitSet=!1;}if("object"===t(e))for(a in e)if(o=e[a],d(c,a)&&void 0!==o){if("boolean"===n[a].type&&"boolean"==typeof o)n[a].value=o;else if("name"===n[a].type&&d(n[a].valueSet,o))n[a].value=o;else if("integer"===n[a].type&&Number.isInteger(o))n[a].value=o;else if("array"===n[a].type){for(h=0;h<o.length;h+=1)if(i=!0,1===o[h].length&&"number"==typeof o[h][0])u.push(String(o[h]-1));else if(o[h].length>1){for(l=0;l<o[h].length;l+=1)"number"!=typeof o[h][l]&&(i=!1);!0===i&&u.push([o[h][0]-1,o[h][1]-1].join(" "));}n[a].value="["+u.join(" ")+"]";}else n[a].value=n[a].defaultValue;n[a].explicitSet=!0;}return !1===this.internal.viewerpreferences.isSubscribed&&(this.internal.events.subscribe("putCatalog",(function(){var t,e=[];for(t in n)!0===n[t].explicitSet&&("name"===n[t].type?e.push("/"+t+" /"+n[t].value):e.push("/"+t+" "+n[t].value));0!==e.length&&this.internal.write("/ViewerPreferences\n<<\n"+e.join("\n")+"\n>>");})),this.internal.viewerpreferences.isSubscribed=!0),this.internal.viewerpreferences.configuration=n,this},
1513
1513
  /** ====================================================================
1514
1514
  * @license
1515
1515
  * jsPDF XMP metadata plugin
@@ -2556,28 +2556,21 @@ async function _convertPopupArcadeToLabelSpec(expressionInfo) {
2556
2556
  * @param layer Layer from which to fetch features
2557
2557
  * @return Promise resolving to a set of executors keyed using the expression name
2558
2558
  */
2559
- /*
2560
- async function _createArcadeExecutors(
2561
- labelFormat: string,
2562
- layer: __esri.FeatureLayer
2563
- ): Promise<IArcadeExecutors> {
2564
- const arcadeExecutors: IArcadeExecutors = {};
2565
-
2559
+ async function _createArcadeExecutors(labelFormat, layer) {
2560
+ const arcadeExecutors = {};
2566
2561
  // Are any Arcade expressions in the layer?
2567
2562
  if (!Array.isArray(layer.popupTemplate.expressionInfos) || layer.popupTemplate.expressionInfos.length === 0) {
2568
2563
  return Promise.resolve(arcadeExecutors);
2569
2564
  }
2570
-
2571
2565
  // Are there any Arcade expressions in the label format?
2572
2566
  const arcadeExpressionRegExp = /\{expression\/\w+\}/g;
2573
2567
  const arcadeExpressionsMatches = labelFormat.match(arcadeExpressionRegExp);
2574
2568
  if (!arcadeExpressionsMatches) {
2575
2569
  return Promise.resolve(arcadeExecutors);
2576
2570
  }
2577
-
2578
2571
  // Generate an Arcade executor for each match
2579
- const [arcade] = await loadModules(["esri/arcade"]);
2580
- const labelingProfile: __esri.Profile = {
2572
+ const [arcade] = await loadModules.loadModules(["esri/arcade"]);
2573
+ const labelingProfile = {
2581
2574
  variables: [
2582
2575
  {
2583
2576
  name: "$feature",
@@ -2597,38 +2590,26 @@ async function _createArcadeExecutors(
2597
2590
  }
2598
2591
  ]
2599
2592
  };
2600
-
2601
- const createArcadeExecutorPromises: IArcadeExecutorPromises = {};
2602
- arcadeExpressionsMatches.forEach(
2603
- (match: string) => {
2604
- const expressionName = match.substring(match.indexOf("/") + 1, match.length - 1);
2605
-
2606
- (layer.popupTemplate.expressionInfos || []).forEach(
2607
- expressionInfo => {
2608
- if (expressionInfo.name === expressionName) {
2609
- createArcadeExecutorPromises[expressionName] =
2610
- arcade.createArcadeExecutor(expressionInfo.expression, labelingProfile);
2611
- }
2612
- }
2613
- );
2614
- }
2615
- );
2616
-
2593
+ const createArcadeExecutorPromises = {};
2594
+ arcadeExpressionsMatches.forEach((match) => {
2595
+ const expressionName = match.substring(match.indexOf("/") + 1, match.length - 1);
2596
+ (layer.popupTemplate.expressionInfos || []).forEach(expressionInfo => {
2597
+ if (expressionInfo.name === expressionName) {
2598
+ createArcadeExecutorPromises[expressionName] =
2599
+ arcade.createArcadeExecutor(expressionInfo.expression, labelingProfile);
2600
+ }
2601
+ });
2602
+ });
2617
2603
  const promises = Object.values(createArcadeExecutorPromises);
2618
2604
  return Promise.all(promises)
2619
- .then(
2620
- executors => {
2621
- const expressionNames = Object.keys(createArcadeExecutorPromises);
2622
-
2623
- for (let i = 0; i < expressionNames.length; ++i) {
2624
- arcadeExecutors[expressionNames[i]] = executors[i].valueOf() as __esri.ArcadeExecutor;
2625
- }
2626
-
2627
- return arcadeExecutors;
2605
+ .then(executors => {
2606
+ const expressionNames = Object.keys(createArcadeExecutorPromises);
2607
+ for (let i = 0; i < expressionNames.length; ++i) {
2608
+ arcadeExecutors[expressionNames[i]] = executors[i].valueOf();
2628
2609
  }
2629
- );
2610
+ return arcadeExecutors;
2611
+ });
2630
2612
  }
2631
- */
2632
2613
  /**
2633
2614
  * Creates a title from a list of selection set names.
2634
2615
  *
@@ -3025,7 +3006,7 @@ async function _prepareLabels(webmap, layer, ids, formatUsingLayerPopup = true,
3025
3006
  // Apply the label format
3026
3007
  const labels = labelFormatProps.labelFormat.type === "pattern" ?
3027
3008
  // Export attributes in format
3028
- await _prepareLabelsFromPattern(/*layer,*/ featureSet, attributeOrigNames, attributeTypes, attributeDomains, labelFormatProps.attributeFormats, labelFormatProps.labelFormat.format, includeHeaderNames)
3009
+ await _prepareLabelsFromPattern(layer, featureSet, attributeOrigNames, attributeTypes, attributeDomains, labelFormatProps.attributeFormats, labelFormatProps.labelFormat.format, includeHeaderNames)
3029
3010
  : labelFormatProps.labelFormat.type === "executor" ?
3030
3011
  // Export attributes in expression
3031
3012
  await _prepareLabelsUsingExecutor(featureSet, labelFormatProps.labelFormat.format)
@@ -3075,31 +3056,28 @@ async function _prepareLabelsFromAll(featureSet, attributeTypes, attributeDomain
3075
3056
  * @param includeHeaderNames Add the label format at the front of the list of generated labels
3076
3057
  * @returns Promise resolving with list of labels, each of which is a list of label lines
3077
3058
  */
3078
- async function _prepareLabelsFromPattern(
3079
- //layer: __esri.FeatureLayer,
3080
- featureSet, attributeOrigNames, attributeTypes, attributeDomains, attributeFormats, labelFormat, includeHeaderNames = false) {
3059
+ async function _prepareLabelsFromPattern(layer, featureSet, attributeOrigNames, attributeTypes, attributeDomains, attributeFormats, labelFormat, includeHeaderNames = false) {
3060
+ var _a;
3081
3061
  const [intl] = await loadModules.loadModules(["esri/intl"]);
3082
3062
  // Find the label fields that we need to replace with values
3083
3063
  const attributeExpressionMatches = _getFieldExpressionsFromLabel(labelFormat);
3084
3064
  const attributeNames = _getFieldNamesFromFieldExpressions(attributeExpressionMatches);
3085
3065
  // Do we need any Arcade executors?
3086
- //const arcadeExecutors = await _createArcadeExecutors(labelFormat, layer);
3087
- //const arcadeExpressionRegExp = /\{expression\/\w+\}/g;
3066
+ const arcadeExecutors = await _createArcadeExecutors(labelFormat, layer);
3067
+ const arcadeExpressionRegExp = /\{expression\/\w+\}/g;
3088
3068
  // Find the label fields that we need to replace with values
3089
- //const arcadeExpressionMatches = labelFormat.match(arcadeExpressionRegExp) ?? [];
3069
+ const arcadeExpressionMatches = (_a = labelFormat.match(arcadeExpressionRegExp)) !== null && _a !== void 0 ? _a : [];
3090
3070
  // Convert feature attributes into an array of labels
3091
3071
  const labels = await Promise.all(featureSet.map(async (feature) => {
3092
3072
  var _a;
3093
3073
  let labelPrep = labelFormat;
3094
- /*
3095
- // Replace Arcade expressions in this feature
3074
+ //Replace Arcade expressions in this feature
3096
3075
  for (let i = 0; i < arcadeExpressionMatches.length; i++) {
3097
- const match: string = arcadeExpressionMatches[i];
3076
+ const match = arcadeExpressionMatches[i];
3098
3077
  const expressionName = match.substring(match.indexOf("/") + 1, match.length - 1);
3099
- const value = await arcadeExecutors[expressionName].executeAsync({"$feature": feature, "$layer", layer});
3078
+ const value = await arcadeExecutors[expressionName].executeAsync({ "$feature": feature, "$layer": layer });
3100
3079
  labelPrep = labelPrep.replace(match, value);
3101
3080
  }
3102
- */
3103
3081
  // Replace non-Arcade fields in this feature
3104
3082
  const attributeValues = (_a = feature.attributes) !== null && _a !== void 0 ? _a : feature;
3105
3083
  attributeNames.forEach((attributeName, i) => {
@@ -6,7 +6,7 @@
6
6
  'use strict';
7
7
 
8
8
  const _commonjsHelpers = require('./_commonjsHelpers-384729db.js');
9
- const downloadUtils = require('./downloadUtils-d017810f.js');
9
+ const downloadUtils = require('./downloadUtils-e3e595e9.js');
10
10
  require('./index-2d5760f2.js');
11
11
  require('./loadModules-ad1ab1a8.js');
12
12
  require('./locale-ef06bf9e.js');
@@ -13,7 +13,7 @@ const mapViewUtils = require('./mapViewUtils-f7bbc35b.js');
13
13
  const interfaces = require('./interfaces-000be6de.js');
14
14
  const publicNotificationStore = require('./publicNotificationStore-e1ae21f1.js');
15
15
  const locale = require('./locale-ef06bf9e.js');
16
- const downloadUtils = require('./downloadUtils-d017810f.js');
16
+ const downloadUtils = require('./downloadUtils-e3e595e9.js');
17
17
  require('./index-74222073.js');
18
18
  require('./_commonjsHelpers-384729db.js');
19
19
  require('./solution-resource-f9e3b289.js');
@@ -13,7 +13,7 @@ const loadModules = require('./loadModules-ad1ab1a8.js');
13
13
  const mapViewUtils = require('./mapViewUtils-f7bbc35b.js');
14
14
  const publicNotificationStore = require('./publicNotificationStore-e1ae21f1.js');
15
15
  const locale = require('./locale-ef06bf9e.js');
16
- const downloadUtils = require('./downloadUtils-d017810f.js');
16
+ const downloadUtils = require('./downloadUtils-e3e595e9.js');
17
17
  require('./index-74222073.js');
18
18
  require('./_commonjsHelpers-384729db.js');
19
19
  require('./solution-resource-f9e3b289.js');
@@ -74,13 +74,27 @@
74
74
  Legend,
75
75
  esriConfig
76
76
  ) => {
77
+ let itemId;
78
+ var vars = window.location.search.substring(1).split('&');
79
+ vars.forEach((param) => {
80
+ let vals = param.split('=');
81
+ const v = vals[1];
82
+ switch (vals[0]) {
83
+ case "id":
84
+ itemId = v;
85
+ break;
86
+ default:
87
+ break;
88
+ }
89
+ });
90
+
77
91
  //esriConfig.portalUrl = "https://solutions.mapsdevext.arcgis.com";
78
92
  var webMap = new WebMap({
79
93
  portalItem: {
80
94
  // solutions
81
- id: "3715f4899bea4b2a948347c5c2357e58"
95
+ id: itemId ? itemId : "3715f4899bea4b2a948347c5c2357e58"
82
96
  // InstantApps
83
- //id: "863e4f6f2a7840db896cc1b1606d552d"
97
+ //id: itemId ? itemId : "863e4f6f2a7840db896cc1b1606d552d"
84
98
  }
85
99
  });
86
100
 
@@ -238,28 +238,21 @@ export async function _convertPopupArcadeToLabelSpec(expressionInfo) {
238
238
  * @param layer Layer from which to fetch features
239
239
  * @return Promise resolving to a set of executors keyed using the expression name
240
240
  */
241
- /*
242
- async function _createArcadeExecutors(
243
- labelFormat: string,
244
- layer: __esri.FeatureLayer
245
- ): Promise<IArcadeExecutors> {
246
- const arcadeExecutors: IArcadeExecutors = {};
247
-
241
+ async function _createArcadeExecutors(labelFormat, layer) {
242
+ const arcadeExecutors = {};
248
243
  // Are any Arcade expressions in the layer?
249
244
  if (!Array.isArray(layer.popupTemplate.expressionInfos) || layer.popupTemplate.expressionInfos.length === 0) {
250
245
  return Promise.resolve(arcadeExecutors);
251
246
  }
252
-
253
247
  // Are there any Arcade expressions in the label format?
254
248
  const arcadeExpressionRegExp = /\{expression\/\w+\}/g;
255
249
  const arcadeExpressionsMatches = labelFormat.match(arcadeExpressionRegExp);
256
250
  if (!arcadeExpressionsMatches) {
257
251
  return Promise.resolve(arcadeExecutors);
258
252
  }
259
-
260
253
  // Generate an Arcade executor for each match
261
254
  const [arcade] = await loadModules(["esri/arcade"]);
262
- const labelingProfile: __esri.Profile = {
255
+ const labelingProfile = {
263
256
  variables: [
264
257
  {
265
258
  name: "$feature",
@@ -279,38 +272,26 @@ async function _createArcadeExecutors(
279
272
  }
280
273
  ]
281
274
  };
282
-
283
- const createArcadeExecutorPromises: IArcadeExecutorPromises = {};
284
- arcadeExpressionsMatches.forEach(
285
- (match: string) => {
286
- const expressionName = match.substring(match.indexOf("/") + 1, match.length - 1);
287
-
288
- (layer.popupTemplate.expressionInfos || []).forEach(
289
- expressionInfo => {
290
- if (expressionInfo.name === expressionName) {
291
- createArcadeExecutorPromises[expressionName] =
292
- arcade.createArcadeExecutor(expressionInfo.expression, labelingProfile);
293
- }
294
- }
295
- );
296
- }
297
- );
298
-
275
+ const createArcadeExecutorPromises = {};
276
+ arcadeExpressionsMatches.forEach((match) => {
277
+ const expressionName = match.substring(match.indexOf("/") + 1, match.length - 1);
278
+ (layer.popupTemplate.expressionInfos || []).forEach(expressionInfo => {
279
+ if (expressionInfo.name === expressionName) {
280
+ createArcadeExecutorPromises[expressionName] =
281
+ arcade.createArcadeExecutor(expressionInfo.expression, labelingProfile);
282
+ }
283
+ });
284
+ });
299
285
  const promises = Object.values(createArcadeExecutorPromises);
300
286
  return Promise.all(promises)
301
- .then(
302
- executors => {
303
- const expressionNames = Object.keys(createArcadeExecutorPromises);
304
-
305
- for (let i = 0; i < expressionNames.length; ++i) {
306
- arcadeExecutors[expressionNames[i]] = executors[i].valueOf() as __esri.ArcadeExecutor;
307
- }
308
-
309
- return arcadeExecutors;
287
+ .then(executors => {
288
+ const expressionNames = Object.keys(createArcadeExecutorPromises);
289
+ for (let i = 0; i < expressionNames.length; ++i) {
290
+ arcadeExecutors[expressionNames[i]] = executors[i].valueOf();
310
291
  }
311
- );
292
+ return arcadeExecutors;
293
+ });
312
294
  }
313
- */
314
295
  /**
315
296
  * Creates a title from a list of selection set names.
316
297
  *
@@ -707,7 +688,7 @@ export async function _prepareLabels(webmap, layer, ids, formatUsingLayerPopup =
707
688
  // Apply the label format
708
689
  const labels = labelFormatProps.labelFormat.type === "pattern" ?
709
690
  // Export attributes in format
710
- await _prepareLabelsFromPattern(/*layer,*/ featureSet, attributeOrigNames, attributeTypes, attributeDomains, labelFormatProps.attributeFormats, labelFormatProps.labelFormat.format, includeHeaderNames)
691
+ await _prepareLabelsFromPattern(layer, featureSet, attributeOrigNames, attributeTypes, attributeDomains, labelFormatProps.attributeFormats, labelFormatProps.labelFormat.format, includeHeaderNames)
711
692
  : labelFormatProps.labelFormat.type === "executor" ?
712
693
  // Export attributes in expression
713
694
  await _prepareLabelsUsingExecutor(featureSet, labelFormatProps.labelFormat.format)
@@ -757,31 +738,28 @@ export async function _prepareLabelsFromAll(featureSet, attributeTypes, attribut
757
738
  * @param includeHeaderNames Add the label format at the front of the list of generated labels
758
739
  * @returns Promise resolving with list of labels, each of which is a list of label lines
759
740
  */
760
- export async function _prepareLabelsFromPattern(
761
- //layer: __esri.FeatureLayer,
762
- featureSet, attributeOrigNames, attributeTypes, attributeDomains, attributeFormats, labelFormat, includeHeaderNames = false) {
741
+ export async function _prepareLabelsFromPattern(layer, featureSet, attributeOrigNames, attributeTypes, attributeDomains, attributeFormats, labelFormat, includeHeaderNames = false) {
742
+ var _a;
763
743
  const [intl] = await loadModules(["esri/intl"]);
764
744
  // Find the label fields that we need to replace with values
765
745
  const attributeExpressionMatches = _getFieldExpressionsFromLabel(labelFormat);
766
746
  const attributeNames = _getFieldNamesFromFieldExpressions(attributeExpressionMatches);
767
747
  // Do we need any Arcade executors?
768
- //const arcadeExecutors = await _createArcadeExecutors(labelFormat, layer);
769
- //const arcadeExpressionRegExp = /\{expression\/\w+\}/g;
748
+ const arcadeExecutors = await _createArcadeExecutors(labelFormat, layer);
749
+ const arcadeExpressionRegExp = /\{expression\/\w+\}/g;
770
750
  // Find the label fields that we need to replace with values
771
- //const arcadeExpressionMatches = labelFormat.match(arcadeExpressionRegExp) ?? [];
751
+ const arcadeExpressionMatches = (_a = labelFormat.match(arcadeExpressionRegExp)) !== null && _a !== void 0 ? _a : [];
772
752
  // Convert feature attributes into an array of labels
773
753
  const labels = await Promise.all(featureSet.map(async (feature) => {
774
754
  var _a;
775
755
  let labelPrep = labelFormat;
776
- /*
777
- // Replace Arcade expressions in this feature
756
+ //Replace Arcade expressions in this feature
778
757
  for (let i = 0; i < arcadeExpressionMatches.length; i++) {
779
- const match: string = arcadeExpressionMatches[i];
758
+ const match = arcadeExpressionMatches[i];
780
759
  const expressionName = match.substring(match.indexOf("/") + 1, match.length - 1);
781
- const value = await arcadeExecutors[expressionName].executeAsync({"$feature": feature, "$layer", layer});
760
+ const value = await arcadeExecutors[expressionName].executeAsync({ "$feature": feature, "$layer": layer });
782
761
  labelPrep = labelPrep.replace(match, value);
783
762
  }
784
- */
785
763
  // Replace non-Arcade fields in this feature
786
764
  const attributeValues = (_a = feature.attributes) !== null && _a !== void 0 ? _a : feature;
787
765
  attributeNames.forEach((attributeName, i) => {
@@ -25,7 +25,6 @@ import * as common from "@esri/solution-common";
25
25
 
26
26
  export { ILabel } from "./pdfUtils";
27
27
 
28
- /*
29
28
  interface IArcadeExecutors {
30
29
  [expressionName: string]: __esri.ArcadeExecutor;
31
30
  }
@@ -33,7 +32,6 @@ interface IArcadeExecutors {
33
32
  interface IArcadeExecutorPromises {
34
33
  [expressionName: string]: Promise<__esri.ArcadeExecutor>;
35
34
  }
36
- */
37
35
 
38
36
  export interface IAttributeOrigNames {
39
37
  [lowercaseName: string]: string;
@@ -381,7 +379,6 @@ export async function _convertPopupArcadeToLabelSpec(
381
379
  * @param layer Layer from which to fetch features
382
380
  * @return Promise resolving to a set of executors keyed using the expression name
383
381
  */
384
- /*
385
382
  async function _createArcadeExecutors(
386
383
  labelFormat: string,
387
384
  layer: __esri.FeatureLayer
@@ -453,7 +450,6 @@ async function _createArcadeExecutors(
453
450
  }
454
451
  );
455
452
  }
456
- */
457
453
 
458
454
  /**
459
455
  * Creates a title from a list of selection set names.
@@ -944,7 +940,7 @@ export async function _prepareLabels(
944
940
  const labels
945
941
  = labelFormatProps.labelFormat.type === "pattern" ?
946
942
  // Export attributes in format
947
- await _prepareLabelsFromPattern(/*layer,*/ featureSet, attributeOrigNames, attributeTypes, attributeDomains,
943
+ await _prepareLabelsFromPattern(layer, featureSet, attributeOrigNames, attributeTypes, attributeDomains,
948
944
  labelFormatProps.attributeFormats, labelFormatProps.labelFormat.format as string, includeHeaderNames)
949
945
 
950
946
  : labelFormatProps.labelFormat.type === "executor" ?
@@ -1015,7 +1011,7 @@ export async function _prepareLabelsFromAll(
1015
1011
  * @returns Promise resolving with list of labels, each of which is a list of label lines
1016
1012
  */
1017
1013
  export async function _prepareLabelsFromPattern(
1018
- //layer: __esri.FeatureLayer,
1014
+ layer: __esri.FeatureLayer,
1019
1015
  featureSet: __esri.Graphic[],
1020
1016
  attributeOrigNames: IAttributeOrigNames,
1021
1017
  attributeTypes: IAttributeTypes,
@@ -1031,26 +1027,24 @@ export async function _prepareLabelsFromPattern(
1031
1027
  const attributeNames = _getFieldNamesFromFieldExpressions(attributeExpressionMatches);
1032
1028
 
1033
1029
  // Do we need any Arcade executors?
1034
- //const arcadeExecutors = await _createArcadeExecutors(labelFormat, layer);
1035
- //const arcadeExpressionRegExp = /\{expression\/\w+\}/g;
1030
+ const arcadeExecutors = await _createArcadeExecutors(labelFormat, layer);
1031
+ const arcadeExpressionRegExp = /\{expression\/\w+\}/g;
1036
1032
 
1037
1033
  // Find the label fields that we need to replace with values
1038
- //const arcadeExpressionMatches = labelFormat.match(arcadeExpressionRegExp) ?? [];
1034
+ const arcadeExpressionMatches = labelFormat.match(arcadeExpressionRegExp) ?? [];
1039
1035
 
1040
1036
  // Convert feature attributes into an array of labels
1041
1037
  const labels = await Promise.all(featureSet.map(
1042
1038
  async feature => {
1043
1039
  let labelPrep = labelFormat;
1044
1040
 
1045
- /*
1046
- // Replace Arcade expressions in this feature
1041
+ //Replace Arcade expressions in this feature
1047
1042
  for (let i = 0; i < arcadeExpressionMatches.length; i++) {
1048
1043
  const match: string = arcadeExpressionMatches[i];
1049
1044
  const expressionName = match.substring(match.indexOf("/") + 1, match.length - 1);
1050
- const value = await arcadeExecutors[expressionName].executeAsync({"$feature": feature, "$layer", layer});
1045
+ const value = await arcadeExecutors[expressionName].executeAsync({"$feature": feature, "$layer": layer});
1051
1046
  labelPrep = labelPrep.replace(match, value);
1052
1047
  }
1053
- */
1054
1048
 
1055
1049
  // Replace non-Arcade fields in this feature
1056
1050
  const attributeValues = feature.attributes ?? feature;
@@ -2554,28 +2554,21 @@ async function _convertPopupArcadeToLabelSpec(expressionInfo) {
2554
2554
  * @param layer Layer from which to fetch features
2555
2555
  * @return Promise resolving to a set of executors keyed using the expression name
2556
2556
  */
2557
- /*
2558
- async function _createArcadeExecutors(
2559
- labelFormat: string,
2560
- layer: __esri.FeatureLayer
2561
- ): Promise<IArcadeExecutors> {
2562
- const arcadeExecutors: IArcadeExecutors = {};
2563
-
2557
+ async function _createArcadeExecutors(labelFormat, layer) {
2558
+ const arcadeExecutors = {};
2564
2559
  // Are any Arcade expressions in the layer?
2565
2560
  if (!Array.isArray(layer.popupTemplate.expressionInfos) || layer.popupTemplate.expressionInfos.length === 0) {
2566
2561
  return Promise.resolve(arcadeExecutors);
2567
2562
  }
2568
-
2569
2563
  // Are there any Arcade expressions in the label format?
2570
2564
  const arcadeExpressionRegExp = /\{expression\/\w+\}/g;
2571
2565
  const arcadeExpressionsMatches = labelFormat.match(arcadeExpressionRegExp);
2572
2566
  if (!arcadeExpressionsMatches) {
2573
2567
  return Promise.resolve(arcadeExecutors);
2574
2568
  }
2575
-
2576
2569
  // Generate an Arcade executor for each match
2577
2570
  const [arcade] = await loadModules(["esri/arcade"]);
2578
- const labelingProfile: __esri.Profile = {
2571
+ const labelingProfile = {
2579
2572
  variables: [
2580
2573
  {
2581
2574
  name: "$feature",
@@ -2595,38 +2588,26 @@ async function _createArcadeExecutors(
2595
2588
  }
2596
2589
  ]
2597
2590
  };
2598
-
2599
- const createArcadeExecutorPromises: IArcadeExecutorPromises = {};
2600
- arcadeExpressionsMatches.forEach(
2601
- (match: string) => {
2602
- const expressionName = match.substring(match.indexOf("/") + 1, match.length - 1);
2603
-
2604
- (layer.popupTemplate.expressionInfos || []).forEach(
2605
- expressionInfo => {
2606
- if (expressionInfo.name === expressionName) {
2607
- createArcadeExecutorPromises[expressionName] =
2608
- arcade.createArcadeExecutor(expressionInfo.expression, labelingProfile);
2609
- }
2610
- }
2611
- );
2612
- }
2613
- );
2614
-
2591
+ const createArcadeExecutorPromises = {};
2592
+ arcadeExpressionsMatches.forEach((match) => {
2593
+ const expressionName = match.substring(match.indexOf("/") + 1, match.length - 1);
2594
+ (layer.popupTemplate.expressionInfos || []).forEach(expressionInfo => {
2595
+ if (expressionInfo.name === expressionName) {
2596
+ createArcadeExecutorPromises[expressionName] =
2597
+ arcade.createArcadeExecutor(expressionInfo.expression, labelingProfile);
2598
+ }
2599
+ });
2600
+ });
2615
2601
  const promises = Object.values(createArcadeExecutorPromises);
2616
2602
  return Promise.all(promises)
2617
- .then(
2618
- executors => {
2619
- const expressionNames = Object.keys(createArcadeExecutorPromises);
2620
-
2621
- for (let i = 0; i < expressionNames.length; ++i) {
2622
- arcadeExecutors[expressionNames[i]] = executors[i].valueOf() as __esri.ArcadeExecutor;
2623
- }
2624
-
2625
- return arcadeExecutors;
2603
+ .then(executors => {
2604
+ const expressionNames = Object.keys(createArcadeExecutorPromises);
2605
+ for (let i = 0; i < expressionNames.length; ++i) {
2606
+ arcadeExecutors[expressionNames[i]] = executors[i].valueOf();
2626
2607
  }
2627
- );
2608
+ return arcadeExecutors;
2609
+ });
2628
2610
  }
2629
- */
2630
2611
  /**
2631
2612
  * Creates a title from a list of selection set names.
2632
2613
  *
@@ -3023,7 +3004,7 @@ async function _prepareLabels(webmap, layer, ids, formatUsingLayerPopup = true,
3023
3004
  // Apply the label format
3024
3005
  const labels = labelFormatProps.labelFormat.type === "pattern" ?
3025
3006
  // Export attributes in format
3026
- await _prepareLabelsFromPattern(/*layer,*/ featureSet, attributeOrigNames, attributeTypes, attributeDomains, labelFormatProps.attributeFormats, labelFormatProps.labelFormat.format, includeHeaderNames)
3007
+ await _prepareLabelsFromPattern(layer, featureSet, attributeOrigNames, attributeTypes, attributeDomains, labelFormatProps.attributeFormats, labelFormatProps.labelFormat.format, includeHeaderNames)
3027
3008
  : labelFormatProps.labelFormat.type === "executor" ?
3028
3009
  // Export attributes in expression
3029
3010
  await _prepareLabelsUsingExecutor(featureSet, labelFormatProps.labelFormat.format)
@@ -3073,31 +3054,28 @@ async function _prepareLabelsFromAll(featureSet, attributeTypes, attributeDomain
3073
3054
  * @param includeHeaderNames Add the label format at the front of the list of generated labels
3074
3055
  * @returns Promise resolving with list of labels, each of which is a list of label lines
3075
3056
  */
3076
- async function _prepareLabelsFromPattern(
3077
- //layer: __esri.FeatureLayer,
3078
- featureSet, attributeOrigNames, attributeTypes, attributeDomains, attributeFormats, labelFormat, includeHeaderNames = false) {
3057
+ async function _prepareLabelsFromPattern(layer, featureSet, attributeOrigNames, attributeTypes, attributeDomains, attributeFormats, labelFormat, includeHeaderNames = false) {
3058
+ var _a;
3079
3059
  const [intl] = await loadModules(["esri/intl"]);
3080
3060
  // Find the label fields that we need to replace with values
3081
3061
  const attributeExpressionMatches = _getFieldExpressionsFromLabel(labelFormat);
3082
3062
  const attributeNames = _getFieldNamesFromFieldExpressions(attributeExpressionMatches);
3083
3063
  // Do we need any Arcade executors?
3084
- //const arcadeExecutors = await _createArcadeExecutors(labelFormat, layer);
3085
- //const arcadeExpressionRegExp = /\{expression\/\w+\}/g;
3064
+ const arcadeExecutors = await _createArcadeExecutors(labelFormat, layer);
3065
+ const arcadeExpressionRegExp = /\{expression\/\w+\}/g;
3086
3066
  // Find the label fields that we need to replace with values
3087
- //const arcadeExpressionMatches = labelFormat.match(arcadeExpressionRegExp) ?? [];
3067
+ const arcadeExpressionMatches = (_a = labelFormat.match(arcadeExpressionRegExp)) !== null && _a !== void 0 ? _a : [];
3088
3068
  // Convert feature attributes into an array of labels
3089
3069
  const labels = await Promise.all(featureSet.map(async (feature) => {
3090
3070
  var _a;
3091
3071
  let labelPrep = labelFormat;
3092
- /*
3093
- // Replace Arcade expressions in this feature
3072
+ //Replace Arcade expressions in this feature
3094
3073
  for (let i = 0; i < arcadeExpressionMatches.length; i++) {
3095
- const match: string = arcadeExpressionMatches[i];
3074
+ const match = arcadeExpressionMatches[i];
3096
3075
  const expressionName = match.substring(match.indexOf("/") + 1, match.length - 1);
3097
- const value = await arcadeExecutors[expressionName].executeAsync({"$feature": feature, "$layer", layer});
3076
+ const value = await arcadeExecutors[expressionName].executeAsync({ "$feature": feature, "$layer": layer });
3098
3077
  labelPrep = labelPrep.replace(match, value);
3099
3078
  }
3100
- */
3101
3079
  // Replace non-Arcade fields in this feature
3102
3080
  const attributeValues = (_a = feature.attributes) !== null && _a !== void 0 ? _a : feature;
3103
3081
  attributeNames.forEach((attributeName, i) => {
@@ -7,7 +7,7 @@ import { r as registerInstance, h, H as Host, g as getElement, c as createEvent
7
7
  import { g as getLocaleComponentStrings } from './locale-5bdc0197.js';
8
8
  import { q as queryFeaturesByID, a as getLayerOrTable, g as goToSelection, b as queryAllIds } from './mapViewUtils-1e2befd7.js';
9
9
  import { l as loadModules } from './loadModules-0bf05e85.js';
10
- import { d as downloadCSV } from './downloadUtils-a3f28bae.js';
10
+ import { d as downloadCSV } from './downloadUtils-8fbd1347.js';
11
11
  import './_commonjsHelpers-d5f9d613.js';
12
12
  import './interfaces-7470d906.js';
13
13
  import './solution-resource-be35d35b.js';