@esri/solution-simple-types 1.1.3 → 1.3.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 (72) hide show
  1. package/dist/esm/dashboard.d.ts +0 -1
  2. package/dist/esm/dashboard.js +0 -1
  3. package/dist/esm/dashboard.js.map +1 -1
  4. package/dist/esm/helpers/convert-item-to-template.d.ts +3 -2
  5. package/dist/esm/helpers/convert-item-to-template.js +12 -11
  6. package/dist/esm/helpers/convert-item-to-template.js.map +1 -1
  7. package/dist/esm/notebook.d.ts +12 -2
  8. package/dist/esm/notebook.js +23 -3
  9. package/dist/esm/notebook.js.map +1 -1
  10. package/dist/esm/oic.d.ts +3 -2
  11. package/dist/esm/oic.js +6 -3
  12. package/dist/esm/oic.js.map +1 -1
  13. package/dist/esm/quickcapture.d.ts +3 -2
  14. package/dist/esm/quickcapture.js +4 -3
  15. package/dist/esm/quickcapture.js.map +1 -1
  16. package/dist/esm/simple-types.d.ts +3 -2
  17. package/dist/esm/simple-types.js +4 -3
  18. package/dist/esm/simple-types.js.map +1 -1
  19. package/dist/esm/webmap.d.ts +3 -2
  20. package/dist/esm/webmap.js +6 -5
  21. package/dist/esm/webmap.js.map +1 -1
  22. package/dist/esm/webmappingapplication.d.ts +3 -2
  23. package/dist/esm/webmappingapplication.js +7 -6
  24. package/dist/esm/webmappingapplication.js.map +1 -1
  25. package/dist/esm/workforce.d.ts +3 -2
  26. package/dist/esm/workforce.js +4 -3
  27. package/dist/esm/workforce.js.map +1 -1
  28. package/dist/node/dashboard.d.ts +0 -1
  29. package/dist/node/dashboard.js +2 -2
  30. package/dist/node/dashboard.js.map +1 -1
  31. package/dist/node/helpers/convert-item-to-template.d.ts +3 -2
  32. package/dist/node/helpers/convert-item-to-template.js +21 -19
  33. package/dist/node/helpers/convert-item-to-template.js.map +1 -1
  34. package/dist/node/helpers/create-item-from-template.js +5 -4
  35. package/dist/node/helpers/create-item-from-template.js.map +1 -1
  36. package/dist/node/index.js +7 -6
  37. package/dist/node/index.js.map +1 -1
  38. package/dist/node/notebook.d.ts +12 -2
  39. package/dist/node/notebook.js +28 -6
  40. package/dist/node/notebook.js.map +1 -1
  41. package/dist/node/oic.d.ts +3 -2
  42. package/dist/node/oic.js +8 -4
  43. package/dist/node/oic.js.map +1 -1
  44. package/dist/node/quickcapture.d.ts +3 -2
  45. package/dist/node/quickcapture.js +7 -5
  46. package/dist/node/quickcapture.js.map +1 -1
  47. package/dist/node/simple-types.d.ts +3 -2
  48. package/dist/node/simple-types.js +9 -7
  49. package/dist/node/simple-types.js.map +1 -1
  50. package/dist/node/webmap.d.ts +3 -2
  51. package/dist/node/webmap.js +8 -6
  52. package/dist/node/webmap.js.map +1 -1
  53. package/dist/node/webmappingapplication.d.ts +3 -2
  54. package/dist/node/webmappingapplication.js +9 -7
  55. package/dist/node/webmappingapplication.js.map +1 -1
  56. package/dist/node/workforce.d.ts +3 -2
  57. package/dist/node/workforce.js +6 -4
  58. package/dist/node/workforce.js.map +1 -1
  59. package/dist/umd/dashboard.d.ts +0 -1
  60. package/dist/umd/helpers/convert-item-to-template.d.ts +3 -2
  61. package/dist/umd/notebook.d.ts +12 -2
  62. package/dist/umd/oic.d.ts +3 -2
  63. package/dist/umd/quickcapture.d.ts +3 -2
  64. package/dist/umd/simple-types.d.ts +3 -2
  65. package/dist/umd/simple-types.umd.js +304 -246
  66. package/dist/umd/simple-types.umd.js.map +1 -1
  67. package/dist/umd/simple-types.umd.min.js +4 -4
  68. package/dist/umd/simple-types.umd.min.js.map +1 -1
  69. package/dist/umd/webmap.d.ts +3 -2
  70. package/dist/umd/webmappingapplication.d.ts +3 -2
  71. package/dist/umd/workforce.d.ts +3 -2
  72. package/package.json +22 -23
@@ -1,7 +1,7 @@
1
1
  /* @preserve
2
- * @esri/solution-simple-types - v1.1.3 - Apache-2.0
3
- * Copyright (c) 2018-2021 Esri, Inc.
4
- * Mon Oct 18 2021 09:03:28 GMT-0700 (Pacific Daylight Time)
2
+ * @esri/solution-simple-types - v1.3.0 - Apache-2.0
3
+ * Copyright (c) 2018-2022 Esri, Inc.
4
+ * Thu Feb 17 2022 09:44:41 GMT-0800 (Pacific Standard Time)
5
5
  *
6
6
  * Licensed under the Apache License, Version 2.0 (the "License");
7
7
  * you may not use this file except in compliance with the License.
@@ -15,5 +15,5 @@
15
15
  * See the License for the specific language governing permissions and
16
16
  * limitations under the License.
17
17
  */
