@esri/solution-simple-types 1.2.0 → 1.3.2

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 (36) hide show
  1. package/dist/esm/helpers/convert-item-to-template.js +1 -1
  2. package/dist/esm/helpers/convert-item-to-template.js.map +1 -1
  3. package/dist/esm/notebook.d.ts +9 -0
  4. package/dist/esm/notebook.js +19 -0
  5. package/dist/esm/notebook.js.map +1 -1
  6. package/dist/esm/webmap.js +2 -2
  7. package/dist/esm/webmap.js.map +1 -1
  8. package/dist/node/dashboard.js +2 -1
  9. package/dist/node/dashboard.js.map +1 -1
  10. package/dist/node/helpers/convert-item-to-template.js +10 -9
  11. package/dist/node/helpers/convert-item-to-template.js.map +1 -1
  12. package/dist/node/helpers/create-item-from-template.js +5 -4
  13. package/dist/node/helpers/create-item-from-template.js.map +1 -1
  14. package/dist/node/index.js +7 -6
  15. package/dist/node/index.js.map +1 -1
  16. package/dist/node/notebook.d.ts +9 -0
  17. package/dist/node/notebook.js +24 -3
  18. package/dist/node/notebook.js.map +1 -1
  19. package/dist/node/oic.js +2 -1
  20. package/dist/node/oic.js.map +1 -1
  21. package/dist/node/quickcapture.js +3 -2
  22. package/dist/node/quickcapture.js.map +1 -1
  23. package/dist/node/simple-types.js +5 -4
  24. package/dist/node/simple-types.js.map +1 -1
  25. package/dist/node/webmap.js +4 -3
  26. package/dist/node/webmap.js.map +1 -1
  27. package/dist/node/webmappingapplication.js +2 -1
  28. package/dist/node/webmappingapplication.js.map +1 -1
  29. package/dist/node/workforce.js +2 -1
  30. package/dist/node/workforce.js.map +1 -1
  31. package/dist/umd/notebook.d.ts +9 -0
  32. package/dist/umd/simple-types.umd.js +26 -6
  33. package/dist/umd/simple-types.umd.js.map +1 -1
  34. package/dist/umd/simple-types.umd.min.js +4 -4
  35. package/dist/umd/simple-types.umd.min.js.map +1 -1
  36. package/package.json +11 -12
@@ -1,7 +1,7 @@
1
1
  /* @preserve
2
- * @esri/solution-simple-types - v1.2.0 - Apache-2.0
3
- * Copyright (c) 2018-2021 Esri, Inc.
4
- * Thu Dec 09 2021 16:04:12 GMT-0800 (Pacific Standard Time)
2
+ * @esri/solution-simple-types - v1.3.2 - Apache-2.0
3
+ * Copyright (c) 2018-2022 Esri, Inc.
4
+ * Thu Mar 03 2022 14:37:27 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="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?A(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:U,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;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,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 R=Object.freeze({__proto__:null,convertItemToTemplate:function(e,t,r,a,n){return U(e,t,r,a,n)},createItemFromTemplate:function(e,t,r,a){return S(e,t,r,a)},convertNotebookToTemplate:v,fineTuneCreatedItem:A,postProcess:function(e,t,r,n,i,o,s){return a.updateItemTemplateFromDictionary(e,o,s)}});function w(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=T(e.data.properties.ServiceURL,r.urlHash),e.data.properties.OverviewURL=T(e.data.properties.OverviewURL,r.urlHash)),t(e)}),(e=>n(a.fail(e))))}))}function T(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 _=Object.freeze({__proto__:null,createItemFromTemplate:S,convertItemToTemplate:U});function x(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:N(JSON.parse(r),e),name:o}:{},t(e)}),r)}else t(e)}))}function N(e,t){F(e,"itemId"),k(e);const r=e.dataSources;return r&&Array.isArray(r)&&r.forEach((e=>{const r=e.featureServiceItemId;r&&(j(r,t),z(e,"featureServiceItemId","url"),F(e,"featureServiceItemId"))})),e}function k(e){a.getProp(e,"preferences.adminEmail")&&a.setProp(e,"preferences.adminEmail","{{user.email}}")}function j(e,t){-1===t.dependencies.indexOf(e)&&t.dependencies.push(e)}function z(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 F(e,t){const r=a.getProp(e,t);r&&a.setProp(e,t,a.templatizeTerm(r,r,".itemId"))}var W=Object.freeze({__proto__:null,convertItemToTemplate:function(e,t,r,a,n){return U(e,t,r,a,n)},convertQuickCaptureToTemplate:x,_templatizeApplication:N,_templatizeAdminEmail:k,_updateDependencies:j,_templatizeUrl:z,_templatizeId:F,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 D(e,t,r){return new Promise(((t,n)=>{e.item.url=a.checkUrlPathTermination(a.placeholder(a.SERVER_NAME))+"home/webmap/viewer.html?webmap="+e.item.id,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&&(M(e.data.operationalLayers,r.urlHash),M(e.data.tables,r.urlHash),n=e.data,a.deleteProp(n,"initialState")),t(e)}),(e=>n(a.fail(e))))}))}function M(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 C(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 U(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=w(d,0,i);break;case"Web Map":case"Web Scene":g=D(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=x(d)}I.then((()=>{g.then(s,(e=>l(a.fail(e))))}),(e=>l(a.fail(e))))}))}))}var J=Object.freeze({__proto__:null,createItemFromTemplate:S,convertItemToTemplate:U});var L=Object.freeze({__proto__:null,convertItemToTemplate:function(e,t,r,a,n){return U(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":C(e,t)}return e},postProcess:function(e,r,a,n,i,o,s){return t.updateItemTemplateFromDictionary(e,o,s)}});e.notebookHelpers=O,e.notebookProcessor=R,e.quickcaptureHelpers=_,e.quickcaptureProcessor=W,e.simpleTypeHelpers=J,e.simpleTypes=L,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=x(e.data.properties.ServiceURL,r.urlHash),e.data.properties.OverviewURL=x(e.data.properties.OverviewURL,r.urlHash)),t(e)}),(e=>n(a.fail(e))))}))}function x(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 _=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,n,a.SolutionTemplateFormatVersion,a.SolutionResourceType.data);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=_,e.quickcaptureProcessor=D,e.simpleTypeHelpers=L,e.simpleTypes=H,Object.defineProperty(e,"__esModule",{value:!0})}));
19
19
  //# sourceMappingURL=simple-types.umd.min.js.map