beforeSet: function()

in js/projection/editable.js [30:66]


    beforeSet: function (local) {
      var editable = function () {
        return true;
      };

      if (_.has(local, 'column.editable')) {
        let editableOptions = local['column.editable'];
        let viewConfig = {};
        let conditions = {};

        if (_.isArray(editableOptions)) {
          _.each(editableOptions, editableColumn => {
            if (_.isString(editableColumn)) {
              conditions[editableColumn] = editable;
            } else if (_.isObject(editableColumn) && _.isString(editableColumn.name)) {
              conditions[editableColumn.name] = _.isFunction(editableColumn.condition) ? editableColumn.condition : editable;
            }
            viewConfig[editableColumn] = null;
          });
        } else {
          _.each(editableOptions, (options, columnName) => {
            if (_.isFunction(options)) {
              conditions[columnName] = editable;
              viewConfig[columnName] = options;
            } else if (_.isObject(options)) {
              conditions[columnName] = options.condition;
              viewConfig[columnName] = options.editor;
            }
          });
        }

        this.viewConfig = viewConfig;
        this.isEditable = function (key, item) {
          return _.isFunction(conditions[key]) && conditions[key](item);
        };
      }
    },