18
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@esri/solution-common")):"function"==typeof define&&define.amd?define(["exports","@esri/solution-common"],t):t((e=e||self).arcgisSolution=e.arcgisSolution||{},e.arcgisSolution)}(this,(function(e,t){"use strict";function r(e){return function(e){return["data.widgets","data.headerPanel.selectors","data.leftPanel.selectors","data.urlParameters"].forEach((r=>{const a=t.getProp(e,r);Array.isArray(a)&&a.forEach((r=>{"mapWidget"===r.type&&(e.dependencies.indexOf(r.itemId)<0&&e.dependencies.push(r.itemId),r.itemId=t.templatizeTerm(r.itemId,r.itemId,".itemId")),Array.isArray(r.datasets)&&function(e,r){e.datasets.forEach((e=>{const a=t.getProp(e,"dataSource.itemId");if(a){r.dependencies.indexOf(a)<0&&r.dependencies.push(a);const n=t.getProp(e,"dataSource.layerId");e.dataSource.itemId=t.templatizeTerm(a,a,void 0!==n?".layer"+n+".itemId":".itemId"),void 0!==n&&(e.dataSource.layerId=t.templatizeTerm(a,a,".layer"+n+".layerId"))}}))}(r,e)}))})),e}(e)}function a(e,r){const a=["data.widgets","data.headerPanel.selectors","data.leftPanel.selectors","data.urlParameters"];return a.forEach((a=>{!function(e,r){e&&Array.isArray(e)&&e.forEach((e=>{Array.isArray(e.datasets)&&e.datasets.forEach((a=>{const n=t.cleanLayerBasedItemId(t.getProp(a,"dataSource.itemId"));if(n){const o=t.cleanLayerId(t.getProp(a,"dataSource.layerId"));r.some((t=>t.itemId===n&&t.layerId===o&&(i(t,e.id),!0)))}else{const n=t.getProp(a,"dataSource.id");if(n){const t=n.split("#")[1];r.some((r=>r.ids.indexOf(t)>-1&&(i(r,e.id),!0)))}}}))}))}(t.getProp(e,a),r)})),a.forEach((a=>{!function(e,r,a){const i=t.getProp(e,r);i&&t.setProp(e,r,function(e,r){return Array.isArray(e)?e.map((e=>{let a=e;return Array.isArray(a.events)&&(a.events=a.events.map((e=>{const a=e;return Array.isArray(a.actions)&&(a.actions=a.actions.map((e=>{const a=e;if(a.fieldMap&&a.targetId&&a.targetId.indexOf("#")>-1){const e=n(a,r);if(e){const r=t.getProp(e,"fields"),n=t.getProp(e,"basePath");Array.isArray(r)&&n&&(a.fieldMap=a.fieldMap.map((e=>{const a=e;return a.targetName=t.templatizeFieldReferences(a.targetName,r,n),a})))}}return a}))),a}))),Array.isArray(a.datasets)?(a.datasets=a.datasets.map((e=>{let i=e;if("serviceDataset"===i.type){const o=n(e,r);if(o){const e=t.getProp(o,"fields"),r=t.getProp(o,"basePath");Array.isArray(e)&&r&&(a=t.templatizeFieldReferences(a,e,r),i=t.templatizeFieldReferences(i,e,r))}}return i})),a):a})):e}(i,a))}(e,a,r)})),e}function n(e,r){let a;const n=t.getProp(e,"dataSource.id")||t.getProp(e,"targetId");if(n){const e=n.split("#")[1];if(!r.some((t=>(a=t.ids.indexOf(e)>-1?t:a,t.ids.indexOf(e)>-1)))){const e=n.split("#")[0];r.some((t=>{const r=(t.references||[]).indexOf(e)>-1;return a=r?t:a,r}))}}else{const n=t.cleanLayerBasedItemId(t.getProp(e,"dataSource.itemId")),i=t.cleanLayerId(t.getProp(e,"dataSource.layerId"));n&&r.some((e=>{const t=n===e.itemId&&i===e.layerId;return a=t?e:a,t}))}return a}function i(e,t){e.references=Array.isArray(e.references)?e.references:[],e.references.indexOf(t)<0&&e.references.push(t)}function o(e,r){return new Promise(((a,n)=>{let i="";if(e.item.url){const r=e.item.url,a=r.indexOf("//");e.item.url=t.placeholder(t.SERVER_NAME)+r.substring(r.indexOf("/",a+2),r.lastIndexOf("=")+1)+e.item.id,i=r.replace(r.substring(r.indexOf("/",a+2)),"")}e.dependencies=function(e){let r=m;t.hasAnyKeyword(e,["WAB2D","WAB3D","Web AppBuilder"])&&(r=u);return r(e)}(e),t.setProp(e,"data.folderId","{{folderId}}"),function(e,r){r.forEach((r=>{const a=t.getProp(e,r);f(e,r,a)}))}(e,["data.map.itemId","data.map.appProxy.mapItemId","data.values.webmap","data.values.group"]),f(e,"data.appItemId",e.itemId),p(e,["data.logo","data.map.portalUrl","data.portalUrl","data.httpProxy.url"],t.placeholder(t.SERVER_NAME)),t.setProp(e,"data.geometryService",t.placeholder(t.GEOMETRY_SERVER_NAME)),function(e,r,a){return new Promise(((n,i)=>{const o=t.getProp(e,"data.dataSource.dataSources");if(o&&Object.keys(o).length>0){const s=new Array;Object.keys(o).forEach((e=>{const n=o[e];t.setProp(n,"portalUrl",t.placeholder(t.SERVER_NAME));const i=t.getProp(n,"itemId");if(t.getProp(n,"url")){if(i){const e=n.url.substr(n.url.lastIndexOf("/")+1);n.itemId=t.templatizeTerm(i,i,".layer"+e+".itemId")}const e=l(n.url,a,[],[],r);s.push(new Promise(((r,a)=>{c(e.serviceRequests,e.requestUrls,e.testString).then((e=>{n.url=e,r()}),(e=>a(t.fail(e))))})))}else i&&(n.itemId=t.templatizeTerm(i,i,".itemId"))})),Promise.all(s).then((()=>n(e)),(e=>i(t.fail(e))))}else n(e)}))}(e,r,i).then((()=>{s(e,r,i,"data.widgetPool.widgets").then((e=>{s(e,r,i,"data.widgetOnScreen.widgets",!0).then((e=>{(function(e,r,a,n){return new Promise(((i,o)=>{let s=t.getProp(e,n),d=[],m=[];if(s){t.getProp(s,"icon")&&p(s,["icon"],t.placeholder(t.SERVER_NAME));const e=l(JSON.stringify(s),a,m,d,r);s=JSON.parse(e.testString),d=e.serviceRequests,m=e.requestUrls}if(d.length>0){c(d,m,JSON.stringify(s)).then((r=>{t.setProp(e,n,JSON.parse(r)),i(e)}),(e=>o(t.fail(e))))}else i(e)}))})(e,r,i,"data.values").then((e=>{a(e)}),(e=>n(t.fail(e))))}),(e=>n(t.fail(e))))}),(e=>n(t.fail(e))))}),(e=>n(t.fail(e))))}))}function s(e,r,a,n,i=!1){return new Promise(((o,s)=>{const d=t.getProp(e,n)||[];let m=[],u=[];if(d.forEach((e=>{!i&&t.getProp(e,"icon")&&p(e,["icon"],t.placeholder(t.SERVER_NAME));const n=e.config;if(n){const t=l(JSON.stringify(n),a,u,m,r);e.config=JSON.parse(t.testString),m=t.serviceRequests,u=t.requestUrls}})),m.length>0){const r=JSON.stringify(d);c(m,u,r).then((r=>{t.setProp(e,n,JSON.parse(r)),o(e)}),(e=>s(t.fail(e))))}else o(e)}))}function c(e,r,a){return new Promise(((n,i)=>{if(e&&e.length>0){let o=0;Promise.all(e).then((e=>{e.forEach((e=>{if(t.getProp(e,"serviceItemId")){const t="{{"+e.serviceItemId+(e.hasOwnProperty("id")?".layer"+e.id:"")+".url}}";a=d(a,r[o],t,!0)}o++})),n(a)}),(e=>i(t.fail(e))))}else n(a)}))}function l(e,r,a,n,i){const o={f:"json",authentication:i},s=e.match(/(\bhttps?:\/\/[-A-Z0-9/._]*)/gim);return s&&s.length&&s.forEach((i=>{i.indexOf("NAServer")>-1?e=d(e,i,t.placeholder(t.NA_SERVER_NAME)):i.indexOf("GeocodeServer")>-1?e=d(e,i,t.placeholder(t.GEOCODE_SERVER_NAME)):r&&i.indexOf(r)>-1?e=d(e,r,t.placeholder(t.SERVER_NAME)):i.indexOf("FeatureServer")>-1&&-1===a.indexOf(i)&&(a.push(i),n.push(t.rest_request(i,o)))})),{testString:e,requestUrls:a,serviceRequests:n}}function d(e,t,r,a=!1){const n=a&&e.indexOf('"')>-1,i=new RegExp(n?'"'+t+'"':t,"gmi");return e.replace(i,n?'"'+r+'"':r)}function p(e,r,a){r.forEach((r=>{const n=t.getProp(e,r);if(n){const i=n.substring(n.indexOf("/",n.indexOf("//")+2));t.setProp(e,r,i!==n?a+i:a)}}))}function m(e){return t.getProps(e,["data.values.webmap","data.values.group"])}function u(e){const r=[],a=t.getProp(e,"data.map.itemId");a&&r.push(a);const n=t.getProp(e,"data.dataSource.dataSources");return n&&Object.keys(n).forEach((e=>{const t=n[e];t.itemId&&r.push(t.itemId)})),r}function f(e,r,a){t.setProp(e,r,t.templatizeTerm(a,a,".itemId"))}function I(e,r){const a=t.getProp(e,"data.dataSource.dataSources");a&&Object.keys(a).length>0&&(Object.keys(a).forEach((e=>{const t=a[e];a[e]=g(t,r)})),t.setProp(e,"data.dataSource.dataSources",a));["data.widgetPool.widgets","data.widgetOnScreen.widgets"].forEach((a=>{const n=t.getProp(e,a);n&&t.setProp(e,a,function(e,t){const r=["SmartEditor","Screening"];return e.map((e=>{if(e.config){const a=r.indexOf(e.name)>-1;e.config=g(e.config,t,a)}return e}))}(n,r))}));const n=t.getProp(e,"data.values");return n&&t.setProp(e,"data.values",g(n,r)),e}function g(e,r,a=!1){e=function(e,t,r){const a=JSON.stringify(e),n=t.filter((e=>{let t;e.url&&!isNaN(e.layerId)&&(t=new RegExp(e.url.replace(/[.]/,".layer"+e.layerId+"."),"gm"));let r=!1;if(e.ids.length>0&&(r=e.ids.some((e=>new RegExp(e,"gm").test(a)))),r||t&&t.test(a))return e}));n.length>0&&n.forEach((t=>{e=y(e,t,r),t.ids.length>0&&t.ids.forEach((a=>{e=P(e,t,a,r)}))}));return e}(e,r,a);const n=function(e,t){const r=JSON.stringify(e);return t.filter((e=>h(e,r)<4)).sort(((e,t)=>h(e,r)-h(t,r)))}(e,r);return n.forEach((r=>{e=t.templatizeFieldReferences(e,r.fields,r.basePath,a)})),e}function h(e,t){const r=e.url,a=e.itemId,n=e.layerId;let i;if(r&&!isNaN(n)&&(i=new RegExp(r.replace(/[.]/,".layer"+n+"."),"gm")),i&&i.test(t))return 1;if(e.ids.length>0&&e.ids.some((e=>new RegExp(e,"gm").test(t))))return 1;if(r){if(new RegExp(r,"gm").test(t))return 2}if(a){if(new RegExp(a,"gm").test(t))return 3}return 4}function y(e,r,a){let n={};const i=r.url,o=r.layerId;let s;if(i&&!isNaN(o)&&(s=new RegExp(i.replace(/[.]/,".layer"+o+"."),"gm")),Array.isArray(e))n=e.map((e=>y(e,r,a)));else if("object"==typeof e)for(const i in e)null!=e[i]&&"object"==typeof e[i]?n[i]=y(e[i],r,a):(s&&s.test(e[i])&&(e=t.templatizeFieldReferences(e,r.fields,r.basePath,a)),n[i]=e[i]);else n=e;return n}function P(e,r,a,n){let i={};const o=new RegExp(a,"gm");if(Array.isArray(e))i=e.map((e=>P(e,r,a,n)));else if("object"==typeof e)for(const s in e)if(null!==e[s]){let c;try{c=JSON.parse(e[s])}catch(e){c=void 0}c&&"object"==typeof c?i[s]=JSON.stringify(P(c,r,a,n)):"object"==typeof e[s]?(o.test(s)&&n&&(e[s]=t.templatizeFieldReferences(e[s],r.fields,r.basePath,n)),i[s]=P(e[s],r,a,n)):(o.test(e[s])&&(e=t.templatizeFieldReferences(e,r.fields,r.basePath,n)),i[s]=e[s])}else i[s]=e[s];else i=e;return i}function E(e,r,a,n){return new Promise((i=>{if(n(e.itemId,t.EItemProgressStatus.Started,0)){let o=t.cloneObject(e);o=t.replaceInTemplate(o,r),"Web Mapping Application"===e.type&&e.data&&(o=JSON.parse(t.replaceInTemplate(JSON.stringify(o),r))),e.item.thumbnail&&(o.item.thumbnail=e.item.thumbnail),t.createItemWithData(o.item,o.data,a,r.folderId).then((s=>{if(n(e.itemId,t.EItemProgressStatus.Created,e.estimatedDeploymentCostFactor/2,s.id)){r[e.itemId]={itemId:s.id},o.itemId=s.id,"Web Mapping Application"===o.type&&e.data&&t.setProp(o,"data.appItemId",s.id);const c=t.hasUnresolvedVariables(o.data),l=o.item.url;o=t.replaceInTemplate(o,r);let d,p=Promise.resolve([]);if(o.relatedItems){const e=t.replaceInTemplate(t.templatizeIds(o.relatedItems),r);p=t.addForwardItemRelationships(o.itemId,e,a)}d="Web Mapping Application"===e.type&&e.data&&t.hasAnyKeyword(e,["WAB2D","WAB3D","Web AppBuilder"])?function(e,r,a,n){return new Promise((i=>{if(t.hasAnyKeyword(e,["WAB2D","WAB3D","Web AppBuilder"])){const o={id:r.itemId,url:r.item.url,data:r.data},s=t.updateItem(o,n),c={tags:e.item.tags,title:e.item.title,type:"Code Attachment",typeKeywords:["Code","Javascript","Web Mapping Application"],relationshipType:"WMA2Code",originItemId:r.itemId,url:t.checkUrlPathTermination(t.replaceInTemplate(t.placeholder(t.SERVER_NAME),a))+"sharing/rest/content/items/"+r.itemId+"/package"},l=t.createItemWithData(c,{},n,a.folderId);Promise.all([s,l]).then((()=>i(null)),(()=>i(null)))}else i(null)}))}(e,o,r,a):"Workforce Project"===e.type?function(e,r,a){return t.fineTuneCreatedWorkforceItem(e,r,"",a)}(o,a,r):"Notebook"===e.type?v(e,o,r,a):l!==o.item.url?new Promise(((e,r)=>{t.updateItemURL(s.id,o.item.url,a).then((()=>e()),r)})):Promise.resolve(null),Promise.all([p,d]).then((()=>{n(e.itemId,t.EItemProgressStatus.Finished,e.estimatedDeploymentCostFactor/2,s.id)?i({item:o,id:s.id,type:o.type,postProcess:c}):(n(e.itemId,t.EItemProgressStatus.Cancelled,0),t.removeItem(s.id,a).then((()=>i(t.generateEmptyCreationResponse(e.type))),(()=>i(t.generateEmptyCreationResponse(e.type)))))}),(()=>{n(e.itemId,t.EItemProgressStatus.Failed,0),i(t.generateEmptyCreationResponse(e.type))}))}else n(e.itemId,t.EItemProgressStatus.Cancelled,0),t.removeItem(s.id,a).then((()=>i(t.generateEmptyCreationResponse(e.type))),(()=>i(t.generateEmptyCreationResponse(e.type))))}),(()=>{n(e.itemId,t.EItemProgressStatus.Failed,0),i(t.generateEmptyCreationResponse(e.type))}))}else n(e.itemId,t.EItemProgressStatus.Ignored,0),i(t.generateEmptyCreationResponse(e.type))}))}var b=Object.freeze({__proto__:null,createItemFromTemplate:E,convertItemToTemplate:M,updateNotebookData:function(e,r,a){const n={id:e,data:t.jsonToBlob(r)};return t.updateItem(n,a)}});function S(e){const t=e.data;let r=JSON.stringify(t);const a=/[0-9A-F]{32}/gim;if(t&&a.test(r)){const t=r.match(a),n=[];t.forEach((t=>{if(-1===n.indexOf(t)){n.push(t);const a=new RegExp(t,"gm");r=r.replace(a,"{{"+t+".itemId}}"),-1===e.dependencies.indexOf(t)&&e.dependencies.push(t)}})),e.data=JSON.parse(r)}return e}function v(e,r,a,n){return new Promise(((e,a)=>{const i={id:r.itemId,url:r.item.url,data:t.jsonToFile(r.data,r.itemId+".ipynb")};t.updateItem(i,n).then((()=>e(null)),a)}))}var O=Object.freeze({__proto__:null,convertItemToTemplate:function(e,t,r,a){return M(e,t,r,a)},createItemFromTemplate:function(e,t,r,a){return E(e,t,r,a)},convertNotebookToTemplate:S,fineTuneCreatedItem:v,postProcess:function(e,r,a,n,i,o,s){return t.updateItemTemplateFromDictionary(e,o,s)}});function A(e,r){return new Promise(((a,n)=>{(function(e,r){return new Promise(((a,n)=>{const i=[];if(e.data?.properties){const o=[];e.data.properties.ServiceURL&&o.push(e.data.properties.ServiceURL),e.data.properties.OverviewURL&&e.data.properties.OverviewURL!==e.data.properties.ServiceURL&&o.push(e.data.properties.OverviewURL),function(e,r,a){return new Promise(((n,i)=>{const o={},s={f:"json",authentication:a},c=[],l={},d=e.filter((e=>{if(e){const r=/.+FeatureServer/g.exec(e),a=Array.isArray(r)&&r.length>0?r[0]:void 0;return!!a&&(Object.keys(l).indexOf(a)<0&&(l[a]=t.rest_request(e,s)),c.push(l[a]),!0)}return!1}));c.length>0?Promise.all(c).then((e=>{e.forEach(((e,a)=>{if(t.getProp(e,"serviceItemId")){const t=e.serviceItemId;r.indexOf(t)<0&&r.push(t),o[d[a]]=t}})),n({dependencies:r,urlHash:o})}),(e=>i(t.fail(e)))):n({dependencies:r,urlHash:o})}))}(o,i,r).then((e=>{a(e)}),(e=>n(t.fail(e))))}else a({dependencies:i,urlHash:{}})}))})(e,r).then((t=>{e.dependencies=t.dependencies,e.data?.properties&&(e.data.properties.ServiceURL=R(e.data.properties.ServiceURL,t.urlHash),e.data.properties.OverviewURL=R(e.data.properties.OverviewURL,t.urlHash)),a(e)}),(e=>n(t.fail(e))))}))}function R(e,r){let a=e;if(e){const n=r[e];if(n){const r=e.substr(e.lastIndexOf("/")+1);a=t.templatizeTerm(n,n,".layer"+r+".url")}}return a}var w=Object.freeze({__proto__:null,createItemFromTemplate:E,convertItemToTemplate:M});function T(e){return new Promise(((r,a)=>{const n=e.data;if(n&&Array.isArray(n)){let i=Promise.resolve(null),o="";n.some((e=>{if("application/json"===e.type)return o=e.name,i=t.getBlobText(e),!0})),i.then((t=>{e.data=t?{application:x(JSON.parse(t),e),name:o}:{},r(e)}),a)}else r(e)}))}function x(e,t){z(e,"itemId"),_(e);const r=e.dataSources;return r&&Array.isArray(r)&&r.forEach((e=>{const r=e.featureServiceItemId;r&&(N(r,t),k(e,"featureServiceItemId","url"),z(e,"featureServiceItemId"))})),e}function _(e){t.getProp(e,"preferences.adminEmail")&&t.setProp(e,"preferences.adminEmail","{{user.email}}")}function N(e,t){-1===t.dependencies.indexOf(e)&&t.dependencies.push(e)}function k(e,r,a){const n=t.getProp(e,r),i=t.getProp(e,a);if(i){const r=i.substr(i.lastIndexOf("/")+1);t.setProp(e,a,t.templatizeTerm(n,n,".layer"+r+".url"))}}function z(e,r){const a=t.getProp(e,r);a&&t.setProp(e,r,t.templatizeTerm(a,a,".itemId"))}var F=Object.freeze({__proto__:null,convertItemToTemplate:function(e,t,r,a){return M(e,t,r,a)},convertQuickCaptureToTemplate:T,_templatizeApplication:x,_templatizeAdminEmail:_,_updateDependencies:N,_templatizeUrl:k,_templatizeId:z,createItemFromTemplate:function(e,t,r,a){return E(e,t,r,a)},postProcess:function(e,r,a,n,i,o,s){return new Promise(((r,a)=>{n.data=t.replaceInTemplate(n.data,o),t.updateItemTemplateFromDictionary(e,o,s).then((()=>{t.updateItemResourceText(e,n.data.name,JSON.stringify(n.data.application),s).then(r,a)}),a)}))}});function j(e,r){return new Promise(((a,n)=>{e.item.url=t.checkUrlPathTermination(t.placeholder(t.SERVER_NAME))+"home/webmap/viewer.html?webmap="+e.item.id,function(e,r){return new Promise(((a,n)=>{const i=[];if(e.data){const o=e.data.operationalLayers||[],s=e.data.tables||[];(function(e,r,a){return new Promise(((n,i)=>{const o={},s={f:"json",authentication:a},c=[],l={},d=e.filter((e=>{if(e.url&&e.url.indexOf("{{velocityUrl}}")<0){const r=/.+FeatureServer/g.exec(e.url),a=Array.isArray(r)&&r.length>0?r[0]:void 0;return!!a&&(Object.keys(l).indexOf(a)<0&&(l[a]=t.rest_request(e.url,s)),c.push(l[a]),!0)}return!1}));c.length>0?Promise.all(c).then((e=>{e.forEach(((e,a)=>{if(t.getProp(e,"serviceItemId")){const t=e.serviceItemId;r.indexOf(t)<0&&r.push(t),o[d[a].url]=t}})),n({dependencies:r,urlHash:o})}),(e=>i(t.fail(e)))):n({dependencies:r,urlHash:o})}))})(o.concat(s),i,r).then((e=>{a(e)}),(e=>n(t.fail(e))))}else a({dependencies:i,urlHash:{}})}))}(e,r).then((r=>{var n;e.dependencies=r.dependencies,e.data&&(W(e.data.operationalLayers,r.urlHash),W(e.data.tables,r.urlHash),n=e.data,t.deleteProp(n,"initialState")),a(e)}),(e=>n(t.fail(e))))}))}function W(e=[],r){e.forEach((e=>{if(e.url){const a=e.url.substr(e.url.lastIndexOf("/")+1),n=Object.keys(r).indexOf(e.url)>-1?r[e.url]:void 0;n&&(e.url=t.templatizeTerm(n,n,".layer"+a+".url"),e.itemId=t.templatizeTerm(n,n,".layer"+a+".itemId"))}}))}function D(e,r){return["data.operationalLayers","data.tables","data.applicationProperties.viewing.search.layers"].forEach((a=>function(e,r,a){const n=t.getProp(e,a);n&&t.setProp(e,a,function(e,r){return e.forEach((e=>{const a=function(e,t){let r;return t.some((t=>t.ids.indexOf(e.id)>-1&&(r=t,!0))),r}(e,r);if(a){const r=a.fields.map((e=>e.name));t._templatizePopupInfo(e,a,a.basePath,a.itemId,r),t._templatizeDefinitionEditor(e,a.basePath,r),e.layerDefinition&&(t._templatizeDrawingInfo(e.layerDefinition,a.basePath,r),t._templatizeDefinitionExpression(e.layerDefinition,a.basePath,r));const n=t.getProp(e,"field.name");n&&t.setProp(e,"field.name",t._templatizeFieldName(n,e,a.itemId,a.basePath))}})),e}(n,r))}(e,r,a))),e}function M(e,a,n,i){return new Promise(((s,c)=>{const l=t.createInitializedItemTemplate(a);l.item.id=t.templatizeTerm(l.item.id,l.item.id,".itemId");const d=t.getItemRelatedItemsInSameDirection(l.itemId,"forward",n);let p=Promise.resolve({});switch(a.type){case"Dashboard":case"Feature Collection":case"Feature Service":case"Hub Initiative":case"Hub Page":case"Hub Site Application":case"Insights Model":case"Oriented Imagery Catalog":case"Project Package":case"Workforce Project":case"Web Map":case"Web Mapping Application":case"Web Scene":case"Notebook":p=new Promise((e=>{t.getItemDataAsJson(l.itemId,n).then((t=>e(t)))}));break;case"Form":p=t.getItemDataAsFile(l.itemId,l.item.name,n);break;case"QuickCapture Project":p=t.getItemResourcesFiles(l.itemId,n)}Promise.all([p,d]).then((d=>{const[p,m]=d;l.data=t.updateVelocityReferences(p,a.type,i);const u=m;l.dependencies=[],l.relatedItems=[],u.forEach((e=>{"WMA2Code"!==e.relationshipType&&(l.relatedItems.push(e),e.relatedItemIds.forEach((e=>{l.dependencies.indexOf(e)<0&&l.dependencies.push(e)})))}));let f=Promise.resolve(null),I=Promise.resolve(l);switch(a.type){case"Dashboard":r(l);break;case"Form":if(l.data=null,p){const r=l.item.name||p.name,a=r&&"undefined"!==r?r:`${l.itemId}.zip`;l.item.name=a;const i=t.convertItemResourceToStorageResource(l.itemId+"_info_data",a,t.SolutionTemplateFormatVersion);f=new Promise(((r,o)=>{t.addResourceFromBlob(p,e,i.folder,a,n).then((()=>{l.resources.push(i.folder+"/"+i.filename),r()}),o)}))}break;case"Notebook":S(l);break;case"Oriented Imagery Catalog":I=A(l,n);break;case"Web Map":case"Web Scene":I=j(l,n);break;case"Web Mapping Application":p&&(I=o(l,n));break;case"Workforce Project":I=function(e,r){return t.convertWorkforceItemToTemplate(e,r)}(l,n);break;case"QuickCapture Project":I=T(l)}f.then((()=>{I.then(s,(e=>c(t.fail(e))))}),(e=>c(t.fail(e))))}))}))}var C=Object.freeze({__proto__:null,createItemFromTemplate:E,convertItemToTemplate:M});var U=Object.freeze({__proto__:null,convertItemToTemplate:function(e,t,r,a){return M(e,t,r,a)},createItemFromTemplate:function(e,t,r,a){return E(e,t,r,a)},postProcessFieldReferences:function(e,t,r){switch(r){case"Web Mapping Application":I(e,t);break;case"Dashboard":a(e,t);break;case"Web Map":D(e,t)}return e},postProcess:function(e,r,a,n,i,o,s){return t.updateItemTemplateFromDictionary(e,o,s)}});e.notebookHelpers=b,e.notebookProcessor=O,e.quickcaptureHelpers=w,e.quickcaptureProcessor=F,e.simpleTypeHelpers=C,e.simpleTypes=U,Object.defineProperty(e,"__esModule",{value:!0})}));
18
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@esri/solution-common")):"function"==typeof define&&define.amd?define(["exports","@esri/solution-common"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).arcgisSolution=e.arcgisSolution||{},e.arcgisSolution)}(this,(function(e,t){"use strict";function r(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var a=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,a.get?a:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var a=r(t);function n(e){return function(e){return["data.widgets","data.headerPanel.selectors","data.leftPanel.selectors","data.urlParameters"].forEach((t=>{const r=a.getProp(e,t);Array.isArray(r)&&r.forEach((t=>{"mapWidget"===t.type&&(e.dependencies.indexOf(t.itemId)<0&&e.dependencies.push(t.itemId),t.itemId=a.templatizeTerm(t.itemId,t.itemId,".itemId")),Array.isArray(t.datasets)&&function(e,t){e.datasets.forEach((e=>{const r=a.getProp(e,"dataSource.itemId");if(r){t.dependencies.indexOf(r)<0&&t.dependencies.push(r);const n=a.getProp(e,"dataSource.layerId");e.dataSource.itemId=a.templatizeTerm(r,r,void 0!==n?".layer"+n+".itemId":".itemId"),void 0!==n&&(e.dataSource.layerId=a.templatizeTerm(r,r,".layer"+n+".layerId"))}}))}(t,e)}))})),e}(e)}function i(e,t){const r=["data.widgets","data.headerPanel.selectors","data.leftPanel.selectors","data.urlParameters"];return r.forEach((r=>{!function(e,t){e&&Array.isArray(e)&&e.forEach((e=>{Array.isArray(e.datasets)&&e.datasets.forEach((r=>{const n=a.cleanLayerBasedItemId(a.getProp(r,"dataSource.itemId"));if(n){const i=a.cleanLayerId(a.getProp(r,"dataSource.layerId"));t.some((t=>t.itemId===n&&t.layerId===i&&(s(t,e.id),!0)))}else{const n=a.getProp(r,"dataSource.id");if(n){const r=n.split("#")[1];t.some((t=>t.ids.indexOf(r)>-1&&(s(t,e.id),!0)))}}}))}))}(a.getProp(e,r),t)})),r.forEach((r=>{!function(e,t,r){const n=a.getProp(e,t);n&&a.setProp(e,t,function(e,t){return Array.isArray(e)?e.map((e=>{let r=e;return Array.isArray(r.events)&&(r.events=r.events.map((e=>{const r=e;return Array.isArray(r.actions)&&(r.actions=r.actions.map((e=>{const r=e;if(r.fieldMap&&r.targetId&&r.targetId.indexOf("#")>-1){const e=o(r,t);if(e){const t=a.getProp(e,"fields"),n=a.getProp(e,"basePath");Array.isArray(t)&&n&&(r.fieldMap=r.fieldMap.map((e=>{const r=e;return r.targetName=a.templatizeFieldReferences(r.targetName,t,n),r})))}}return r}))),r}))),Array.isArray(r.datasets)?(r.datasets=r.datasets.map((e=>{let n=e;if("serviceDataset"===n.type){const i=o(e,t);if(i){const e=a.getProp(i,"fields"),t=a.getProp(i,"basePath");Array.isArray(e)&&t&&(r=a.templatizeFieldReferences(r,e,t),n=a.templatizeFieldReferences(n,e,t))}}return n})),r):r})):e}(n,r))}(e,r,t)})),e}function o(e,t){let r;const n=a.getProp(e,"dataSource.id")||a.getProp(e,"targetId");if(n){const e=n.split("#")[1];if(!t.some((t=>(r=t.ids.indexOf(e)>-1?t:r,t.ids.indexOf(e)>-1)))){const e=n.split("#")[0];t.some((t=>{const a=(t.references||[]).indexOf(e)>-1;return r=a?t:r,a}))}}else{const n=a.cleanLayerBasedItemId(a.getProp(e,"dataSource.itemId")),i=a.cleanLayerId(a.getProp(e,"dataSource.layerId"));n&&t.some((e=>{const t=n===e.itemId&&i===e.layerId;return r=t?e:r,t}))}return r}function s(e,t){e.references=Array.isArray(e.references)?e.references:[],e.references.indexOf(t)<0&&e.references.push(t)}function c(e,t,r){return new Promise(((t,n)=>{let i="";if(e.item.url){const t=e.item.url,r=t.indexOf("//");e.item.url=a.placeholder(a.SERVER_NAME)+t.substring(t.indexOf("/",r+2),t.lastIndexOf("=")+1)+e.item.id,i=t.replace(t.substring(t.indexOf("/",r+2)),"")}e.dependencies=function(e){let t=f;a.hasAnyKeyword(e,["WAB2D","WAB3D","Web AppBuilder"])&&(t=I);return t(e)}(e),a.setProp(e,"data.folderId","{{folderId}}"),function(e,t){t.forEach((t=>{const r=a.getProp(e,t);g(e,t,r)}))}(e,["data.map.itemId","data.map.appProxy.mapItemId","data.values.webmap","data.values.group"]),g(e,"data.appItemId",e.itemId),u(e,["data.logo","data.map.portalUrl","data.portalUrl","data.httpProxy.url"],a.placeholder(a.SERVER_NAME)),a.setProp(e,"data.geometryService",a.placeholder(a.GEOMETRY_SERVER_NAME)),function(e,t,r){return new Promise(((n,i)=>{const o=a.getProp(e,"data.dataSource.dataSources");if(o&&Object.keys(o).length>0){const s=new Array;Object.keys(o).forEach((e=>{const n=o[e];a.setProp(n,"portalUrl",a.placeholder(a.SERVER_NAME));const i=a.getProp(n,"itemId");if(a.getProp(n,"url")){if(i){const e=n.url.substr(n.url.lastIndexOf("/")+1);n.itemId=a.templatizeTerm(i,i,".layer"+e+".itemId")}const e=p(n.url,r,[],[],t);s.push(new Promise(((t,r)=>{d(e.serviceRequests,e.requestUrls,e.testString).then((e=>{n.url=e,t()}),(e=>r(a.fail(e))))})))}else i&&(n.itemId=a.templatizeTerm(i,i,".itemId"))})),Promise.all(s).then((()=>n(e)),(e=>i(a.fail(e))))}else n(e)}))}(e,r,i).then((()=>{l(e,r,i,"data.widgetPool.widgets").then((e=>{l(e,r,i,"data.widgetOnScreen.widgets",!0).then((e=>{(function(e,t,r,n){return new Promise(((i,o)=>{let s=a.getProp(e,n),c=[],l=[];if(s){a.getProp(s,"icon")&&u(s,["icon"],a.placeholder(a.SERVER_NAME));const e=p(JSON.stringify(s),r,l,c,t);s=JSON.parse(e.testString),c=e.serviceRequests,l=e.requestUrls}if(c.length>0){d(c,l,JSON.stringify(s)).then((t=>{a.setProp(e,n,JSON.parse(t)),i(e)}),(e=>o(a.fail(e))))}else i(e)}))})(e,r,i,"data.values").then((e=>{t(e)}),(e=>n(a.fail(e))))}),(e=>n(a.fail(e))))}),(e=>n(a.fail(e))))}),(e=>n(a.fail(e))))}))}function l(e,t,r,n,i=!1){return new Promise(((o,s)=>{const c=a.getProp(e,n)||[];let l=[],m=[];if(c.forEach((e=>{!i&&a.getProp(e,"icon")&&u(e,["icon"],a.placeholder(a.SERVER_NAME));const n=e.config;if(n){const a=p(JSON.stringify(n),r,m,l,t);e.config=JSON.parse(a.testString),l=a.serviceRequests,m=a.requestUrls}})),l.length>0){const t=JSON.stringify(c);d(l,m,t).then((t=>{a.setProp(e,n,JSON.parse(t)),o(e)}),(e=>s(a.fail(e))))}else o(e)}))}function d(e,t,r){return new Promise(((n,i)=>{if(e&&e.length>0){let o=0;Promise.all(e).then((e=>{e.forEach((e=>{if(a.getProp(e,"serviceItemId")){const a="{{"+e.serviceItemId+(e.hasOwnProperty("id")?".layer"+e.id:"")+".url}}";r=m(r,t[o],a,!0)}o++})),n(r)}),(e=>i(a.fail(e))))}else n(r)}))}function p(e,t,r,n,i){const o={f:"json",authentication:i},s=e.match(/(\bhttps?:\/\/[-A-Z0-9/._]*)/gim);return s&&s.length&&s.forEach((i=>{i.indexOf("NAServer")>-1?e=m(e,i,a.placeholder(a.NA_SERVER_NAME)):i.indexOf("GeocodeServer")>-1?e=m(e,i,a.placeholder(a.GEOCODE_SERVER_NAME)):t&&i.indexOf(t)>-1?e=m(e,t,a.placeholder(a.SERVER_NAME)):i.indexOf("FeatureServer")>-1&&-1===r.indexOf(i)&&(r.push(i),n.push(a.rest_request(i,o)))})),{testString:e,requestUrls:r,serviceRequests:n}}function m(e,t,r,a=!1){const n=a&&e.indexOf('"')>-1,i=new RegExp(n?'"'+t+'"':t,"gmi");return e.replace(i,n?'"'+r+'"':r)}function u(e,t,r){t.forEach((t=>{const n=a.getProp(e,t);if(n){const i=n.substring(n.indexOf("/",n.indexOf("//")+2));a.setProp(e,t,i!==n?r+i:r)}}))}function f(e){return a.getProps(e,["data.values.webmap","data.values.group"])}function I(e){const t=[],r=a.getProp(e,"data.map.itemId");r&&t.push(r);const n=a.getProp(e,"data.dataSource.dataSources");return n&&Object.keys(n).forEach((e=>{const r=n[e];r.itemId&&t.push(r.itemId)})),t}function g(e,t,r){a.setProp(e,t,a.templatizeTerm(r,r,".itemId"))}function h(e,t){const r=a.getProp(e,"data.dataSource.dataSources");r&&Object.keys(r).length>0&&(Object.keys(r).forEach((e=>{const a=r[e];r[e]=y(a,t)})),a.setProp(e,"data.dataSource.dataSources",r));["data.widgetPool.widgets","data.widgetOnScreen.widgets"].forEach((r=>{const n=a.getProp(e,r);n&&a.setProp(e,r,function(e,t){const r=["SmartEditor","Screening"];return e.map((e=>{if(e.config){const a=r.indexOf(e.name)>-1;e.config=y(e.config,t,a)}return e}))}(n,t))}));const n=a.getProp(e,"data.values");return n&&a.setProp(e,"data.values",y(n,t)),e}function y(e,t,r=!1){e=function(e,t,r){const a=JSON.stringify(e),n=t.filter((e=>{let t;e.url&&!isNaN(e.layerId)&&(t=new RegExp(e.url.replace(/[.]/,".layer"+e.layerId+"."),"gm"));let r=!1;if(e.ids.length>0&&(r=e.ids.some((e=>new RegExp(e,"gm").test(a)))),r||t&&t.test(a))return e}));n.length>0&&n.forEach((t=>{e=b(e,t,r),t.ids.length>0&&t.ids.forEach((a=>{e=E(e,t,a,r)}))}));return e}(e,t,r);const n=function(e,t){const r=JSON.stringify(e);return t.filter((e=>P(e,r)<4)).sort(((e,t)=>P(e,r)-P(t,r)))}(e,t);return n.forEach((t=>{e=a.templatizeFieldReferences(e,t.fields,t.basePath,r)})),e}function P(e,t){const r=e.url,a=e.itemId,n=e.layerId;let i;if(r&&!isNaN(n)&&(i=new RegExp(r.replace(/[.]/,".layer"+n+"."),"gm")),i&&i.test(t))return 1;if(e.ids.length>0&&e.ids.some((e=>new RegExp(e,"gm").test(t))))return 1;if(r){if(new RegExp(r,"gm").test(t))return 2}if(a){if(new RegExp(a,"gm").test(t))return 3}return 4}function b(e,t,r){let n={};const i=t.url,o=t.layerId;let s;if(i&&!isNaN(o)&&(s=new RegExp(i.replace(/[.]/,".layer"+o+"."),"gm")),Array.isArray(e))n=e.map((e=>b(e,t,r)));else if("object"==typeof e)for(const i in e)null!=e[i]&&"object"==typeof e[i]?n[i]=b(e[i],t,r):(s&&s.test(e[i])&&(e=a.templatizeFieldReferences(e,t.fields,t.basePath,r)),n[i]=e[i]);else n=e;return n}function E(e,t,r,n){let i={};const o=new RegExp(r,"gm");if(Array.isArray(e))i=e.map((e=>E(e,t,r,n)));else if("object"==typeof e)for(const s in e)if(null!==e[s]){let c;try{c=JSON.parse(e[s])}catch(e){c=void 0}c&&"object"==typeof c?i[s]=JSON.stringify(E(c,t,r,n)):"object"==typeof e[s]?(o.test(s)&&n&&(e[s]=a.templatizeFieldReferences(e[s],t.fields,t.basePath,n)),i[s]=E(e[s],t,r,n)):(o.test(e[s])&&(e=a.templatizeFieldReferences(e,t.fields,t.basePath,n)),i[s]=e[s])}else i[s]=e[s];else i=e;return i}function S(e,t,r,n){return new Promise((i=>{if(n(e.itemId,a.EItemProgressStatus.Started,0)){let o=a.cloneObject(e);o=a.replaceInTemplate(o,t),"Web Mapping Application"===e.type&&e.data&&(o=JSON.parse(a.replaceInTemplate(JSON.stringify(o),t))),e.item.thumbnail&&(o.item.thumbnail=e.item.thumbnail),a.createItemWithData(o.item,o.data,r,t.folderId).then((s=>{if(n(e.itemId,a.EItemProgressStatus.Created,e.estimatedDeploymentCostFactor/2,s.id)){t[e.itemId]={itemId:s.id},o.itemId=s.id,"Web Mapping Application"===o.type&&e.data&&a.setProp(o,"data.appItemId",s.id);const c=a.hasUnresolvedVariables(o.data),l=o.item.url;o=a.replaceInTemplate(o,t);let d,p=Promise.resolve([]);if(o.relatedItems){const e=a.replaceInTemplate(a.templatizeIds(o.relatedItems),t);p=a.addForwardItemRelationships(o.itemId,e,r)}d="Web Mapping Application"===e.type&&e.data&&a.hasAnyKeyword(e,["WAB2D","WAB3D","Web AppBuilder"])?function(e,t,r,n){return new Promise((i=>{if(a.hasAnyKeyword(e,["WAB2D","WAB3D","Web AppBuilder"])){const o={id:t.itemId,url:t.item.url,data:t.data},s=a.updateItem(o,n),c={tags:e.item.tags,title:e.item.title,type:"Code Attachment",typeKeywords:["Code","Javascript","Web Mapping Application"],relationshipType:"WMA2Code",originItemId:t.itemId,url:a.checkUrlPathTermination(a.replaceInTemplate(a.placeholder(a.SERVER_NAME),r))+"sharing/rest/content/items/"+t.itemId+"/package"},l=a.createItemWithData(c,{},n,r.folderId);Promise.all([s,l]).then((()=>i(null)),(()=>i(null)))}else i(null)}))}(e,o,t,r):"Workforce Project"===e.type?function(e,t,r){return a.fineTuneCreatedWorkforceItem(e,t,"",r)}(o,r,t):"Notebook"===e.type?R(e,o,t,r):l!==o.item.url?new Promise(((e,t)=>{a.updateItemURL(s.id,o.item.url,r).then((()=>e()),t)})):Promise.resolve(null),Promise.all([p,d]).then((()=>{n(e.itemId,a.EItemProgressStatus.Finished,e.estimatedDeploymentCostFactor/2,s.id)?i({item:o,id:s.id,type:o.type,postProcess:c}):(n(e.itemId,a.EItemProgressStatus.Cancelled,0),a.removeItem(s.id,r).then((()=>i(a.generateEmptyCreationResponse(e.type))),(()=>i(a.generateEmptyCreationResponse(e.type)))))}),(()=>{n(e.itemId,a.EItemProgressStatus.Failed,0),i(a.generateEmptyCreationResponse(e.type))}))}else n(e.itemId,a.EItemProgressStatus.Cancelled,0),a.removeItem(s.id,r).then((()=>i(a.generateEmptyCreationResponse(e.type))),(()=>i(a.generateEmptyCreationResponse(e.type))))}),(()=>{n(e.itemId,a.EItemProgressStatus.Failed,0),i(a.generateEmptyCreationResponse(e.type))}))}else n(e.itemId,a.EItemProgressStatus.Ignored,0),i(a.generateEmptyCreationResponse(e.type))}))}var O=Object.freeze({__proto__:null,createItemFromTemplate:S,convertItemToTemplate:J,updateNotebookData:function(e,r,a){const n={id:e,data:t.jsonToBlob(r)};return t.updateItem(n,a)}});function v(e){const t=e.data;A(t);let r=JSON.stringify(t);const a=/[0-9A-F]{32}/gim;if(t&&a.test(r)){const t=r.match(a),n=[];t.forEach((t=>{if(-1===n.indexOf(t)){n.push(t);const a=new RegExp(t,"gm");r=r.replace(a,"{{"+t+".itemId}}"),-1===e.dependencies.indexOf(t)&&e.dependencies.push(t)}})),e.data=JSON.parse(r)}return e}function A(e){if(e){const t=["metadata.interpreter","metadata.papermill"];a.deleteProps(e,t),(e.cells||[]).forEach((e=>{a.deleteProps(e,t)}))}}function R(e,t,r,n){return new Promise(((e,r)=>{const i={id:t.itemId,url:t.item.url,data:a.jsonToFile(t.data,t.itemId+".ipynb")};a.updateItem(i,n).then((()=>e(null)),r)}))}var w=Object.freeze({__proto__:null,convertItemToTemplate:function(e,t,r,a,n){return J(e,t,r,a,n)},createItemFromTemplate:function(e,t,r,a){return S(e,t,r,a)},convertNotebookToTemplate:v,deleteProps:A,fineTuneCreatedItem:R,postProcess:function(e,t,r,n,i,o,s){return a.updateItemTemplateFromDictionary(e,o,s)}});function T(e,t,r){return new Promise(((t,n)=>{(function(e,t){return new Promise(((r,n)=>{const i=[];if(e.data?.properties){const o=[];e.data.properties.ServiceURL&&o.push(e.data.properties.ServiceURL),e.data.properties.OverviewURL&&e.data.properties.OverviewURL!==e.data.properties.ServiceURL&&o.push(e.data.properties.OverviewURL),function(e,t,r){return new Promise(((n,i)=>{const o={},s={f:"json",authentication:r},c=[],l={},d=e.filter((e=>{if(e){const t=/.+FeatureServer/g.exec(e),r=Array.isArray(t)&&t.length>0?t[0]:void 0;return!!r&&(Object.keys(l).indexOf(r)<0&&(l[r]=a.rest_request(e,s)),c.push(l[r]),!0)}return!1}));c.length>0?Promise.all(c).then((e=>{e.forEach(((e,r)=>{if(a.getProp(e,"serviceItemId")){const a=e.serviceItemId;t.indexOf(a)<0&&t.push(a),o[d[r]]=a}})),n({dependencies:t,urlHash:o})}),(e=>i(a.fail(e)))):n({dependencies:t,urlHash:o})}))}(o,i,t).then((e=>{r(e)}),(e=>n(a.fail(e))))}else r({dependencies:i,urlHash:{}})}))})(e,r).then((r=>{e.dependencies=r.dependencies,e.data?.properties&&(e.data.properties.ServiceURL=_(e.data.properties.ServiceURL,r.urlHash),e.data.properties.OverviewURL=_(e.data.properties.OverviewURL,r.urlHash)),t(e)}),(e=>n(a.fail(e))))}))}function _(e,t){let r=e;if(e){const n=t[e];if(n){const t=e.substr(e.lastIndexOf("/")+1);r=a.templatizeTerm(n,n,".layer"+t+".url")}r=a.templatizeIds(r.replace(/.+?(?=\/home)/,"{{portalBaseUrl}}"))}return r}var x=Object.freeze({__proto__:null,createItemFromTemplate:S,convertItemToTemplate:J});function N(e){return new Promise(((t,r)=>{const n=e.data;if(n&&Array.isArray(n)){let i=Promise.resolve(null),o="";n.some((e=>{if("application/json"===e.type)return o=e.name,i=a.getBlobText(e),!0})),i.then((r=>{e.data=r?{application:k(JSON.parse(r),e),name:o}:{},t(e)}),r)}else t(e)}))}function k(e,t){W(e,"itemId"),j(e);const r=e.dataSources;return r&&Array.isArray(r)&&r.forEach((e=>{const r=e.featureServiceItemId;r&&(z(r,t),F(e,"featureServiceItemId","url"),W(e,"featureServiceItemId"))})),e}function j(e){a.getProp(e,"preferences.adminEmail")&&a.setProp(e,"preferences.adminEmail","{{user.email}}")}function z(e,t){-1===t.dependencies.indexOf(e)&&t.dependencies.push(e)}function F(e,t,r){const n=a.getProp(e,t),i=a.getProp(e,r);if(i){const t=i.substr(i.lastIndexOf("/")+1);a.setProp(e,r,a.templatizeTerm(n,n,".layer"+t+".url"))}}function W(e,t){const r=a.getProp(e,t);r&&a.setProp(e,t,a.templatizeTerm(r,r,".itemId"))}var D=Object.freeze({__proto__:null,convertItemToTemplate:function(e,t,r,a,n){return J(e,t,r,a,n)},convertQuickCaptureToTemplate:N,_templatizeApplication:k,_templatizeAdminEmail:j,_updateDependencies:z,_templatizeUrl:F,_templatizeId:W,createItemFromTemplate:function(e,t,r,a){return S(e,t,r,a)},postProcess:function(e,t,r,n,i,o,s){return new Promise(((t,r)=>{n.data=a.replaceInTemplate(n.data,o),a.updateItemTemplateFromDictionary(e,o,s).then((()=>{a.updateItemResourceText(e,n.data.name,JSON.stringify(n.data.application),s).then(t,r)}),r)}))}});function M(e,t,r){return new Promise(((t,n)=>{e.item.url=e.item.url?a.checkUrlPathTermination(a.placeholder(a.SERVER_NAME))+"home/webmap/viewer.html?webmap="+e.item.id:e.item.url,function(e,t){return new Promise(((r,n)=>{const i=[];if(e.data){const o=e.data.operationalLayers||[],s=e.data.tables||[];(function(e,t,r){return new Promise(((n,i)=>{const o={},s={f:"json",authentication:r},c=[],l={},d=e.filter((e=>{if(e.url&&e.url.indexOf("{{velocityUrl}}")<0){const t=/.+FeatureServer/g.exec(e.url),r=Array.isArray(t)&&t.length>0?t[0]:void 0;return!!r&&(Object.keys(l).indexOf(r)<0&&(l[r]=a.rest_request(e.url,s)),c.push(l[r]),!0)}return!1}));c.length>0?Promise.all(c).then((e=>{e.forEach(((e,r)=>{if(a.getProp(e,"serviceItemId")){const a=e.serviceItemId;t.indexOf(a)<0&&t.push(a),o[d[r].url]=a}})),n({dependencies:t,urlHash:o})}),(e=>i(a.fail(e)))):n({dependencies:t,urlHash:o})}))})(o.concat(s),i,t).then((e=>{r(e)}),(e=>n(a.fail(e))))}else r({dependencies:i,urlHash:{}})}))}(e,r).then((r=>{var n;e.dependencies=r.dependencies,e.data&&(C(e.data.operationalLayers,r.urlHash),C(e.data.tables,r.urlHash),n=e.data,a.deleteProp(n,"initialState")),t(e)}),(e=>n(a.fail(e))))}))}function C(e=[],t){e.forEach((e=>{if(e.url){const r=e.url.substr(e.url.lastIndexOf("/")+1),n=Object.keys(t).indexOf(e.url)>-1?t[e.url]:void 0;n&&(e.url=a.templatizeTerm(n,n,".layer"+r+".url"),e.itemId=a.templatizeTerm(n,n,".layer"+r+".itemId"))}}))}function U(e,t){return["data.operationalLayers","data.tables","data.applicationProperties.viewing.search.layers"].forEach((r=>function(e,t,r){const n=a.getProp(e,r);n&&a.setProp(e,r,function(e,t){return e.forEach((e=>{const r=function(e,t){let r;return t.some((t=>t.ids.indexOf(e.id)>-1&&(r=t,!0))),r}(e,t);if(r){const t=r.fields.map((e=>e.name));a._templatizePopupInfo(e,r,r.basePath,r.itemId,t),a._templatizeDefinitionEditor(e,r.basePath,t),e.layerDefinition&&(a._templatizeDrawingInfo(e.layerDefinition,r.basePath,t),a._templatizeDefinitionExpression(e.layerDefinition,r.basePath,t));const n=a.getProp(e,"field.name");n&&a.setProp(e,"field.name",a._templatizeFieldName(n,e,r.itemId,r.basePath))}})),e}(n,t))}(e,t,r))),e}function J(e,t,r,i,o){return new Promise(((s,l)=>{const d=a.createInitializedItemTemplate(t);d.item.id=a.templatizeTerm(d.item.id,d.item.id,".itemId");const p=a.getItemRelatedItemsInSameDirection(d.itemId,"forward",i);let m=Promise.resolve({});switch(t.type){case"Dashboard":case"Feature Collection":case"Feature Service":case"Hub Initiative":case"Hub Page":case"Hub Site Application":case"Insights Model":case"Oriented Imagery Catalog":case"Project Package":case"Workforce Project":case"Web Map":case"Web Mapping Application":case"Web Scene":case"Notebook":m=new Promise((e=>{a.getItemDataAsJson(d.itemId,i).then((t=>e(t)))}));break;case"Form":m=a.getItemDataAsFile(d.itemId,d.item.name,i);break;case"QuickCapture Project":m=a.getItemResourcesFiles(d.itemId,i)}Promise.all([m,p]).then((p=>{const[m,u]=p;d.data=a.updateVelocityReferences(m,t.type,o);const f=u;d.dependencies=[],d.relatedItems=[],f.forEach((e=>{"WMA2Code"!==e.relationshipType&&(d.relatedItems.push(e),e.relatedItemIds.forEach((e=>{d.dependencies.indexOf(e)<0&&d.dependencies.push(e)})))}));let I=Promise.resolve(null),g=Promise.resolve(d);switch(t.type){case"Dashboard":n(d);break;case"Form":if(d.data=null,m){const t=d.item.name||m.name,n=t&&"undefined"!==t?t:`${d.itemId}.zip`;d.item.name=n;const i=a.convertItemResourceToStorageResource(d.itemId+"_info_data",n,a.SolutionTemplateFormatVersion);I=new Promise(((t,o)=>{a.addResourceFromBlob(m,e,i.folder,n,r).then((()=>{d.resources.push(i.folder+"/"+i.filename),t()}),o)}))}break;case"Notebook":v(d);break;case"Oriented Imagery Catalog":g=T(d,0,i);break;case"Web Map":case"Web Scene":g=M(d,0,i);break;case"Web Mapping Application":m&&(g=c(d,0,i));break;case"Workforce Project":g=function(e,t,r){return a.convertWorkforceItemToTemplate(e,r)}(d,0,i);break;case"QuickCapture Project":g=N(d)}I.then((()=>{g.then(s,(e=>l(a.fail(e))))}),(e=>l(a.fail(e))))}))}))}var L=Object.freeze({__proto__:null,createItemFromTemplate:S,convertItemToTemplate:J});var H=Object.freeze({__proto__:null,convertItemToTemplate:function(e,t,r,a,n){return J(e,t,r,a,n)},createItemFromTemplate:function(e,t,r,a){return S(e,t,r,a)},postProcessFieldReferences:function(e,t,r){switch(r){case"Web Mapping Application":h(e,t);break;case"Dashboard":i(e,t);break;case"Web Map":U(e,t)}return e},postProcess:function(e,r,a,n,i,o,s){return t.updateItemTemplateFromDictionary(e,o,s)}});e.notebookHelpers=O,e.notebookProcessor=w,e.quickcaptureHelpers=x,e.quickcaptureProcessor=D,e.simpleTypeHelpers=L,e.simpleTypes=H,Object.defineProperty(e,"__esModule",{value:!0})}));
19
19
  //# sourceMappingURL=simple-types.umd.min.js.map