utopia-ui 3.0.0-alpha.151 → 3.0.0-alpha.153

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.
@@ -1,9 +1,8 @@
1
- import { Item } from "../../types";
2
- export declare const ItemCard: ({ item, url, parameterField, deleteCallback, navigateCallback, loading }: {
3
- item: Item;
1
+ import { Item } from '../../types';
2
+ export declare const ItemCard: ({ i, loading, url, parameterField, deleteCallback }: {
3
+ i: Item;
4
+ loading: boolean;
4
5
  url: string;
5
6
  parameterField: string;
6
- deleteCallback: (item: Item) => void;
7
- loading: boolean;
8
- navigateCallback: (url: string) => void;
7
+ deleteCallback: any;
9
8
  }) => import("react/jsx-runtime").JSX.Element;
@@ -3,16 +3,11 @@ declare type breadcrumb = {
3
3
  name: string;
4
4
  path: string;
5
5
  };
6
- export declare const OverlayItemsIndexPage: ({ url, layerName, parameterField, breadcrumbs, itemNameField, itemTextField, itemImageField, itemSymbolField, itemSubnameField, plusButton, children }: {
6
+ export declare const OverlayItemsIndexPage: ({ url, layerName, parameterField, breadcrumbs, plusButton, children }: {
7
7
  layerName: string;
8
8
  url: string;
9
9
  parameterField: string;
10
10
  breadcrumbs: Array<breadcrumb>;
11
- itemNameField: string;
12
- itemTextField: string;
13
- itemImageField: string;
14
- itemSymbolField: string;
15
- itemSubnameField: string;
16
11
  plusButton?: boolean | undefined;
17
12
  children?: ReactNode;
18
13
  }) => import("react/jsx-runtime").JSX.Element;
package/dist/index.js CHANGED
@@ -1136,12 +1136,19 @@ var DateUserInfo = function (_a) {
1136
1136
  jsx("p", __assign({ className: "!tw-my-0 tw-min-h-[21px] tw-font-bold tw-cursor-pointer tw-text-gray-500", onClick: function () { return setInfoExpanded(true); } }, { children: "\u24D8" })), jsx("div", { className: 'tw-grow ' })] })));
1137
1137
  };
1138
1138
 
