diff --git a/shared/naturalcrit/codeEditor/helpers/widget-elements/constants.js b/shared/naturalcrit/codeEditor/helpers/widget-elements/constants.js index faa02bb5a..9ecf63463 100644 --- a/shared/naturalcrit/codeEditor/helpers/widget-elements/constants.js +++ b/shared/naturalcrit/codeEditor/helpers/widget-elements/constants.js @@ -6,9 +6,9 @@ export const HINT_TYPE = { }; export const SNIPPET_TYPE = { - DEFAULT : 0, - INLINE_SNIPPET : 1, - IMAGE : 2, + BLOCK : 0, + INLINE : 1, + INJECTOR : 2, }; export const FIELD_TYPE = { @@ -18,9 +18,9 @@ export const FIELD_TYPE = { export const PATTERNS = { snippet : { - [SNIPPET_TYPE.DEFAULT] : (name)=>new RegExp(`^{{${name}(?:[^a-zA-Z].*)?`), - [SNIPPET_TYPE.INLINE_SNIPPET] : (name)=>new RegExp(`{{${name}`), - [SNIPPET_TYPE.IMAGE] : ()=>new RegExp(`^\\!\\[(?:[a-zA-Z -]+)?\\]\\(.*\\).*{[a-zA-Z0-9:, "'-]+}$`), + [SNIPPET_TYPE.BLOCK] : (name)=>new RegExp(`^{{${name}(?:[^a-zA-Z].*)?`), + [SNIPPET_TYPE.INLINE] : (name)=>new RegExp(`{{${name}`), + [SNIPPET_TYPE.INJECTOR] : ()=>new RegExp(`^\\!\\[(?:[a-zA-Z -]+)?\\]\\(.*\\).*{[a-zA-Z0-9:, "'-]+}$`), }, field : { [FIELD_TYPE.TEXT] : (name)=>new RegExp(`[{,;](${name}):("[^},;"]*"|[^},;]*)`), diff --git a/shared/naturalcrit/codeEditor/helpers/widget-elements/index.js b/shared/naturalcrit/codeEditor/helpers/widget-elements/index.js index 260150a4e..8fbc04aa2 100644 --- a/shared/naturalcrit/codeEditor/helpers/widget-elements/index.js +++ b/shared/naturalcrit/codeEditor/helpers/widget-elements/index.js @@ -1,7 +1,7 @@ -const Field = require('./field/field.jsx'); +const Text = require('./text/text.jsx'); const Checkbox = require('./checkbox/checkbox.jsx'); module.exports = { - Field : Field, + Text : Text, Checkbox : Checkbox, }; diff --git a/shared/naturalcrit/codeEditor/helpers/widget-elements/field/field.jsx b/shared/naturalcrit/codeEditor/helpers/widget-elements/text/text.jsx similarity index 98% rename from shared/naturalcrit/codeEditor/helpers/widget-elements/field/field.jsx rename to shared/naturalcrit/codeEditor/helpers/widget-elements/text/text.jsx index 2f2e8be01..db2b3d4b6 100644 --- a/shared/naturalcrit/codeEditor/helpers/widget-elements/field/field.jsx +++ b/shared/naturalcrit/codeEditor/helpers/widget-elements/text/text.jsx @@ -1,4 +1,4 @@ -require('./field.less'); +require('./text.less'); const React = require('react'); const createClass = require('create-react-class'); const _ = require('lodash'); @@ -10,7 +10,7 @@ const STYLE_FN = (value)=>({ width : `calc(${value?.length ?? 0}ch + ${value?.length ? `${DEFAULT_WIDTH} / 2` : DEFAULT_WIDTH})` }); -const Field = createClass({ +const Text = createClass({ fieldRef : {}, getDefaultProps : function() { @@ -157,4 +157,4 @@ const Field = createClass({ } }); -module.exports = Field; \ No newline at end of file +module.exports = Text; \ No newline at end of file diff --git a/shared/naturalcrit/codeEditor/helpers/widget-elements/field/field.less b/shared/naturalcrit/codeEditor/helpers/widget-elements/text/text.less similarity index 100% rename from shared/naturalcrit/codeEditor/helpers/widget-elements/field/field.less rename to shared/naturalcrit/codeEditor/helpers/widget-elements/text/text.less diff --git a/shared/naturalcrit/codeEditor/helpers/widgets.js b/shared/naturalcrit/codeEditor/helpers/widgets.js index 7585c6d61..95e61d556 100644 --- a/shared/naturalcrit/codeEditor/helpers/widgets.js +++ b/shared/naturalcrit/codeEditor/helpers/widgets.js @@ -2,7 +2,7 @@ const React = require('react'); const ReactDOM = require('react-dom'); const { PATTERNS, FIELD_TYPE, HINT_TYPE, UNITS } = require('./widget-elements/constants'); require('./widget-elements/hints/hints.jsx'); -const { Field, Checkbox } = require('./widget-elements'); +const { Text, Checkbox } = require('./widget-elements'); // See https://codemirror.net/5/addon/hint/css-hint.js for code reference const pseudoClasses = { 'active' : 1, 'after' : 1, 'before' : 1, 'checked' : 1, 'default' : 1, @@ -87,7 +87,7 @@ module.exports = function(CodeMirror, widgets, cm, setHints) { if(field.type === FIELD_TYPE.CHECKBOX) { return ; } else if(field.type === FIELD_TYPE.TEXT) { - return setHints(h, f)} getStyleHints={getStyleHints}/>; + return setHints(h, f)} getStyleHints={getStyleHints}/>; } else { return null; } @@ -101,7 +101,7 @@ module.exports = function(CodeMirror, widgets, cm, setHints) { increment : 5, hints : true, }; - return setHints(h, f)} getStyleHints={getStyleHints}/>; + return setHints(h, f)} getStyleHints={getStyleHints}/>; }).filter(Boolean); ReactDOM.render( diff --git a/themes/V3/5ePHB/widgets.js b/themes/V3/5ePHB/widgets.js index bf9fa99f3..9513d0000 100644 --- a/themes/V3/5ePHB/widgets.js +++ b/themes/V3/5ePHB/widgets.js @@ -2,7 +2,7 @@ const { SNIPPET_TYPE, FIELD_TYPE } = require('../../../shared/naturalcrit/codeEd module.exports = [{ name : 'monster', - type : SNIPPET_TYPE.DEFAULT, + type : SNIPPET_TYPE.BLOCK, fields : [{ name : 'frame', type : FIELD_TYPE.CHECKBOX @@ -12,7 +12,7 @@ module.exports = [{ }] }, { name : 'classTable', - type : SNIPPET_TYPE.DEFAULT, + type : SNIPPET_TYPE.BLOCK, fields : [{ name : 'frame', type : FIELD_TYPE.CHECKBOX @@ -25,11 +25,11 @@ module.exports = [{ }] }, { name : 'image', - type : SNIPPET_TYPE.IMAGE, + type : SNIPPET_TYPE.INJECTOR, fields : [] }, { name : 'artist', - type : SNIPPET_TYPE.DEFAULT, + type : SNIPPET_TYPE.BLOCK, fields : [{ name : 'top', type : FIELD_TYPE.TEXT,