Repository URL to install this package:
|
Version:
2.8.4 ▾
|
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
const tslib_1 = require("tslib");
const mobx_1 = require("xmobx/mobx");
const exotic_1 = require("exotic");
class ValidationStrategy {
constructor() {
this.strategyConfig = exotic_1.EMPTY_OBJ; // constructor(props) {
// this.startegyConfig = props
// console.log('startegyConfig test', this.startegyConfig.props.item.identifier)
// }
this.onFocus = exotic_1.NO_OP;
this.onChange = exotic_1.NO_OP;
}
onBlur(args) {
const {
state,
props
} = this.strategyConfig;
const {
onEditListName,
item
} = props;
const {
identifier
} = item;
const {
setIsVisible,
setListName,
listName
} = state;
const previousName = listName;
setIsVisible(false);
if (exotic_1.isSafe(args.state.value)) {
setListName(args.state.value);
} else {
args.state.setValue(listName);
}
if (exotic_1.isFunction(onEditListName)) {
onEditListName(Object.assign({}, args, {
identifier,
previousName
}));
}
}
onSubmit(args) {
const {
state,
props
} = this.strategyConfig;
const {
onEditListName,
item
} = props;
const {
identifier
} = item;
const {
setIsVisible,
setListName,
listName
} = state;
const previousName = listName;
setIsVisible(false);
if (exotic_1.isObj(args.state.inputsList[0])) {
if (exotic_1.isSafe(args.state.inputsList[0].value)) {
setListName(args.state.inputsList[0].value);
} else {
args.state.inputsList[0].setValue(listName);
}
}
if (exotic_1.isFunction(onEditListName)) {
onEditListName(Object.assign({}, args, {
identifier,
previousName
}));
}
}
setStrategyConfig(config) {
this.strategyConfig = config;
}
}
tslib_1.__decorate([mobx_1.observable], ValidationStrategy.prototype, "strategyConfig", void 0);
tslib_1.__decorate([mobx_1.action.bound], ValidationStrategy.prototype, "onBlur", null);
tslib_1.__decorate([mobx_1.action.bound], ValidationStrategy.prototype, "onSubmit", null);
tslib_1.__decorate([mobx_1.action.bound], ValidationStrategy.prototype, "setStrategyConfig", null);
exports.ValidationStrategy = ValidationStrategy;
exports.default = ValidationStrategy; //# sourceMappingURL=strategy.js.map