Commit graph

11 commits

Author SHA1 Message Date
Murod Khaydarov
c7a5be88e2 requested changes 2017-12-29 03:08:16 +03:00
Murod Khaydarov
2e6b107bef moving caret initial 2017-12-29 01:28:54 +03:00
Murod Khaydarov
c2acc25825 Caret module: initial 2017-12-27 08:47:30 +03:00
Murod Khaydarov
75ba227495 update request 2017-12-26 20:02:37 +03:00
Murod Khaydarov
14b36c2fa0 Merge branch 'rewriting-version2.0' into renderer-improvements
# Conflicts:
#	build/codex-editor.js
#	build/codex-editor.js.map
#	src/codex.js
2017-12-24 23:05:59 +03:00
Peter Savchenko
c1afcf0205
Toolbar, Toolbox, UI (#239)
* Toolbox making

* Add Toolbox buttons click handler

* Toolbar, Toolbox, UI

* Updates

* update css prefix
2017-12-24 15:35:05 +03:00
Murod Khaydarov
50a582df4d Renderer improvements: Editor start methods must be passed alternately 2017-12-24 00:44:15 +03:00
Murod Khaydarov
7b1ddc944b add docs to the class methods and extend utils 2017-12-19 01:11:10 +03:00
Peter Savchenko
2df18b00b0
Module abstract (#226)
* Abstract Module class

Now all modules inherits from `Module` class. You don’t need more to
write

```js
constructor({ config }) {
        this.Editor = null;
        this.config = config;
}
```
and

```js
    /**
     * @param Editor
     * @param Editor.modules {@link CodexEditor#moduleInstances}
     * @param Editor.config {@link CodexEditor#configuration}
     */
    set state(Editor) {

        this.Editor = Editor;

    }
```

## Default exports improved

Now you don’t need more to write `.default` on module requiring

```js
let module = require(‘module’).default;
```

* Update docs
2017-12-11 13:24:46 +03:00
George Berezhnoy
dc9a20c62a Merge branch 'rewriting-version2.0' into renderer-initial 2017-12-04 12:09:34 +03:00
Peter Savchenko
5f670c3985
Autoloading improved, utilities now global (#225)
* Autoloading improved, utilities now global

# Autoloading

Webpack специально не дает использовать переменные в реквайрах типа:

let moduleName = 'toolbar.js';
let module = require(moduleName);

У нас в автолоадинге было так:

let modules = editorModules.map( module =>
require('./components/modules/' + module ));

и это работало, но не так как нужно. Он подключал не только нужные
модули из массива editorModules, а вообще все модули из папки
components/modules. Я заметил, что они попадают в сборку, хоть и не
указаны в реквайрах. Оказывается это так и задумано: Webpack на этапе
компиляции не знает что будет в переменной, то есть какой там будет
модуль. А ему нужно высчитать время компиляции, поэтому он вкладывет в
сброрку тупо все файлы из этой папки, и для каждого высчитывает время.
Так что по сути это было то же самое что просто написать
require('./components/modules/') и подключить все файлы.

Но наш автолоадер должен был подключать только указанные файлы, не
заходить в подпапки и не включать файлы, начинающиеся с подчеркивания.

Теперь автолоадинг работает так, как и задумывалось.

# Global visible modules

Теперь не нужно в каждом файле писать

import $ from '../dom';

и тд. Они автоматически будут доступны внутри модулей

* Update util.Dom

* Remove duplicated Babel helpers. Now it will be defined at once
2017-12-02 15:35:55 +03:00
Renamed from src/components/util.js (Browse further)