2020-03-07 19:38:01 +00:00
|
|
|
import {AnkiDroid} from 'react-native-ankidroid/dist/ankidroid';
|
2020-03-08 11:17:42 +00:00
|
|
|
import {setAnkiNoteCreator, setCreatorTemplate} from './anki-set-actions';
|
2020-03-28 07:41:34 +00:00
|
|
|
import sendDataToLocaleStorage, {getAnkiData} from './filesystem';
|
2020-03-25 13:02:48 +00:00
|
|
|
import setSettings, {
|
|
|
|
modelFields,
|
|
|
|
valueFields,
|
|
|
|
} from '../constants/anki-model-values';
|
2020-03-11 03:31:37 +00:00
|
|
|
import {
|
|
|
|
checkAnkiLanModelForExisting,
|
|
|
|
getFieldList,
|
2020-03-28 07:41:34 +00:00
|
|
|
getModelId,
|
2020-03-11 03:31:37 +00:00
|
|
|
getModelList,
|
|
|
|
} from './anki-get-actions';
|
2020-03-07 19:38:01 +00:00
|
|
|
|
2020-03-25 13:02:48 +00:00
|
|
|
import JSONfn from 'jsonfn';
|
|
|
|
import store from '../store';
|
2020-03-07 19:38:01 +00:00
|
|
|
export const createAnkiLanModel = model => async dispatch => {
|
2020-03-08 07:18:34 +00:00
|
|
|
try {
|
2020-03-25 13:02:48 +00:00
|
|
|
const settings = setSettings(model);
|
2020-03-08 07:18:34 +00:00
|
|
|
const selectedDeck = new AnkiDroid(settings);
|
2020-03-08 11:17:42 +00:00
|
|
|
await dispatch(setAnkiNoteCreator(selectedDeck));
|
|
|
|
await dispatch(setCreatorTemplate(modelFields));
|
2020-03-25 13:02:48 +00:00
|
|
|
// const sd = JSON.parse(JSON.stringify(selectedDeck));
|
|
|
|
// console.log(sd === selectedDeck);
|
|
|
|
// ****************
|
2020-03-28 07:41:34 +00:00
|
|
|
|
|
|
|
firstNote(selectedDeck, valueFields, modelFields);
|
|
|
|
|
2020-03-25 13:02:48 +00:00
|
|
|
// ****************
|
|
|
|
// sendDataToLocaleStorage(
|
|
|
|
// setAnkiNoteCreator(sd), //send creator to locale storage
|
|
|
|
// setCreatorTemplate(modelFields),
|
|
|
|
// );
|
2020-03-08 11:17:42 +00:00
|
|
|
checkAnkiLanModelForExisting(model.name, model.list);
|
|
|
|
await dispatch(getModelList());
|
2020-03-28 07:41:34 +00:00
|
|
|
const [err, modelList] = await AnkiDroid.getModelList();
|
|
|
|
const modelId = await getModelId(modelList, model.name);
|
|
|
|
await console.log(modelId);
|
|
|
|
const [, fieldList] = await AnkiDroid.getFieldList(model.name);
|
|
|
|
|
2020-04-11 16:49:25 +00:00
|
|
|
console.log(fieldList, modelId);
|
|
|
|
|
|
|
|
await sendDataToLocaleStorage({
|
2020-03-28 07:41:34 +00:00
|
|
|
fieldList,
|
|
|
|
modelName: model.name,
|
|
|
|
modelId,
|
|
|
|
});
|
2020-04-11 16:49:25 +00:00
|
|
|
console.log(await getAnkiData());
|
2020-03-08 07:18:34 +00:00
|
|
|
} catch (err) {
|
2020-03-28 07:41:34 +00:00
|
|
|
console.log('irror is ghere', err);
|
2020-03-07 19:38:01 +00:00
|
|
|
}
|
|
|
|
};
|
2020-03-08 11:17:42 +00:00
|
|
|
|
2020-03-28 07:41:34 +00:00
|
|
|
const firstNote = (creator, fields, template) =>
|
|
|
|
creator.addNote(fields, template);
|
2020-03-24 14:05:54 +00:00
|
|
|
//creator is an object what have to store in locale storage.
|
2020-03-28 07:41:34 +00:00
|
|
|
export const addNote = async words => {
|
2020-04-11 16:49:25 +00:00
|
|
|
const ankiData = await getAnkiData();
|
|
|
|
await console.log(ankiData);
|
|
|
|
const template = await ankiData.fieldList;
|
2020-03-28 06:28:54 +00:00
|
|
|
const deckId = store.getState().anki.selectedDeck.id;
|
2020-04-11 16:49:25 +00:00
|
|
|
const modelId = await ankiData.modelId;
|
|
|
|
console.log(template, deckId, modelId);
|
2020-03-25 13:02:48 +00:00
|
|
|
const settings = {
|
2020-03-28 06:28:54 +00:00
|
|
|
deckId,
|
2020-03-28 07:41:34 +00:00
|
|
|
modelId,
|
2020-03-25 13:02:48 +00:00
|
|
|
};
|
|
|
|
const creator = new AnkiDroid(settings);
|
|
|
|
|
2020-04-11 16:49:25 +00:00
|
|
|
console.log(template);
|
|
|
|
console.log(words);
|
2020-03-08 11:17:42 +00:00
|
|
|
creator.addNote(words, template);
|
2020-03-25 13:02:48 +00:00
|
|
|
alert('sucssess');
|
2020-03-08 11:17:42 +00:00
|
|
|
};
|