chunk-BSHW5SE6.js 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151
  1. import {
  2. e
  3. } from "./chunk-ILURGS2L.js";
  4. import {
  5. a
  6. } from "./chunk-QNKN2AAB.js";
  7. import {
  8. t
  9. } from "./chunk-F37AVPUF.js";
  10. import {
  11. B
  12. } from "./chunk-4NKD334K.js";
  13. import {
  14. U
  15. } from "./chunk-VNFRAYHO.js";
  16. import {
  17. s3 as s
  18. } from "./chunk-EMJ4ZSM2.js";
  19. // node_modules/@arcgis/core/support/requestPresets.js
  20. async function n(n2) {
  21. const { data: o } = await U(n2, { responseType: "json", query: { f: "json" } });
  22. return o;
  23. }
  24. // node_modules/@arcgis/core/portal/support/layersLoader.js
  25. async function l(e2, t2) {
  26. const r = e2.instance.portalItem;
  27. if (r && r.id)
  28. return await r.load(t2), s2(e2), i(e2, t2);
  29. }
  30. function s2(t2) {
  31. const r = t2.instance.portalItem;
  32. if (!t2.supportedTypes.includes(r.type))
  33. throw new s("portal:invalid-layer-item-type", "Invalid layer item type '${type}', expected '${expectedType}'", { type: r.type, expectedType: t2.supportedTypes.join(", ") });
  34. }
  35. async function i(e2, t2) {
  36. const r = e2.instance, o = r.portalItem, { url: l2, title: s3 } = o, i2 = e(o);
  37. if (r.type === "group")
  38. return r.read({ title: s3 }, i2), u(r, e2);
  39. l2 && r.read({ url: l2 }, i2);
  40. const c2 = await d(e2, t2);
  41. return c2 && r.read(c2, i2), r.resourceReferences = { portalItem: o, paths: i2.readResourcePaths }, r.read({ title: s3 }, i2), t(r, i2);
  42. }
  43. function u(r, n2) {
  44. let a2;
  45. const o = r.portalItem.type;
  46. switch (o) {
  47. case "Feature Service":
  48. case "Feature Collection":
  49. a2 = a.FeatureLayer;
  50. break;
  51. case "Stream Service":
  52. a2 = a.StreamLayer;
  53. break;
  54. case "Scene Service":
  55. a2 = a.SceneLayer;
  56. break;
  57. default:
  58. throw new s("portal:unsupported-item-type-as-group", `The item type '${o}' is not supported as a 'IGroupLayer'`);
  59. }
  60. let l2;
  61. return a2().then((e2) => (l2 = e2, d(n2))).then(async (e2) => o === "Feature Service" ? (e2 = await f(e2, r.portalItem.url), p(r, l2, e2)) : I(e2) > 0 ? p(r, l2, e2) : c(r, l2));
  62. }
  63. function c(e2, t2) {
  64. return e2.portalItem.url ? n(e2.portalItem.url).then((r) => {
  65. function n2(e3) {
  66. return { id: e3.id, name: e3.name };
  67. }
  68. r && p(e2, t2, { layers: r.layers?.map(n2), tables: r.tables?.map(n2) });
  69. }) : Promise.resolve();
  70. }
  71. function p(e2, t2, r) {
  72. let n2 = r.layers || [];
  73. const a2 = r.tables || [];
  74. e2.portalItem.type === "Feature Collection" && (n2.forEach((e3) => {
  75. e3?.layerDefinition?.type === "Table" && a2.push(e3);
  76. }), n2 = n2.filter((e3) => e3?.layerDefinition?.type !== "Table")), n2.reverse().forEach((n3) => {
  77. const a3 = y(e2, t2, r, n3);
  78. e2.add(a3);
  79. }), a2.reverse().forEach((n3) => {
  80. const a3 = y(e2, t2, r, n3);
  81. e2.tables.add(a3);
  82. });
  83. }
  84. function y(e2, t2, n2, a2) {
  85. const o = new t2({ portalItem: e2.portalItem.clone(), layerId: a2.id, sublayerTitleMode: "service-name" });
  86. if (e2.portalItem.type === "Feature Collection") {
  87. const t3 = { origin: "portal-item", portal: e2.portalItem.portal || B.getDefault() };
  88. o.read(a2, t3);
  89. const l2 = n2.showLegend;
  90. l2 != null && o.read({ showLegend: l2 }, t3);
  91. }
  92. return o;
  93. }
  94. function d(e2, t2) {
  95. if (e2.supportsData === false)
  96. return Promise.resolve(void 0);
  97. const r = e2.instance;
  98. return r.portalItem.fetchData("json", t2).catch(() => null).then(async (e3) => {
  99. if (b(r)) {
  100. let t3, n2 = true;
  101. return e3 && I(e3) > 0 && (r.layerId == null && (r.layerId = m(e3)), t3 = h(e3, r.layerId), t3 && (I(e3) === 1 && (n2 = false), e3.showLegend != null && (t3.showLegend = e3.showLegend))), n2 && r.sublayerTitleMode !== "service-name" && (r.sublayerTitleMode = "item-title-and-service-name"), t3;
  102. }
  103. return e3;
  104. });
  105. }
  106. async function f(e2, t2) {
  107. if (e2?.layers == null || e2?.tables == null) {
  108. const r = await n(t2);
  109. (e2 = e2 || {}).layers = e2.layers || r?.layers, e2.tables = e2.tables || r?.tables;
  110. }
  111. return e2;
  112. }
  113. function m(e2) {
  114. const t2 = e2.layers;
  115. if (t2 && t2.length)
  116. return t2[0].id;
  117. const r = e2.tables;
  118. return r && r.length ? r[0].id : null;
  119. }
  120. function h(e2, t2) {
  121. const r = e2.layers;
  122. if (r) {
  123. for (let a2 = 0; a2 < r.length; a2++)
  124. if (r[a2].id === t2)
  125. return r[a2];
  126. }
  127. const n2 = e2.tables;
  128. if (n2) {
  129. for (let a2 = 0; a2 < n2.length; a2++)
  130. if (n2[a2].id === t2)
  131. return n2[a2];
  132. }
  133. return null;
  134. }
  135. function I(e2) {
  136. return (e2?.layers?.length ?? 0) + (e2?.tables?.length ?? 0);
  137. }
  138. function b(e2) {
  139. return e2.type !== "stream" && "layerId" in e2;
  140. }
  141. export {
  142. n,
  143. l,
  144. f,
  145. m,
  146. I
  147. };
  148. //# sourceMappingURL=chunk-BSHW5SE6.js.map