@dnb/eufemia
Version:
DNB Eufemia Design System UI Library
28 lines • 1.43 kB
JavaScript
import pointer from "../../utils/json-pointer/index.js";
import { createReferenceKey, createSharedState } from "../../../../shared/helpers/useSharedState.js";
export default function getData(id) {
const sharedState = createSharedState(id);
const sharedAttachments = createSharedState(createReferenceKey(id, 'attachments'));
const data = sharedState.get();
const filterData = filter => {
var _sharedAttachments$da, _sharedAttachments$da2;
return (_sharedAttachments$da = sharedAttachments.data) === null || _sharedAttachments$da === void 0 || (_sharedAttachments$da2 = _sharedAttachments$da.filterDataHandler) === null || _sharedAttachments$da2 === void 0 ? void 0 : _sharedAttachments$da2.call(_sharedAttachments$da, data, filter);
};
const reduceToVisibleFields = (data, options) => {
var _sharedAttachments$da3, _sharedAttachments$da4;
return (_sharedAttachments$da3 = sharedAttachments.data) === null || _sharedAttachments$da3 === void 0 || (_sharedAttachments$da4 = _sharedAttachments$da3.visibleDataHandler) === null || _sharedAttachments$da4 === void 0 ? void 0 : _sharedAttachments$da4.call(_sharedAttachments$da3, data, options);
};
const getValue = path => {
if (pointer.has(data, path)) {
return pointer.get(data, path);
}
return undefined;
};
return {
data,
getValue,
filterData,
reduceToVisibleFields
};
}
//# sourceMappingURL=getData.js.map