sp-app-react
Version:
React based Controls and Utilities for building applications in SharePoint
46 lines (45 loc) • 1.92 kB
JavaScript
var __assign = (this && this.__assign) || function () {
__assign = Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
t[p] = s[p];
}
return t;
};
return __assign.apply(this, arguments);
};
var __read = (this && this.__read) || function (o, n) {
var m = typeof Symbol === "function" && o[Symbol.iterator];
if (!m) return o;
var i = m.call(o), r, ar = [], e;
try {
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
}
catch (error) { e = { error: error }; }
finally {
try {
if (r && !r.done && (m = i["return"])) m.call(i);
}
finally { if (e) throw e.error; }
}
return ar;
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.useSPField = void 0;
var formik_1 = require("formik");
var react_1 = require("react");
var SPList_1 = require("../SPList");
var useSPField = function (props) {
var listContext = react_1.useContext(SPList_1.SPListContext);
if (!listContext)
throw "SP List Context not found. Hook must be used within an SP List Context";
var listProps = (listContext && listContext.getFieldProps && props.name) ? listContext.getFieldProps(props.name, props.index) : {};
if (!listProps)
throw "SP List Props were not found.";
var fieldProps = __assign(__assign({}, props), { name: listProps.name ? listProps.name : props.name });
var _a = __read(formik_1.useField(listProps !== {} ? listProps.name : props.name), 3), field = _a[0], meta = _a[1], helpers = _a[2];
return [field, meta, helpers, __assign(__assign({}, listProps), fieldProps), listContext];
};
exports.useSPField = useSPField;
;