Skip to content
This repository was archived by the owner on Sep 17, 2024. It is now read-only.

Commit 51f3b23

Browse files
author
Steven Roulleau
committed
Merge pull request #4 in WS/webcomponents-web-integration-samples from custom/update-iink-js to master
* commit '9e7e414a750ce4edcf908c934fb523a01e0f3768': chore(web-samples): remove feat(batch-mode): use iink-js chore(deps): update all to iink-js@1.4.1
2 parents 67fbe0a + 9e7e414 commit 51f3b23

File tree

29 files changed

+13063
-676
lines changed

29 files changed

+13063
-676
lines changed

angular-integration-examples/package-lock.json

Lines changed: 6 additions & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

angular-integration-examples/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
"@angular/platform-browser": "~9.1.7",
2020
"@angular/platform-browser-dynamic": "~9.1.7",
2121
"@angular/router": "~9.1.7",
22-
"iink-js": "git+https://scm.corp.myscript.com/scm/ws/iink-js.git#1.4",
22+
"iink-js": "^1.4.1",
2323
"rxjs": "~6.5.4",
2424
"tslib": "^1.10.0",
2525
"zone.js": "~0.10.2"

batch-mode-explorer/package-lock.json

Lines changed: 12824 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

batch-mode-explorer/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
},
1010
"dependencies": {
1111
"element-ui": "^2.4.5",
12-
"myscript": "MyScript/MyScriptJS#rest-flows-improvement",
12+
"iink-js": "^1.4.1",
1313
"register-service-worker": "^1.5.2",
1414
"vue": "^2.5.17",
1515
"vue-burger-menu": "^1.0.8",
@@ -25,7 +25,7 @@
2525
"@vue/cli-plugin-eslint": "^3.0.1",
2626
"@vue/cli-plugin-pwa": "^3.0.3",
2727
"@vue/cli-service": "^3.0.1",
28-
"node-sass": "^4.9.2",
28+
"node-sass": "4.14.1",
2929
"sass-loader": "^7.0.3",
3030
"vue-cli-plugin-element": "^1.0.0",
3131
"vue-template-compiler": "^2.5.17"

batch-mode-explorer/src/components/InterpretationOptions.vue

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -257,7 +257,7 @@ export default {
257257
mimeFromMimeKey(mimeType) {
258258
return mimeTypesLabels[mimeType.key].mime;
259259
},
260-
convert() {
260+
async convert() {
261261
//FIXME Check at the end if this usage of $parent.$parent could not be avoided elegantly
262262
//this.$parent.$parent.$parent.$refs.vueEditor.getStrokeGroups()
263263
//const strokeGroups = this.$store.state.strokeGroups;
@@ -282,11 +282,12 @@ export default {
282282
283283
store.commit('resetExportResult');
284284
store.commit('updateInterpretationOptions', newInterpretationOptions);
285-
// eslint-disable-next-line
286-
recognizer.launchExportAndUpdateStore(this.$store.state.strokeGroups, this.partTypeOptionKey, this.requestedMimeTypes, newInterpretationOptions, this.$store);
285+
287286
this.$store.commit('switchToConvertingStatus');
288-
289287
EventBus.$emit('viewTabModificationRequested', 'interpretation');
288+
289+
await recognizer.launchExportAndUpdateStore(this.$store.state.strokeGroups, this.partTypeOptionKey, this.requestedMimeTypes, newInterpretationOptions, this.$store);
290+
290291
EventBus.$emit('requestedMimeTypesChanged', this.requestedMimeTypes);
291292
}
292293
}

batch-mode-explorer/src/components/VueEditor.vue

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
/* eslint-disable import/no-named-as-default-member,no-underscore-dangle,no-undef,no-console */
1010
1111
12-
import MyScript from 'myscript/dist/myscript.esm';
12+
import iink from 'iink-js/dist/iink.esm';
1313
import EventBus from '@/event-bus';
1414
import { attach, detach } from '@/utils/custom_grabber';
1515
@@ -112,7 +112,7 @@ export default {
112112
},
113113
},
114114
};
115-
this.editor = MyScript.register(
115+
this.editor = iink.register(
116116
this.$refs.editor,
117117
this.defaultConfiguration,
118118
undefined,
@@ -237,9 +237,6 @@ export default {
237237
};
238238
</script>
239239

240-
<style>
241-
@import '../../node_modules/myscript/dist/myscript.min.css';
242-
</style>
243240
<style scoped>
244241
.vueEditor {
245242
height: 100%;

batch-mode-explorer/src/utils/recognizer.js

Lines changed: 31 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
import MyScript from 'myscript/dist/myscript.esm';
1+
import iink from 'iink-js/dist/iink.esm';
22

33
// Creating a recognizer
4-
const iinkRecognizer = MyScript.DefaultBehaviors.recognizerList.filter(x => {
4+
const iinkRecognizer = iink.DefaultBehaviors.recognizerList.find(x => {
55
const infos = x.getInfo();
6-
return infos.apiVersion === 'V4' && infos.protocol === 'REST';
6+
return infos.protocol === 'REST';
77
});
88

99
const convertBlobToBase64 = (blob) => new Promise((resolve, reject) => {
@@ -16,19 +16,19 @@ const convertBlobToBase64 = (blob) => new Promise((resolve, reject) => {
1616
});
1717

1818

19-
export function launchExportAndUpdateStore(strokeGroups, type, mimeTypes, interpretationOptions, store) {
20-
launchExport(strokeGroups, type, mimeTypes, interpretationOptions, buildStoreCallback(store))
19+
export async function launchExportAndUpdateStore(strokeGroups, type, mimeTypes, interpretationOptions, store) {
20+
await launchExport(strokeGroups, type, mimeTypes, interpretationOptions, buildStoreCallback(store))
2121
}
2222

23-
export default function launchExport(strokeGroups, type, mimeTypes, interpretationOptions, recognitionCallback) {
23+
export default async function launchExport(strokeGroups, type, mimeTypes, interpretationOptions, recognitionCallback) {
2424
// Creating a empty model
25-
const model = MyScript.InkModel.createModel();
25+
const model = iink.InkModel.createModel();
2626
// Filling the model with the stroke groups
2727
model.strokeGroups = strokeGroups;
2828

2929
// Creating a recognizer context with the configuration attached
30-
const recognizerContext = MyScript.RecognizerContext.createEmptyRecognizerContext({
31-
configuration: MyScript.DefaultConfiguration
30+
const recognizerContext = iink.RecognizerContext.createEmptyRecognizerContext({
31+
configuration: iink.DefaultConfiguration
3232
});
3333

3434
const configuration = recognizerContext.editor.configuration;
@@ -43,33 +43,42 @@ export default function launchExport(strokeGroups, type, mimeTypes, interpretati
4343

4444
configuration.recognitionParams.type = type;
4545
configuration.recognitionParams.protocol = 'REST';
46-
configuration.recognitionParams.v4.lang = interpretationOptions.lang;
46+
configuration.recognitionParams.iink.lang = interpretationOptions.lang;
4747
configuration.recognitionParams.server = {
4848
scheme: 'https',
4949
host: 'webdemoapi.myscript.com',
5050
applicationKey: '515131ab-35fa-411c-bb4d-3917e00faf60',
5151
hmacKey: '54b2ca8a-6752-469d-87dd-553bb450e9ad'
5252
};
53-
configuration.recognitionParams.v4.export.jiix['bounding-box'] = interpretationOptions.jiixWithBoudingBox;
54-
configuration.recognitionParams.v4.export.jiix.strokes = interpretationOptions.jiixWithStrokes;
55-
configuration.recognitionParams.v4.export.jiix.text.chars = interpretationOptions.jiixWithChars;
56-
configuration.recognitionParams.v4.export.jiix.text.words = interpretationOptions.jiixWithWords;
57-
configuration.recognitionParams.v4['raw-content'].recognition.text = interpretationOptions.textRecoOn;
58-
configuration.recognitionParams.v4['raw-content'].recognition.shape = interpretationOptions.shapeRecoOn;
53+
configuration.recognitionParams.iink.export.jiix['bounding-box'] = interpretationOptions.jiixWithBoudingBox;
54+
configuration.recognitionParams.iink.export.jiix.strokes = interpretationOptions.jiixWithStrokes;
55+
configuration.recognitionParams.iink.export.jiix.text.chars = interpretationOptions.jiixWithChars;
56+
configuration.recognitionParams.iink.export.jiix.text.words = interpretationOptions.jiixWithWords;
57+
configuration.recognitionParams.iink['raw-content'].recognition.text = interpretationOptions.textRecoOn;
58+
configuration.recognitionParams.iink['raw-content'].recognition.shape = interpretationOptions.shapeRecoOn;
5959

6060

6161
// Assigning a theme to the document
6262
// FIXME The theme should not be attached to the recognizer context
6363
if(interpretationOptions.styleshet){
6464
recognizerContext.editor.theme = interpretationOptions.styleshet;
6565
}else{
66-
recognizerContext.editor.theme = MyScript.DefaultTheme;
66+
recognizerContext.editor.theme = iink.DefaultTheme;
6767
}
6868

6969

7070

7171
// Triggering the recognition
72-
iinkRecognizer[0].export_(recognizerContext, model, recognitionCallback, mimeTypes);
72+
try {
73+
const values = await iinkRecognizer.export_(recognizerContext, model, mimeTypes)
74+
if (values) {
75+
values.forEach((value) => {
76+
recognitionCallback(undefined, value);
77+
})
78+
}
79+
} catch (error) {
80+
recognitionCallback(error, undefined)
81+
}
7382
}
7483

7584
function buildStoreCallback(store){
@@ -94,10 +103,10 @@ function buildStoreCallback(store){
94103
exportValue: exp
95104
}))
96105
} else {
97-
store.commit('persistExportResult', {
98-
type: mimeType,
99-
exportValue: exportValue
100-
})
106+
store.commit('persistExportResult', {
107+
type: mimeType,
108+
exportValue: exportValue
109+
})
101110
}
102111
})
103112
}

0 commit comments

Comments
 (0)