chunk-MFI6BALW.js 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. import {
  2. B,
  3. c2 as c,
  4. c3 as c2,
  5. i,
  6. u
  7. } from "./chunk-PUSPZYFZ.js";
  8. import {
  9. h,
  10. ye
  11. } from "./chunk-WZQZRKNH.js";
  12. // node_modules/@arcgis/core/support/popupUtils.js
  13. var l = ["oid", "global-id"];
  14. var a = ["oid", "global-id", "guid"];
  15. function d({ displayField: t, editFieldsInfo: i2, fields: o, objectIdField: n, title: r }, s) {
  16. if (!o)
  17. return null;
  18. const l2 = w({ editFieldsInfo: i2, fields: o, objectIdField: n }, s);
  19. if (!l2.length)
  20. return null;
  21. const a2 = j({ titleBase: r, fields: o, displayField: t }), d2 = g();
  22. return new B({ title: a2, content: d2, fieldInfos: l2 });
  23. }
  24. var p = [/^fnode_$/i, /^tnode_$/i, /^lpoly_$/i, /^rpoly_$/i, /^poly_$/i, /^subclass$/i, /^subclass_$/i, /^rings_ok$/i, /^rings_nok$/i, /shape/i, /perimeter/i, /objectid/i, /_i$/i];
  25. var c3 = (e, { editFieldsInfo: t, objectIdField: i2, visibleFieldNames: o }) => o ? o.has(e.name) : !f(e.name, t) && ((!i2 || e.name !== i2) && (!l.includes(e.type) && !p.some((t2) => t2.test(e.name))));
  26. function u2(e, t) {
  27. const i2 = e;
  28. return t && (e = e.filter((e2) => !t.includes(e2.type))), e === i2 && (e = e.slice()), e.sort(m), e;
  29. }
  30. function m(e, t) {
  31. return e.type === "oid" ? -1 : t.type === "oid" ? 1 : y(e) ? -1 : y(t) ? 1 : (e.alias || e.name).toLocaleLowerCase().localeCompare((t.alias || t.name).toLocaleLowerCase());
  32. }
  33. function f(e, t) {
  34. if (!e || !t)
  35. return false;
  36. const { creationDateField: i2, creatorField: o, editDateField: n, editorField: r } = t;
  37. return [i2 && i2.toLowerCase(), o && o.toLowerCase(), n && n.toLowerCase(), r && r.toLowerCase()].includes(e.toLowerCase());
  38. }
  39. function F(e, t) {
  40. return e.editable && !a.includes(e.type) && !f(e.name, t);
  41. }
  42. function w({ editFieldsInfo: e, fields: t, objectIdField: i2 }, o) {
  43. return u2(t, o?.ignoreFieldTypes || I).map((t2) => new c({ fieldName: t2.name, isEditable: F(t2, e), label: t2.alias, format: C(t2), visible: c3(t2, { editFieldsInfo: e, objectIdField: i2, visibleFieldNames: o?.visibleFieldNames }) }));
  44. }
  45. function C(e) {
  46. switch (e.type) {
  47. case "small-integer":
  48. case "integer":
  49. case "single":
  50. return new u({ digitSeparator: true, places: 0 });
  51. case "double":
  52. return new u({ digitSeparator: true, places: 2 });
  53. case "date":
  54. return new u({ dateFormat: "long-month-day-year" });
  55. default:
  56. return e.type === "string" && ye(e.name) ? new u({ digitSeparator: true, places: 0 }) : null;
  57. }
  58. }
  59. function g() {
  60. return [new c2(), new i()];
  61. }
  62. function j(e) {
  63. const t = h(e), { titleBase: o } = e;
  64. return t ? `${o}: {${t.trim()}}` : o;
  65. }
  66. function y(e) {
  67. if ((e.name && e.name.toLowerCase()) === "name")
  68. return true;
  69. return (e.alias && e.alias.toLowerCase()) === "name" || void 0;
  70. }
  71. var I = ["geometry", "blob", "raster", "guid", "xml"];
  72. export {
  73. d
  74. };
  75. //# sourceMappingURL=chunk-MFI6BALW.js.map