@shko.online/lookupobjects-mock
Version:
Mocking Dataverse Lookup Objects to simplify writing soties for PCF components
103 lines (102 loc) • 5.82 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _react = _interopRequireWildcard(require("react"));
var _Corousel = require("./Corousel");
var _SearchLookup = _interopRequireDefault(require("./SearchLookup"));
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
function SelectedRecord({
selected,
allowMultiSelect,
onUnSelect,
searchRecords,
inputRef,
onSearchClick
}) {
const carouselRef = (0, _react.useRef)(null);
(0, _react.useLayoutEffect)(() => {
if (!carouselRef.current) {
return;
}
carouselRef.current.refresh();
}, [selected]);
return allowMultiSelect ? /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_Corousel.Carousel, {
axis: "x",
items: selected,
ref: carouselRef,
renderItem: ({
item,
isSnapPoint
}) => /*#__PURE__*/_react.default.createElement(_Corousel.CarouselItem, {
isSnapPoint: isSnapPoint,
key: item?.id
}, /*#__PURE__*/_react.default.createElement("div", {
className: "so.flex so.w-full so.p-1 so.border-b-2 so.border-b-transparent focus-within:so.border-b-blue-700",
key: item.id,
role: "presentation"
}, /*#__PURE__*/_react.default.createElement("ul", {
className: "so.flex so.flex-1 so.overflow-hidden so.flex-row so.relative so.outline-none"
}, /*#__PURE__*/_react.default.createElement("li", {
className: "so.flex so.flex-row so.flex-nowrap so.text-nowrap so.mx-1 so.h-6 so.rounded so.items-center so.max-w-full so.text-sky-800 so.bg-sky-100 hover hover:so.bg-blue-200"
}, /*#__PURE__*/_react.default.createElement("div", {
className: "so.justify-center so.flex so.text-sm so.items-center so.px-1 so.w-6"
}, /*#__PURE__*/_react.default.createElement("img", {
className: "so.h-5 so.w-5",
src: "./favicon.ico"
})), /*#__PURE__*/_react.default.createElement("div", {
className: "so.px-1 so.cursor-pointer so.text-sky-800 so.underline so.decoration-sky-800 so.decoration-1 so.leading-5 block so.text-nowrap ",
role: "presentation"
}, item.name), /*#__PURE__*/_react.default.createElement("button", {
className: "so.px-2 so.flex so.text-inherit so.rounded so.bg-transparent so.items-center",
onClick: () => onUnSelect(item),
role: "button",
type: "button"
}, /*#__PURE__*/_react.default.createElement("span", {
className: "so.text-xs"
}, /*#__PURE__*/_react.default.createElement("svg", {
className: "so.fill-sky-800 so.w-3 so.h-3",
viewBox: "0 0 24 24",
xmlns: "http://www.w3.org/2000/svg"
}, /*#__PURE__*/_react.default.createElement("path", {
d: "m4.4 4.55.07-.08a.75.75 0 0 1 .98-.07l.08.07L12 10.94l6.47-6.47a.75.75 0 1 1 1.06 1.06L13.06 12l6.47 6.47c.27.27.3.68.07.98l-.07.08a.75.75 0 0 1-.98.07l-.08-.07L12 13.06l-6.47 6.47a.75.75 0 0 1-1.06-1.06L10.94 12 4.47 5.53a.75.75 0 0 1-.07-.98l.07-.08-.07.08Z"
}))))))))
}), /*#__PURE__*/_react.default.createElement(_SearchLookup.default, {
inputRef: inputRef,
lookForRecords: 'Add more records',
onSearchClick: onSearchClick,
searchRecords: searchRecords
})) : /*#__PURE__*/_react.default.createElement("div", {
className: "so.flex so.w-full so.p-1 so.pl-2 so.border-b-2 so.border-b-transparent focus-within:so.border-b-blue-700",
key: selected[0].id,
role: "presentation"
}, /*#__PURE__*/_react.default.createElement("ul", {
className: "so.flex so.flex-1 so.overflow-hidden so.flex-row so.relative so.outline-none"
}, /*#__PURE__*/_react.default.createElement("li", {
className: "so.flex so.flex-row so.flex-nowrap so.mx-1 so.h-6 so.rounded so.items-center so.max-w-full so.text-sky-800 so.bg-sky-100 hover hover:so.bg-blue-200"
}, /*#__PURE__*/_react.default.createElement("div", {
className: "so.justify-center so.flex so.text-sm so.items-center so.px-1"
}, /*#__PURE__*/_react.default.createElement("img", {
className: "so.h-5 so.w-5",
src: "./favicon.ico"
})), /*#__PURE__*/_react.default.createElement("div", {
className: "so.px-1 so.cursor-pointer so.text-sky-800 so.underline so.decoration-sky-800 so.decoration-1 so.leading-5 block so.truncate",
role: "presentation"
}, selected[0].name), /*#__PURE__*/_react.default.createElement("button", {
className: "so.px-2 so.flex so.text-inherit so.rounded so.bg-transparent so.items-center",
onClick: () => onUnSelect(selected[0]),
role: "button",
type: "button"
}, /*#__PURE__*/_react.default.createElement("span", {
className: "so.text-xs"
}, /*#__PURE__*/_react.default.createElement("svg", {
className: "so.fill-sky-800 so.w-3 so.h-3",
viewBox: "0 0 24 24",
xmlns: "http://www.w3.org/2000/svg"
}, /*#__PURE__*/_react.default.createElement("path", {
d: "m4.4 4.55.07-.08a.75.75 0 0 1 .98-.07l.08.07L12 10.94l6.47-6.47a.75.75 0 1 1 1.06 1.06L13.06 12l6.47 6.47c.27.27.3.68.07.98l-.07.08a.75.75 0 0 1-.98.07l-.08-.07L12 13.06l-6.47 6.47a.75.75 0 0 1-1.06-1.06L10.94 12 4.47 5.53a.75.75 0 0 1-.07-.98l.07-.08-.07.08Z"
})))))));
}
var _default = exports.default = SelectedRecord;