1139
+ var ItemCard = function (_a) {
1140
+ var _b, _c, _d, _e, _f, _g, _h;
1141
+ var i = _a.i, loading = _a.loading, url = _a.url, parameterField = _a.parameterField, deleteCallback = _a.deleteCallback;
1142
+ var navigate = useNavigate();
1143
+ return (jsxs("div", __assign({ className: 'tw-cursor-pointer tw-card tw-border-[1px] tw-border-base-300 tw-card-body tw-shadow-xl tw-bg-base-100 tw-text-base-content tw-p-4 tw-mb-4 tw-h-fit', onClick: function () { return navigate(url + getValue(i, parameterField)); } }, { children: [jsx(HeaderView, { loading: loading, item: i, api: (_b = i.layer) === null || _b === void 0 ? void 0 : _b.api, itemAvatarField: (_c = i.layer) === null || _c === void 0 ? void 0 : _c.itemAvatarField, itemNameField: (_d = i.layer) === null || _d === void 0 ? void 0 : _d.itemNameField, itemSubnameField: (_e = i.layer) === null || _e === void 0 ? void 0 : _e.itemSubnameField, editCallback: function () { return navigate("/edit-item/" + i.id); }, deleteCallback: function () { return deleteCallback(i); } }), jsxs("div", __assign({ className: 'tw-overflow-y-auto tw-overflow-x-hidden tw-max-h-64 fade' }, { children: [((_f = i.layer) === null || _f === void 0 ? void 0 : _f.itemType.show_start_end) &&
1144
+ jsx(StartEndView, { item: i }), ((_g = i.layer) === null || _g === void 0 ? void 0 : _g.itemType.show_text) &&
1145
+ jsx(TextView, { truncate: true, item: i, itemTextField: (_h = i.layer) === null || _h === void 0 ? void 0 : _h.itemTextField })] })), jsx(DateUserInfo, { item: i })] })));
1146
+ };
1147
+
1139
1148
  var OverlayItemsIndexPage = function (_a) {
1140
- var url = _a.url, layerName = _a.layerName, parameterField = _a.parameterField, breadcrumbs = _a.breadcrumbs, itemNameField = _a.itemNameField, itemTextField = _a.itemTextField, itemImageField = _a.itemImageField, itemSymbolField = _a.itemSymbolField, itemSubnameField = _a.itemSubnameField, _b = _a.plusButton, plusButton = _b === void 0 ? true : _b, children = _a.children;
1141
- console.log(itemSymbolField);
1142
- var _c = useState(new Map()); _c[0]; _c[1];
1143
- var _d = useState(false), loading = _d[0], setLoading = _d[1];
1144
- var _e = useState(""), addItemPopupType = _e[0], setAddItemPopupType = _e[1];
1149
+ var url = _a.url, layerName = _a.layerName, parameterField = _a.parameterField, breadcrumbs = _a.breadcrumbs, _b = _a.plusButton, plusButton = _b === void 0 ? true : _b, children = _a.children;
1150
+ var _c = useState(false), loading = _c[0], setLoading = _c[1];
1151
+ var _d = useState(""), addItemPopupType = _d[0], setAddItemPopupType = _d[1];
1145
1152
  var tabRef = useRef(null);
1146
1153
  function scroll() {
1147
1154
  var _a;
@@ -1150,7 +1157,7 @@ var OverlayItemsIndexPage = function (_a) {
1150
1157
  useEffect(function () {
1151
1158
  scroll();
1152
1159
  }, [addItemPopupType]);
1153
- var navigate = useNavigate();
1160
+ useNavigate();
1154
1161
  var tags = useTags();
1155
1162
  var addTag = useAddTag();
1156
1163
  var user = useAuth().user;
@@ -1243,10 +1250,7 @@ var OverlayItemsIndexPage = function (_a) {
1243
1250
  var dateB = b.date_updated ? new Date(b.date_updated).getTime() : b.date_created ? new Date(b.date_created).getTime() : 0;
1244
1251
  return dateB - dateA; // Subtracts milliseconds which are numbers
1245
1252
  }).map(function (i, k) {
1246
- var _a, _b;
1247
- return (jsxs("div", __assign({ className: 'tw-cursor-pointer tw-card tw-border-[1px] tw-border-base-300 tw-card-body tw-shadow-xl tw-bg-base-100 tw-text-base-content tw-p-4 tw-mb-4 tw-h-fit', onClick: function () { return navigate(url + getValue(i, parameterField)); } }, { children: [jsx(HeaderView, { loading: loading, item: i, api: layer === null || layer === void 0 ? void 0 : layer.api, itemAvatarField: itemImageField, itemNameField: itemNameField, itemSubnameField: itemSubnameField, editCallback: function () { return navigate("/edit-item/" + i.id); }, deleteCallback: function () { return deleteItem(i); } }), jsxs("div", __assign({ className: 'tw-overflow-y-auto tw-overflow-x-hidden tw-max-h-64 fade' }, { children: [((_a = i.layer) === null || _a === void 0 ? void 0 : _a.itemType.show_start_end) &&
1248
- jsx(StartEndView, { item: i }), ((_b = i.layer) === null || _b === void 0 ? void 0 : _b.itemType.show_text) &&
1249
- jsx(TextView, { truncate: true, item: i, itemTextField: itemTextField })] })), jsx(DateUserInfo, { item: i })] }), k));
1253
+ return (jsx(ItemCard, { i: i, loading: loading, url: url, parameterField: parameterField, deleteCallback: function () { return deleteItem(i); } }, k));
1250
1254
  }), addItemPopupType == "place" ?
1251
1255
  jsx("form", __assign({ ref: tabRef, autoComplete: 'off', onSubmit: function (e) { return submitNewItem(e); } }, { children: jsxs("div", __assign({ className: 'tw-cursor-pointer tw-card tw-border-[1px] tw-border-base-300 tw-card-body tw-shadow-xl tw-bg-base-100 tw-text-base-content tw-p-6 tw-mb-10' }, { children: [jsx("label", __assign({ className: "tw-btn tw-btn-sm tw-rounded-2xl tw-btn-circle tw-btn-ghost hover:tw-bg-transparent tw-absolute tw-right-0 tw-top-0 tw-text-gray-600", onClick: function () {
1252
1256
  setAddItemPopupType("");
@@ -3253,10 +3257,16 @@ function UtopiaMap(_a) {
3253
3257
  var params = new URLSearchParams(location.search);
3254
3258
  params.get("position");
3255
3259
  }, [location]);
3260
+ var onEachFeature = function (feature, layer) {
3261
+ if (feature.properties) {
3262
+ layer.bindPopup(feature.properties.name);
3263
+ console.log(feature);
3264
+ }
3265
+ };
3256
3266
  return (jsx(Fragment, { children: jsxs("div", __assign({ className: (selectNewItemPosition != null ? "crosshair-cursor-enabled" : undefined) }, { children: [jsxs(MapContainer, __assign({ ref: mapDivRef, style: { height: height, width: width }, center: new LatLng(center[0], center[1]), zoom: zoom, zoomControl: false, maxZoom: 19 }, { children: [jsx(Outlet, {}), jsxs(Control, __assign({ position: 'topLeft', zIndex: "1000" }, { children: [jsx(SearchControl, {}), jsx(TagsControl, {})] })), jsxs(Control, __assign({ position: 'bottomLeft', zIndex: "999" }, { children: [jsx(QuestControl, {}), jsx(LayerControl, {})] })), jsx(TileLayer, { maxZoom: 19, attribution: '\u00A9 <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors', url: "https://tile.osmand.net/hd/{z}/{x}/{y}.png" }), jsx(MarkerClusterGroup, __assign({ ref: function (r) { return setClusterRef(r); }, showCoverageOnHover: true, chunkedLoading: true, maxClusterRadius: 50, removeOutsideVisibleBounds: false }, { children: React.Children.toArray(children).map(function (child) {
3257
3267
  return React.isValidElement(child) ?
3258
3268
  React.cloneElement(child, { setItemFormPopup: setItemFormPopup, itemFormPopup: itemFormPopup, clusterRef: clusterRef }) : child;
3259
- }) })), geo && jsx(GeoJSON, { data: geo }), jsx(MapEventListener, { setSelectNewItemPosition: setSelectNewItemPosition, selectNewItemPosition: selectNewItemPosition, setItemFormPopup: setItemFormPopup })] })), jsx(AddButton, { triggerAction: setSelectNewItemPosition }), selectNewItemPosition != null &&
3269
+ }) })), geo && jsx(GeoJSON, { data: geo, onEachFeature: onEachFeature }), jsx(MapEventListener, { setSelectNewItemPosition: setSelectNewItemPosition, selectNewItemPosition: selectNewItemPosition, setItemFormPopup: setItemFormPopup })] })), jsx(AddButton, { triggerAction: setSelectNewItemPosition }), selectNewItemPosition != null &&
3260
3270
  jsxs("div", __assign({ className: "tw-button tw-z-1000 tw-absolute tw-right-5 tw-top-4 tw-drop-shadow-md" }, { children: [jsx("label", __assign({ className: "tw-btn tw-btn-sm tw-rounded-2xl tw-btn-circle tw-btn-ghost hover:tw-bg-transparent tw-absolute tw-right-0 tw-top-0 tw-text-gray-600", onClick: function () {
3261
3271
  setSelectNewItemPosition(null);
3262
3272
  } }, { children: jsx("p", __assign({ className: 'tw-text-center ' }, { children: "\u2715" })) })), jsx("div", __assign({ className: "tw-alert tw-bg-base-100 tw-text-base-content" }, { children: jsx("div", { children: jsxs("span", { children: ["Select ", selectNewItemPosition.name, " position!"] }) }) }))] }))] })) }));
@@ -4943,11 +4953,11 @@ function OverlayItemProfileSettings() {
4943
4953
  setNeeds([]);
4944
4954
  setRelations([]);
4945
4955
  (_d = item === null || item === void 0 ? void 0 : item.offers) === null || _d === void 0 ? void 0 : _d.map(function (o) {
4946
- var offer = tags.find(function (t) { return t.id === o.tags_id; });
4956
+ var offer = tags === null || tags === void 0 ? void 0 : tags.find(function (t) { return t.id === o.tags_id; });
4947
4957
  offer && setOffers(function (current) { return __spreadArray(__spreadArray([], current, true), [offer], false); });
4948
4958
  });
4949
4959
  (_e = item === null || item === void 0 ? void 0 : item.needs) === null || _e === void 0 ? void 0 : _e.map(function (o) {
4950
- var need = tags.find(function (t) { return t.id === o.tags_id; });
4960
+ var need = tags === null || tags === void 0 ? void 0 : tags.find(function (t) { return t.id === o.tags_id; });
4951
4961
  need && setNeeds(function (current) { return __spreadArray(__spreadArray([], current, true), [need], false); });
4952
4962
  });
4953
4963
  (_f = item.relations) === null || _f === void 0 ? void 0 : _f.map(function (r) {
@@ -4969,7 +4979,7 @@ function OverlayItemProfileSettings() {
4969
4979
  changedItem = {};
4970
4980
  offer_updates = [];
4971
4981
  //check for new offers
4972
- offers.map(function (o) {
4982
+ offers === null || offers === void 0 ? void 0 : offers.map(function (o) {
4973
4983
  var _a;
4974
4984
  var existingOffer = (_a = item === null || item === void 0 ? void 0 : item.offers) === null || _a === void 0 ? void 0 : _a.find(function (t) { return t.tags_id === o.id; });
4975
4985
  existingOffer && offer_updates.push(existingOffer.id);
@@ -4978,7 +4988,7 @@ function OverlayItemProfileSettings() {
4978
4988
  !existingOffer && offer_updates.push({ items_id: item === null || item === void 0 ? void 0 : item.id, tags_id: o.id });
4979
4989
  });
4980
4990
  needs_updates = [];
4981
- needs.map(function (n) {
4991
+ needs === null || needs === void 0 ? void 0 : needs.map(function (n) {
4982
4992
  var existingNeed = user === null || user === void 0 ? void 0 : user.needs.find(function (t) { return t.tags_id === n.id; });
4983
4993
  existingNeed && needs_updates.push(existingNeed.id);
4984
4994
  !existingNeed && needs_updates.push({ items_id: item === null || item === void 0 ? void 0 : item.id, tags_id: n.id });