From 29e89cad2449b894975de83d2106a196ae78e9f6 Mon Sep 17 00:00:00 2001 From: dnoneill Date: Mon, 26 Jul 2021 16:12:03 -0400 Subject: [PATCH 01/13] Update PurposeSelect.jsx --- src/editor/widgets/comment/PurposeSelect.jsx | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/editor/widgets/comment/PurposeSelect.jsx b/src/editor/widgets/comment/PurposeSelect.jsx index ab13a19..754ca02 100644 --- a/src/editor/widgets/comment/PurposeSelect.jsx +++ b/src/editor/widgets/comment/PurposeSelect.jsx @@ -13,7 +13,8 @@ export const PURPOSES = [ {'value': 'linking', 'label': 'Linking'}, {'value': 'moderating', 'label': 'Moderating'}, {'value': 'questioning', 'label': 'Questioning'}, - {'value': 'replying', 'label': 'Replying'} + {'value': 'replying', 'label': 'Replying'}, + {'value': 'supplementing', 'label': 'Transcription'} ] const PurposeSelect = props => { @@ -34,4 +35,4 @@ const PurposeSelect = props => { } -export default PurposeSelect; \ No newline at end of file +export default PurposeSelect; From 0ce5237f5f10fb07534069e9b8d28688c27b069a Mon Sep 17 00:00:00 2001 From: Rainer Simon Date: Sun, 1 Aug 2021 10:42:19 +0200 Subject: [PATCH 02/13] Marking i18n as not side-effect-free --- package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/package.json b/package.json index ed86513..8adac3b 100644 --- a/package.json +++ b/package.json @@ -3,6 +3,7 @@ "version": "1.3.5", "description": "Core functions, classes and components for RecogitoJS", "main": "src/index.js", + "sideEffects": ["*.json"], "scripts": { "test": "NODE_ENV=test ./node_modules/.bin/mocha --require @babel/register" }, From 1876f89c8920dbeb32267c85440b1752ec7a84e6 Mon Sep 17 00:00:00 2001 From: Rainer Simon Date: Sun, 1 Aug 2021 11:42:26 +0200 Subject: [PATCH 03/13] Adding override option to widget config --- src/editor/widgets/index.jsx | 28 +++++++++++++++++++--------- 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/src/editor/widgets/index.jsx b/src/editor/widgets/index.jsx index d528f1b..ffa8508 100644 --- a/src/editor/widgets/index.jsx +++ b/src/editor/widgets/index.jsx @@ -59,22 +59,32 @@ const isReactComponent = component => { */ export const getWidget = arg => { - const instantiate = (widget, config) => { + const instantiate = (widget, config, type) => { + // Check if user forced explicit type if (typeof widget === 'string' || widget instanceof String) { + // Built-in return React.createElement(BUILTIN_WIDGETS[widget], config); - } else if (isReactComponent(widget)) { - return React.createElement(widget, config); - } else if (typeof widget === 'function' || widget instanceof Function) { - return - } else { - throw `${widget} is not a valid plugin` + } else { + // Plugin + if (type?.toLowerCase() === 'react') { + return React.createElement(widget, config); + } else { + // Auto-detect + if (isReactComponent(widget)) { + return React.createElement(widget, config); + } else if (typeof widget === 'function' || widget instanceof Function) { + return + } else { + throw `${widget} is not a valid plugin` + } + } } } // First, check 'top-level' vs. 'nested object' case if (arg.widget) { - const { widget, ...config } = arg; - return instantiate(widget, config); + const { widget, type, ...config } = arg; + return instantiate(widget, config, type); } else { // No object with args -> instantiate arg directly return instantiate(arg); From 5bca64a03a10c9d749d834d36a3943304ec700b9 Mon Sep 17 00:00:00 2001 From: Rainer Simon Date: Sun, 1 Aug 2021 12:01:36 +0200 Subject: [PATCH 04/13] Renamed widget type option --- src/editor/widgets/index.jsx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/editor/widgets/index.jsx b/src/editor/widgets/index.jsx index ffa8508..3a6fb6f 100644 --- a/src/editor/widgets/index.jsx +++ b/src/editor/widgets/index.jsx @@ -59,14 +59,14 @@ const isReactComponent = component => { */ export const getWidget = arg => { - const instantiate = (widget, config, type) => { + const instantiate = (widget, config, force) => { // Check if user forced explicit type if (typeof widget === 'string' || widget instanceof String) { // Built-in return React.createElement(BUILTIN_WIDGETS[widget], config); } else { // Plugin - if (type?.toLowerCase() === 'react') { + if (force?.toLowerCase() === 'react') { return React.createElement(widget, config); } else { // Auto-detect @@ -83,8 +83,8 @@ export const getWidget = arg => { // First, check 'top-level' vs. 'nested object' case if (arg.widget) { - const { widget, type, ...config } = arg; - return instantiate(widget, config, type); + const { widget, force, ...config } = arg; + return instantiate(widget, config, force); } else { // No object with args -> instantiate arg directly return instantiate(arg); From dc6eefdd6eb997fc832d677c47d2943d5ca55488 Mon Sep 17 00:00:00 2001 From: Rainer Simon Date: Sun, 1 Aug 2021 12:02:13 +0200 Subject: [PATCH 05/13] Bumped version --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 15cdac1..eb94271 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@recogito/recogito-client-core", - "version": "1.3.5", + "version": "1.4.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@recogito/recogito-client-core", - "version": "1.3.5", + "version": "1.4.0", "license": "BSD-3-Clause", "dependencies": { "@babel/polyfill": "^7.10.4", diff --git a/package.json b/package.json index 8adac3b..f57a5c8 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@recogito/recogito-client-core", - "version": "1.3.5", + "version": "1.4.0", "description": "Core functions, classes and components for RecogitoJS", "main": "src/index.js", "sideEffects": ["*.json"], From 4ab5835fa30cbe360330767d60984eafd0a5b4cf Mon Sep 17 00:00:00 2001 From: Rainer Simon Date: Sun, 1 Aug 2021 12:02:46 +0200 Subject: [PATCH 06/13] Bumped version --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index eb94271..1d76d28 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@recogito/recogito-client-core", - "version": "1.4.0", + "version": "1.4.1", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@recogito/recogito-client-core", - "version": "1.4.0", + "version": "1.4.1", "license": "BSD-3-Clause", "dependencies": { "@babel/polyfill": "^7.10.4", diff --git a/package.json b/package.json index f57a5c8..9c6c991 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@recogito/recogito-client-core", - "version": "1.4.0", + "version": "1.4.1", "description": "Core functions, classes and components for RecogitoJS", "main": "src/index.js", "sideEffects": ["*.json"], From 1ca0a99f432b8343a10d8160487bb38de895cb54 Mon Sep 17 00:00:00 2001 From: Rainer Simon Date: Sun, 1 Aug 2021 15:18:01 +0200 Subject: [PATCH 07/13] Build config fix --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 9c6c991..7d2c53f 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,7 @@ "version": "1.4.1", "description": "Core functions, classes and components for RecogitoJS", "main": "src/index.js", - "sideEffects": ["*.json"], + "sideEffects": ["*.json", "themes/default/*"], "scripts": { "test": "NODE_ENV=test ./node_modules/.bin/mocha --require @babel/register" }, From 614f1e650f91a78df4a877fde736ca2be1d72571 Mon Sep 17 00:00:00 2001 From: Rainer Simon Date: Sun, 1 Aug 2021 15:32:09 +0200 Subject: [PATCH 08/13] Build config tweaks --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 7d2c53f..de4c3a4 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,7 @@ "version": "1.4.1", "description": "Core functions, classes and components for RecogitoJS", "main": "src/index.js", - "sideEffects": ["*.json", "themes/default/*"], + "sideEffects": ["**.json", "themes/default/*"], "scripts": { "test": "NODE_ENV=test ./node_modules/.bin/mocha --require @babel/register" }, From fe0683ec1324c2e711d050821f28caed9083c3db Mon Sep 17 00:00:00 2001 From: Rainer Simon Date: Sun, 1 Aug 2021 15:33:19 +0200 Subject: [PATCH 09/13] Bumped version --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 1d76d28..75465f1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@recogito/recogito-client-core", - "version": "1.4.1", + "version": "1.4.2", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@recogito/recogito-client-core", - "version": "1.4.1", + "version": "1.4.2", "license": "BSD-3-Clause", "dependencies": { "@babel/polyfill": "^7.10.4", diff --git a/package.json b/package.json index de4c3a4..254276f 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@recogito/recogito-client-core", - "version": "1.4.1", + "version": "1.4.2", "description": "Core functions, classes and components for RecogitoJS", "main": "src/index.js", "sideEffects": ["**.json", "themes/default/*"], From 9761a733a56cd6d930daa88f32dbf1be1b560d66 Mon Sep 17 00:00:00 2001 From: Rainer Simon Date: Sun, 1 Aug 2021 15:47:29 +0200 Subject: [PATCH 10/13] Eliminated dynamic imports for i18n --- package.json | 2 +- src/i18n/index.js | 32 +++++++++++++++++++++++++++++++- 2 files changed, 32 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 254276f..cac2edc 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,7 @@ "version": "1.4.2", "description": "Core functions, classes and components for RecogitoJS", "main": "src/index.js", - "sideEffects": ["**.json", "themes/default/*"], + "sideEffects": ["themes/default/*"], "scripts": { "test": "NODE_ENV=test ./node_modules/.bin/mocha --require @babel/register" }, diff --git a/src/i18n/index.js b/src/i18n/index.js index 14b4bfb..a50a60d 100644 --- a/src/i18n/index.js +++ b/src/i18n/index.js @@ -1,12 +1,42 @@ import Polyglot from 'node-polyglot'; import * as timeago from 'timeago.js'; +import messages_ar from './messages_ar.json'; +import messages_cs from './messages_cs.json'; +import messages_de from './messages_de.json'; +import messages_el from './messages_el.json'; +import messages_es from './messages_es.json'; +import messages_gl from './messages_gl.json'; +import messages_hi from './messages_hi.json'; +import messages_it from './messages_it.json'; +import messages_nl from './messages_nl.json'; +import messages_pt from './messages_pt.json'; +import messages_sv from './messages_sv.json'; +import messages_tr from './messages_tr.json'; +import messages_ur from './messages_ur.json'; + +const MESSAGES = { + ar: messages_ar, + cs: messages_cs, + de: messages_de, + el: messages_el, + es: messages_es, + gl: messages_gl, + hi: messages_hi, + it: messages_it, + nl: messages_nl, + pt: messages_pt, + sv: messages_sv, + tr: messages_tr, + ur: messages_ur +} + const i18n = new Polyglot({ allowMissing: true }); i18n.init = (lang, opt_messages) => { if (lang) { i18n.locale(lang); - i18n.extend(require(`./messages_${lang}.json`)); + i18n.extend(MESSAGES[lang]); } if (opt_messages) From d2cc5f0c18540412a9bb25aabd964a8ab24e126e Mon Sep 17 00:00:00 2001 From: Rainer Simon Date: Sun, 1 Aug 2021 15:48:49 +0200 Subject: [PATCH 11/13] Bumped version --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 75465f1..30e0e33 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@recogito/recogito-client-core", - "version": "1.4.2", + "version": "1.4.3", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@recogito/recogito-client-core", - "version": "1.4.2", + "version": "1.4.3", "license": "BSD-3-Clause", "dependencies": { "@babel/polyfill": "^7.10.4", diff --git a/package.json b/package.json index cac2edc..56e1eb1 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@recogito/recogito-client-core", - "version": "1.4.2", + "version": "1.4.3", "description": "Core functions, classes and components for RecogitoJS", "main": "src/index.js", "sideEffects": ["themes/default/*"], From 541720bf50a6e3389e7a82fe4aa505f0f606b2c0 Mon Sep 17 00:00:00 2001 From: Rainer Simon Date: Sun, 1 Aug 2021 18:51:25 +0200 Subject: [PATCH 12/13] Extended widget API 'force' option to React and PlainJS --- src/editor/widgets/index.jsx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/editor/widgets/index.jsx b/src/editor/widgets/index.jsx index 3a6fb6f..12bd001 100644 --- a/src/editor/widgets/index.jsx +++ b/src/editor/widgets/index.jsx @@ -68,6 +68,8 @@ export const getWidget = arg => { // Plugin if (force?.toLowerCase() === 'react') { return React.createElement(widget, config); + } else if (force?.toLowerCase() === 'plainjs') { + return } else { // Auto-detect if (isReactComponent(widget)) { From b5e331c90167193e8d6a0eda4f1643cbfdbce51a Mon Sep 17 00:00:00 2001 From: Rainer Simon Date: Sun, 1 Aug 2021 18:52:56 +0200 Subject: [PATCH 13/13] Bumped version --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 30e0e33..31ee6c5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@recogito/recogito-client-core", - "version": "1.4.3", + "version": "1.4.4", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@recogito/recogito-client-core", - "version": "1.4.3", + "version": "1.4.4", "license": "BSD-3-Clause", "dependencies": { "@babel/polyfill": "^7.10.4", diff --git a/package.json b/package.json index 56e1eb1..36f97c7 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@recogito/recogito-client-core", - "version": "1.4.3", + "version": "1.4.4", "description": "Core functions, classes and components for RecogitoJS", "main": "src/index.js", "sideEffects": ["themes/default/*"],