# Class: BaseEditorView

## core.form.editors.base. BaseEditorView

Базовый класс для всех эдиторов. Является модификацией класса Backbone.Form.Editor из библиотеки Backbone.Form.
При реализации собственных эдиторов используйте один из следующих классов, наследующих этот:

- `BaseCollectionEditorView`

- `BaseCompositeEditorView`

- `BaseLayoutEditorView`

- `BaseItemEditorView`

Возможные эвенты:

- `'change' (thisEditorView)` - эвент возникает при изменении значения value внутри эдитора. При этом эвент не означает изменение значения в модели (!).

- `'focus' (thisEditorView)` - эвент возникает при получении эдитором фокуса.

- `'blur' (thisEditorView)` - эвент возникает при потере фокуса эдитором.

- `'enabled' (enabled)` - эвент возникает при изменении флага enabled.

- `'readonly' (readonly)` - эвент возникает при изменении флага readonly.

- `'<key>:committed' (thisEditorView, model, value)` - эвент возникает при записи данных в модель.

- `'value:committed' (thisEditorView, model, key, value)` - эвент возникает при записи данных в модель.

#### new BaseEditorView(options)

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `options` | Object | Объект опций. ###### Properties
  Name | Type | Argument | Default | Description
  --- | --- | --- | --- | ---
  `autocommit` | Boolean | <optional> | false | Автоматически вызывать метод commit() при каждом изменении значения value.
  `forceCommit` | Boolean | <optional> | false | Делать commit в модель даже в случае ошибок валидации (не рекомендуется).
  `enabled` | Boolean | <optional> | true | Значение enabled, установленное по умолчанию (в дальнейшем возможно изменить через метод setEnabled).
  `readonly` | Boolean | <optional> | false | Значение readonly, установленное по умолчанию (в дальнейшем возможно изменить через метод setReadonly).
  `model` | Boolean | <optional> |  | Редактируемая модель. Используется только при создании в отвязке от формы, вместе с опцией `key`.
  `key` | Boolean | <optional> |  | Редактируемый атрибут. Используется только при создании в отвязке от формы, вместе с опцией `model`.
  `validators` | Function[] | <optional> |  | Массив функций-валидаторов с сигнатурой: `function(value, formValues) -> ({type, message}|undefined)`
  `schema` | Object | <optional> |  | Используется для передачи опций в эдитор в случае его неявного создания через форму (Backbone.Form). Не использовать явно.

  Source:
    - form/editors/base/MarionetteEditorPrototype.js, line 61

### Extends

- Marionette.View

### Members

#### hasFocus

  Флаг, определяющий активен ли на эдиторе фокус в настоящее время.

  Source:
    - form/editors/base/MarionetteEditorPrototype.js, line 104

### Methods

#### blur()

  Снять фокус с данного эдитора.

  Source:
    - form/editors/base/MarionetteEditorPrototype.js, line 280

#### commit(options) → {Object|undefined}

  Update the model with the current value

  ##### Parameters:

  Name | Type | Argument | Description
  --- | --- | --- | ---
  `options` | Object | <optional> | Options to pass to model.set() ###### Properties
  Name | Type | Argument | Description
  --- | --- | --- | ---
  `validate` | Boolean | <optional> | Set to true to trigger built-in model validation

  Source:
    - form/editors/base/MarionetteEditorPrototype.js, line 293

  ##### Returns:

  В случае ошибки, возвращает объект `{ type, message }`.

  Type
    Object | undefined

#### focus()

  Установить фокус на этот эдитор.

  Source:
    - form/editors/base/MarionetteEditorPrototype.js, line 270

#### getEnabled() → {Boolean}

  Получить значение флага enabled

  Source:
    - form/editors/base/MarionetteEditorPrototype.js, line 245

  ##### Returns:

  Type
    Boolean

#### getModelValue() → {*}

  Получить текущее значение из модели.

  Source:
    - form/editors/base/MarionetteEditorPrototype.js, line 167

  ##### Returns:

  Type
    *

#### getReadonly() → {Boolean}

  Получить значение флага readonly

  Source:
    - form/editors/base/MarionetteEditorPrototype.js, line 263

  ##### Returns:

  Type
    Boolean

#### getValue() → {*}

  Получить внутреннее значение эдитора.

  Source:
    - form/editors/base/MarionetteEditorPrototype.js, line 194

  ##### Returns:

  Type
    *

#### setEnabled(enabled)

  Установить новое значение флага enabled. В disabled состоянии эдитор невозможно редактировать, а также невозможно скопировать его текущее значение (считается, что для пользователя оно не имеет смысла).

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `enabled` | Boolean | Новое значение флага.

  Source:
    - form/editors/base/MarionetteEditorPrototype.js, line 216

#### setReadonly(readonly)

  Установить новое значение флага readonly. В readonly состоянии эдитор невозможно редактировать, но возможно выделить и скопировать его текущее значение в текстовом виде.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `readonly` | Boolean | Новое значение флага.

  Source:
    - form/editors/base/MarionetteEditorPrototype.js, line 226

#### setValue(value)

  Установить новое внутреннее значение эдитора.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `value` | * | Новое значение.

  Source:
    - form/editors/base/MarionetteEditorPrototype.js, line 202

#### updateValue()

  Ручное обновление значения эдитора значением this.model.get(this.key). Обычно вызывается автоматически по эвенту `'change'` модели.

  Source:
    - form/editors/base/MarionetteEditorPrototype.js, line 159

#### validate() → {Object|undefined}

  Check validity with built-in validator functions (initially passed into constructor options).

  Source:
    - form/editors/base/MarionetteEditorPrototype.js, line 320

  ##### Returns:

  В случае ошибки, возвращает объект `{ type, message }`.

  Type
    Object | undefined