@fe6/water-pro
Version:
An enterprise-class UI design language and Vue-based implementation
99 lines (77 loc) • 3.34 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.useAutoFocus = useAutoFocus;
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
var _tslib = require("tslib");
var _vue = require("vue");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/** @format */
function useAutoFocus(_ref) {
var getSchema = _ref.getSchema,
autoFocusFirstItem = _ref.autoFocusFirstItem,
formElRef = _ref.formElRef,
isInitedDefault = _ref.isInitedDefault;
return (0, _tslib.__awaiter)(this, void 0, void 0, /*#__PURE__*/_regenerator.default.mark(function _callee2() {
var _this = this;
return _regenerator.default.wrap(function _callee2$(_context2) {
while (1) {
switch (_context2.prev = _context2.next) {
case 0:
(0, _vue.watchEffect)(function () {
return (0, _tslib.__awaiter)(_this, void 0, void 0, /*#__PURE__*/_regenerator.default.mark(function _callee() {
var _a, schemas, formEl, el, firstItem, inputEl;
return _regenerator.default.wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
if (!((0, _vue.unref)(isInitedDefault) || !(0, _vue.unref)(autoFocusFirstItem))) {
_context.next = 2;
break;
}
return _context.abrupt("return");
case 2:
_context.next = 4;
return (0, _vue.nextTick)();
case 4:
schemas = (0, _vue.unref)(getSchema);
formEl = (0, _vue.unref)(formElRef);
el = (_a = formEl) === null || _a === void 0 ? void 0 : _a.$el;
if (!(!formEl || !el || !schemas || schemas.length === 0)) {
_context.next = 9;
break;
}
return _context.abrupt("return");
case 9:
firstItem = schemas[0]; // Only open when the first form item is input type
if (firstItem.component.includes('Input')) {
_context.next = 12;
break;
}
return _context.abrupt("return");
case 12:
inputEl = el.querySelector('.ant-row:first-child input');
if (inputEl) {
_context.next = 15;
break;
}
return _context.abrupt("return");
case 15:
inputEl === null || inputEl === void 0 ? void 0 : inputEl.focus();
case 16:
case "end":
return _context.stop();
}
}
}, _callee);
}));
});
case 1:
case "end":
return _context2.stop();
}
}
}, _callee2);
}));
}
;