Skip to content

Commit 61242ab

Browse files
neSpecckhaydarovgohaberegtalyguryn
authored
Release 2.0-beta (codex-team#387)
* update * Toolbar, Toolbox, UI (codex-team#239) * Toolbox making * Add Toolbox buttons click handler * Toolbar, Toolbox, UI * Updates * update css prefix * trying to write docs * append callback behaviour * update request * update * empty initial data * initial saver * some requested changes * update request * requested changes * upgrade saver * new improvements * update * Caret module: initial * improvements * moving caret initial * small improvements * last changes, added docs * requested changes * implement getters instead of functions in block cursors * last requested changes * caret module docs and last improvements * update docs * upgrade request * update docs * upd * todo on delays * Sanitizer docs * split func upd * split blocks update * up docs * Listeners Module: initial * listener module updates * split is ready * update * start to make merge * upd * split general upd split is ready * ups * keyboard module update * BlockManager removed keyboard handler * commit before merging rewriting2.0 * general upd split * Documentation upd * document + listener upd * upd doc * documentation upd * doc upd * listener upd * update algh extract fragm * upd extractRangeContent * upd dom.js * keyboard upd (shift + enter & enableLineBreaks) * upd enter pressed * keyboard.js upd * enter pressed upd * documenation added * documentation upd * Toolbar: settings zone added. (codex-team#252) * Toolbar: settings zone added. * update some comments * Making a Toolbar * delete block * dom improvements and merging blocks * merge and split improvements * fix merging * do not remove block if block contains media * optimize code * caret behaviour improved * up * up * merging blocks. Now plugins handles this cases * mergeable getter * save * up * dom getdeepestnode improvements * improve getDeepest node method one more time * upd * Deal with it * improve isAtStart * improve docs * use smart isAtStart and isAtEnt method in navigateNext/navigatePrevious * improve docs * fix bug in $.isEmpty, improve keydown * fix isAtEnd * rollback setCaret code duplication * improve backspace * Debug tree walker * fix tree walker * small caret fix * queue ordering * update bundle * improve first letter checkup * doc upd * update current block index setter * TypeScript support, Webpack 4, Inline Toolbar beginning (codex-team#257) * Create UI * Support TypeScript Modules * remove tmp files * migrate to 2-spaced tabs * Add TS Linter * Inline Toolbar moving (codex-team#258) * Inline Toolbar moving * simplify code * Check is need to show Inline Toolbar * remove duplicate from doc * fix doc * open/close IT * Close IT by clicks on Redactor * @GurYN going strange * default settings initial * add move up button to default tunes area * need to figure out with assets * Inline Toolbar Tools base example (codex-team#260) * Inline Toolbar Tools base example * texts fixed * imrpove texts * little fixes * save * tunes with interface * add tool settings * initial api methods * api is ready * started writing docs * Create svg sprite (codex-team#261) * API * requested changes * fix conflicts * add docs * doc fixes and interface improvements * update * API scopes improved * Deleting block: Initial * Delete block with confirmation * Event subscription&unsubscription * deletion trigger improvements * small improvements * Link Inline Tool (codex-team#264) * Link Inline Tool * api injected * text improved * Clear input on the reselection * little improvements * Delete tune fixes * UI: Block Settings, show Plus after Enter keydown (codex-team#265) * Some UI improvements: icons settigns * Show plus button after split * decrease autoprefixer * rename variable * Revert "Merge branch 'delete-tune-fixes' into rewriting-version2.0" * Delete Tune improvements * upd * upd comments * actualize API docs * Allow to connect external Inline Tools (codex-team#269) * Allow to connect external Inline Tools * unhardcode tool's api settings * Italic inline tool * update icon size * upgrade findParentTag function * add interface selection * fix cs * save marker * bundles * add todo * removing wrapper * update styles * market -> term * add comments * improve code * descrease margin * add text block to example * add line brakes * remove space * fix bugs * fix bug * umd as a library target * background -> background-color * Clear API (codex-team#274) * blockManager.clear * upd * api bez ebanoj knopki api * fix assignment * insert empty block with clear method * clear and render methods improved * open saver.save() * add comments * update comments * fix data returned by editor * rename plugin name field in data object (codex-team#276) * Text tool refactored (codex-team#277) Now it returns strict data format. * do not add block if tool is not exist (codex-team#278) * do not add block if tool is not exist * show warning * add todo * update warning message * put message into variable * Revert "put message into variable" * update comment * Module Keyboard rewrited to BlockEvents (codex-team#279) * Module Keydown rewrited to BlockEvents * move keyup and mouseup to the Block Events * Move-up tune (codex-team#268) * Move up tune initial * move up tune initial behaviour* moving up formula, docs and code cleaned * do not close the toolbar if moving block up* move nagivate methods to Caret Module* navigations returns boolean if caret is set * code improved * update comments * Eslint --fix for project files (codex-team#280) * Header plugin (codex-team#281) * header initial * fix styles * eslint fix * add appendCallback * add comments * update styles * add svgs * highlight settings buttons * do not show text plugin in the toolbar * remove svg * Fixing caret behaviour. (codex-team#282) Plugins can change their state so that affect on Block's pluginsContent property which is in memory. * remove useless code * fix merge * "MoveDown" tune (codex-team#283) * move down initial Swap current block with next block and scroll window screen * check if block is last added new method to the blocks API that returns blocks count * fix comments * animate tune * add animation when tune is disabled * requested changes * remove unused css * Fix merge function and rename Block's wrapper (codex-team#284) * Fix merge function and rename wrapper * update * renew condition * update * upd * Merging blocks: Restore caret position 🤟🤟💪 (codex-team#286) * Merging blocks: Restore caret position 🤟🤟💪 * requested changes * update removing shadow caret * hide toolbar and selection on typing (codex-team#289) * Editor Instance config Interface (codex-team#285) * create interface for editor config * use IEditorConfig * create some interfaces * add comments * editor interface * updates * update editor interface (codex-team#293) * При перемещении по стрелочкам убирать выделение блока (codex-team#296) * При перемещении по стрелочкам убирать выделение блока * Add comments * update comments * update comment * update toolbar design (codex-team#301) * Set caret at the end if clicked outsite the block (codex-team#305) * Set caret at last block or create new block at end * update comment * fix comments * Insert new Block when enter pressed on editor area (codex-team#307) * insert new block when enter pressed on editor zone * extra conditions. Enter must be handled on editors area * move at editor condition to the Selection method * closes can return null * fixing editor area * do not create new block * clean example * updates due to the requested changes * Add placeholder to contentEditable elements (codex-team#306) * add placeholder to contentEditable elements * store selection color in a variable * add placeholder to header block * Add placeholder to contenteditable only if attribute data-placeholder exists * remove tool config * Close toolbar after block is removed (codex-team#314) * makeSettings -> renderSettings (codex-team#315) * Term: new icon, new style. + margin between settings buttons (codex-team#316) * remove useless span wrapper * update linters * update styles * process click on svg by closest * remove commented code * rename function: svgIcon -> toolboxIcon * add toolboxIcon to docs * Paste (codex-team#259) * Paste module * Rewrite paste logic * Update due comments * Docs * Add all block elements * Sanitize content on paste * Remove logs and add header handler * Add comment to dom.js * Add comment to tools.js * Split block if paste not at the end * Update docs * Update docs * Take Tool name from config * Update docs * Label onPaste handler as private * Resolve conflict * Replace current block if it is empty (codex-team#320) * Improve Header line-height (codex-team#321) * Fix typo (codex-team#324) * CodeX Editor 2.0 * Module Shortcuts (codex-team#317) * import shortcuts * node modules works * enable shortcut for inline tools * check shortcut existance * enable shortcuts to Block tools * set caret to block if block replaced * enable shortcuts on inline-tools * improve code * last changes * update * fix * insert returns block so we can set caret * use Map instead own structure * disable shortcut if iniline-toolbar disabled * update code styles * remove todo * upd * update * remove settings from insert function * create interface * code improvements * use const instead of let * upd * Simple Image Tool (codex-team#326) * Simple Image * fix pattern * show tunes` state * update code * update code * upd * Fix toolbox appearance, tools boxed are clickable (codex-team#331) * Remove toolsConfig from Editor's config (codex-team#327) * fix linters * remove toolsConfig * update tool's interfaces * add comments * bundles * remove test headers * restore commented code * update tool's interface * toolConfig -> toolSetting * fix typos * update code comments * update installation doc * update docs * update dev dep packages (codex-team#333) * Check is paste handler a function only if it exists (codex-team#328) * Toolbar with tab (codex-team#330) * toolbar tabs initial * leaf initial * save state * flip back toolbox items * enter on toolbox item * update * requested changes * new condfition * update * improve animation on leaf * fix shift+tab flip * up * update * updates * Consecutive blank lines are forbidden * Correct choosing next toolbox item * update * update comment * Validate editor's config before initing (codex-team#341) * validate editor's config before initing * update readme * @ * update comments * add function _.isClass * Styles API (codex-team#343) * StylesAPI * use styles api in plugins * add inline styles * List Tool [new] (codex-team#344) * list tool initial * list class with settings * make tool reactive * final List improvements * reorder * tmp update * unhadrcode enter handler * updates * enableLineBreaks also checks * skip empty items * select LI by CMD+A, fix backspace in the last item * improve check for emptiness * Example page improved (codex-team#347) * Update new example * imrpove example.html * updates * improve code * Header plugin (codex-team#348) * isFunction function * use header from cdn * Improve paste behaviour (codex-team#346) * Improve paste behaviour * Done * Don't pass empty items * Update comment * move public up * Remove disallow paste option * Quote Tool (codex-team#329) * Quote Tool * Add icon * Upd * fix ENTER on quote * Remove useless code * items -> blocks (codex-team#351) * use SimpleImage from cdn (codex-team#355) * use simpleimage from cdn * add comments * fix spaces * fix comments * remove comments * update simple-image script * Update text on the example.html (codex-team#356) * use Paragraph Tool from CDN (codex-team#357) * use Paragraph Tool from CDN * add line brakes * rename block: paragraph -> text * Remove _callbacks.js (codex-team#358) * Clear unused files (codex-team#359) * TOOLBAR_ICON_CLASS -> TOOLBAR_ICON (codex-team#360) * TOOLBAR_ICON_CLASS -> TOOLBAR_ICON * remove defaultConfig * Delimiter tool (codex-team#362) * Delimiter added * ашч * use delimiter from cdn * Enter on editor (codex-team#363) * Enterpress on editor * use additional property * check enter on body * update * fix toolbar behaviour * upd * update bundle * remove useless ui property * update comment * add Element.prepend() function (codex-team#365) * add Element.prepend() function * allow to pass element of array to prepend() polyfill * use List Tool from cdn (codex-team#366) * use List Tool from cdn * add missing </div> in example.html * Pass "config" from Tool's settings to Tool's constructor (codex-team#367) * pass config from Tool's settings to Tool's constructor * reorder elements * add apiSettings.CONFIG property * use string as a object's key 😔 (codex-team#368) * update placeholder's styles (codex-team#369) * Add shortcuts for internal tools (codex-team#370) * Add shortcuts for internal tools * upd doc * remove articles * ☹️ guryn asked * use quote from cdn (codex-team#371) * Add cache to the inline tools (codex-team#372) * use Inline Code Tool from cdn (codex-team#375) * Issue 354 inline tools filter (codex-team#376) * Allow to filter inline tools. * update example * update header * fix endless cycle (codex-team#378) * Destructured options for Inline Tools (codex-team#379) * add destructured options for inline-tools * temporary disable inlineCode * remove term sources * Fix toolbar moving after arrow navigation (codex-team#380) * Fix toolbar moving after arrow navigation * move before open * fix error on Enter after block removing * add example Tools as submodules (codex-team#381) * add destructured options for inline-tools * temporary disable inlineCode * remove term sources * add inline code Tool as a submodule * update version of inline-code package * add Tools as submodules * update Tools and use destructured params object * Add constructor() docs * update package Paragraph Tool * update installation docs * Input navigation (codex-team#339) * Quote Tool * Add icon * Upd * Initial setup * Save changes * Add scroll and fix input focus * Add comments * Rebuild bundle * fix ENTER on quote * Fix split behaviour * Fix * Navigate only to contentful blocks * add comments * Fix backspace on last block * Remove log * It works * Resolve comments * Use constants * New readme 🦅 (codex-team#386) * New readme 🦅 * upd text * Issue 374 (codex-team#385) * Fix issue codex-team#374 * Set current block index to -1 if there is no blocks left * Insert new block if first one was removed by default * Paragraph as a default Tool in editor; Zero-conf (codex-team#389) * git commit -m "Removed submodule Paragraph" * add paragraph to core + zero-config * update bundle * update comment * remove log * enable minifying (codex-team#390) * Drop current block index only if there is no selection at the Editor (codex-team#388) * Drop current block index only if there is no selection at the Editor * Set current node if click ended out of editor * Small backspace behaviour improvement (codex-team#391) * Small backspace behaviour improvement * fix caret position * update from base branch * Update webpack config * Migrate to Yarn (codex-team#393) * Migrate to yarn * Update scripts * Rewrite helpers classes to TypeScript (codex-team#396) * Add docs and isReady promise (codex-team#394) * set default holderId value (codex-team#404) * Destroyer (codex-team#392) * Initial destroy method * Add destroy method to api docs * Export isReady promise in CodexEditor constructor 👨‍🎓 Co-authored-by: Murod Khaydarov <[email protected]> Co-authored-by: George Berezhnoy <[email protected]> Co-authored-by: Taly <[email protected]>
1 parent dd83578 commit 61242ab

File tree

179 files changed

+18557
-16018
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

179 files changed

+18557
-16018
lines changed

.editorconfig

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
root = false
2+
3+
[*]
4+
charset = utf-8
5+
indent_style = space
6+
indent_size = 2
7+
end_of_line = lf
8+
insert_final_newline = true
9+
trim_trailing_whitespace = true

.eslintrc

+19-8
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
{
22
/** Enable ES6 features */
33
"parserOptions": {
4-
"ecmaVersion": 6,
4+
"ecmaVersion": 2017,
5+
"sourceType": "module"
56
},
67
"rules": {
78

@@ -18,15 +19,18 @@
1819
"no-shadow": 2,
1920
"no-undef-init": 2,
2021
"no-undef": 2,
21-
"no-unused-vars": 1,
22+
"no-unused-vars": 0,
2223

2324
/** Style */
2425
"array-bracket-spacing": [2, "never", {
2526
"singleValue": true,
2627
"objectsInArrays": true,
2728
"arraysInArrays": true
2829
}],
29-
"quotes": [2, "single", "avoid-escape"],
30+
"quotes": [2, "single", {
31+
"avoidEscape": true,
32+
"allowTemplateLiterals": true
33+
}],
3034
"eqeqeq": 0,
3135
"brace-style": [2, "1tbs"],
3236
"comma-spacing": [2, {
@@ -38,7 +42,7 @@
3842
"no-nested-ternary": 1,
3943
"no-trailing-spaces": 2,
4044
"no-mixed-spaces-and-tabs": 2,
41-
"padded-blocks": [2, "always"],
45+
"padded-blocks": [2, "never"],
4246
"space-before-blocks": 1,
4347
"space-before-function-paren": [1, {
4448
"anonymous": "always",
@@ -49,7 +53,7 @@
4953
"markers": ["=", "!"]
5054
}],
5155
"semi": [2, "always"],
52-
"indent": [2, 4, {
56+
"indent": [2, 2, {
5357
"SwitchCase": 1
5458
}],
5559
"camelcase": [2, {
@@ -71,7 +75,14 @@
7175
"FormData": true,
7276
"XMLHttpRequest": true,
7377
"ActiveXObject": true,
74-
"RegExp": true
75-
78+
"RegExp": true,
79+
"Module": true,
80+
"Node": true,
81+
"Element": true,
82+
"Proxy": true,
83+
"Symbol": true,
84+
"$": true,
85+
"_": true,
86+
"setTimeout": true
7687
}
77-
}
88+
}

.gitignore

+1-3
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,5 @@ Thumbs.db
66
/*.sublime-workspace
77

88
node_modules/*
9-
/server/
10-
/uploads/
119

12-
plugins/personality/
10+
npm-debug.log

.gitmodules

+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
[submodule "example/tools/inline-code"]
2+
path = example/tools/inline-code
3+
url = https://github.com/codex-editor/inline-code
4+
[submodule "example/tools/header"]
5+
path = example/tools/header
6+
url = https://github.com/codex-editor/header
7+
[submodule "example/tools/delimiter"]
8+
path = example/tools/delimiter
9+
url = https://github.com/codex-editor/delimiter
10+
[submodule "example/tools/list"]
11+
path = example/tools/list
12+
url = https://github.com/codex-editor/list
13+
[submodule "example/tools/quote"]
14+
path = example/tools/quote
15+
url = https://github.com/codex-editor/quote
16+
[submodule "example/tools/simple-image"]
17+
path = example/tools/simple-image
18+
url = https://github.com/codex-editor/simple-image
19+
[submodule "src/components/tools/paragraph"]
20+
path = src/components/tools/paragraph
21+
url = https://github.com/codex-editor/paragraph

.jshintrc

+7-3
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,15 @@
1212

1313
// Define globals exposed by CodeX Team
1414
"predef": [
15-
"codex"
15+
"codex",
16+
"_",
17+
"$",
18+
"editorModules",
19+
"Module"
1620
],
1721

1822
// Allow ES6.
19-
"esversion": 6,
23+
"esversion": 2017,
2024

2125
/*
2226
* ENFORCING OPTIONS
@@ -61,4 +65,4 @@
6165

6266
// Suppress warnings about == null comparisons.
6367
"eqnull": true
64-
}
68+
}

.postcssrc

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
plugins:
2+
postcss-smart-import: {}
3+
postcss-custom-properties: {}
4+
postcss-apply: {}
5+
postcss-custom-media: {}
6+
postcss-media-minmax: {}
7+
postcss-custom-selectors: {}
8+
postcss-nested-ancestors: {}
9+
postcss-nesting: {}
10+
postcss-nested: {}
11+
postcss-color-mod-function: {}
12+
postcss-color-hex-alpha: {}
13+
postcss-font-variant: {}
14+
postcss-font-family-system-ui: {}
15+
autoprefixer:
16+
browsers: ['last 2 versions', '> 1%']

.stylelintrc

+69-42
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,17 @@
11
{
22
"rules": {
3-
"at-rule-empty-line-before": [ "always", {
4-
except: [
5-
"blockless-after-same-name-blockless",
6-
"first-nested",
7-
],
8-
ignore: ["after-comment"],
9-
} ],
3+
"at-rule-empty-line-before": [
4+
"always",
5+
{
6+
except: [
7+
"blockless-after-same-name-blockless",
8+
"first-nested",
9+
],
10+
ignore: [
11+
"after-comment"
12+
],
13+
}
14+
],
1015
"at-rule-name-case": "lower",
1116
"at-rule-name-space-after": "always-single-line",
1217
"at-rule-semicolon-newline-after": "always",
@@ -21,27 +26,42 @@
2126
"color-hex-case": "lower",
2227
"color-hex-length": "short",
2328
"color-no-invalid-hex": true,
24-
"comment-empty-line-before": [ "always", {
25-
except: ["first-nested"],
26-
ignore: ["stylelint-commands"],
27-
} ],
29+
"comment-empty-line-before": [
30+
"always",
31+
{
32+
except: [
33+
"first-nested"
34+
],
35+
ignore: [
36+
"stylelint-commands"
37+
],
38+
}
39+
],
2840
"comment-no-empty": true,
2941
"comment-whitespace-inside": "always",
30-
"custom-property-empty-line-before": [ "always", {
31-
except: [
32-
"after-custom-property",
33-
"first-nested",
34-
],
35-
ignore: [
36-
"after-comment",
37-
"inside-single-line-block",
38-
],
39-
} ],
42+
"custom-property-empty-line-before": [
43+
"always",
44+
{
45+
except: [
46+
"after-custom-property",
47+
"first-nested",
48+
],
49+
ignore: [
50+
"after-comment",
51+
"inside-single-line-block",
52+
],
53+
}
54+
],
4055
"declaration-bang-space-after": "never",
4156
"declaration-bang-space-before": "always",
42-
"declaration-block-no-duplicate-properties": [ true, {
43-
ignore: ["consecutive-duplicates-with-different-values"],
44-
} ],
57+
"declaration-block-no-duplicate-properties": [
58+
true,
59+
{
60+
ignore: [
61+
"consecutive-duplicates-with-different-values"
62+
],
63+
}
64+
],
4565
"declaration-block-no-redundant-longhand-properties": true,
4666
"declaration-block-no-shorthand-property-overrides": true,
4767
"declaration-block-semicolon-newline-after": "always-multi-line",
@@ -52,16 +72,19 @@
5272
"declaration-colon-newline-after": "always-multi-line",
5373
"declaration-colon-space-after": "always-single-line",
5474
"declaration-colon-space-before": "never",
55-
"declaration-empty-line-before": [ "always", {
56-
except: [
57-
"after-declaration",
58-
"first-nested",
59-
],
60-
ignore: [
61-
"after-comment",
62-
"inside-single-line-block",
63-
],
64-
} ],
75+
"declaration-empty-line-before": [
76+
"always",
77+
{
78+
except: [
79+
"after-declaration",
80+
"first-nested",
81+
],
82+
ignore: [
83+
"after-comment",
84+
"inside-single-line-block",
85+
],
86+
}
87+
],
6588
"font-family-no-duplicate-names": true,
6689
"function-calc-no-unspaced-operator": true,
6790
"function-comma-newline-after": "always-multi-line",
@@ -96,13 +119,17 @@
96119
"number-no-trailing-zeros": true,
97120
"property-case": "lower",
98121
"property-no-unknown": true,
99-
"rule-nested-empty-line-before": [ "always-multi-line", {
100-
except: ["first-nested"],
101-
ignore: ["after-comment"],
102-
} ],
103-
"rule-non-nested-empty-line-before": [ "always-multi-line", {
104-
ignore: ["after-comment"],
105-
} ],
122+
"rule-empty-line-before": [
123+
"always-multi-line",
124+
{
125+
except: [
126+
"first-nested"
127+
],
128+
ignore: [
129+
"after-comment"
130+
],
131+
}
132+
],
106133
"selector-attribute-brackets-space-inside": "never",
107134
"selector-attribute-operator-space-after": "never",
108135
"selector-attribute-operator-space-before": "never",
@@ -129,4 +156,4 @@
129156
"value-list-comma-space-before": "never",
130157
"value-list-max-empty-lines": 0,
131158
},
132-
}
159+
}

0 commit comments

Comments
 (0)