update: function()

in js/projection/editable-string.js [26:60]


    update: function (options) {
      if (Model.__super__.update.call(this, options)) {
        var model = this.src.data;
        var columnEditable = this.get('column.editable.string');
        var value = _.map(model.get('value'), function (item) {
          var ret = _.clone(item);

          _.each(columnEditable, function (value, key) {
            if (_.has(ret, key)) {
              if (!_.isObject(ret[key])) {
                var obj = new Object(ret[key]); //eslint-disable-line

                if (_.isUndefined(ret[key])) {
                  obj.$undefined = true;
                }

                if (_.isNull(ret[key])) {
                  obj.$null = true;
                }

                ret[key] = obj;
              }

              var defaultValue = (ret[key].$undefined || ret[key].$null) ? value.defaultValue : ret[key];

              ret[key].$html = editableTemplate({ defaultValue: defaultValue });
            }
          });

          return ret;
        });

        this.patch({ value: value });
      }
    },