@esri/solutions-components 0.6.45 → 0.7.0

Sign up to get free protection for your applications and to get access to all the features.
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';