Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
@skava/ui / dist / components / presets / ShoppingList / Item / strategy.js
Size: Mime:
"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