@_fnovy
hello@fnovy.com
mydea
Innsbruck
1/8
version1: {
stores: {
'descriptor': '&id,json,*groupCode,*name',
'group': '&id,json',
'analysis-result': '&id,json,*session,*cuppingDate'
}
}
ember install ember-indexeddb
// Syncing data from server
async function loadData() {
let { ajax, indexedDb } = this;
let data = await ajax.request('/descriptor');
indexedDb.add('descriptor', data);
}
// Interacting with IndexedDB
let { store } = this;
store.findAll('descriptor');
store.query('descriptor', { name: 'Apple' });
store.findRecord('descriptor', '1');
let descriptor = store.createRecord('descriptor', { name: 'Apple' });
descriptor.save();
descriptor.destroyRecord();
2/8
3/8
create session
edit session
pull
push
timeline
???
X
4/8
{{#each analysisResults as |analysisResult i|}}
{{#sample-delayed
analysisResult=analysisResult
delay=i
}}
{{sample-form
analysisResult=analysisResult
}}
{{/sample-delayed}}
{{/each}}
// app/components/sample-delayed/component.js
didReceiveAttrs() {
this.loadSample.perform();
},
loadSample: task(function* () {
let delay = this.delay + 1;
let delayMs = delay * 100;
yield timeout(delayMs);
}).drop()
{{! app/components/sample-delayed/template.hbs }}
{{#if loadSample.isRunning}}
{{loading-spinner}}
{{else}}
{{yield}}
{{/if}}
5/8
6/8
yarn global add corber
corber init
# Run your JavaScript builder and create a mobile application
corber build
# Boot an emulator with live reload for development
# Cordova plugins are supported /w live reload
corber start
# Set up hot reload for on-device usage
corber serve
# Build icon & splash screens
corber make-splashes
corber make-icons
7/8
8/8
actually...
lane :deploy do
match(
type: "appstore",
readonly: true
)
cordova(
platform: 'ios',
release: true,
provisioning_profile: 'match AppStore com.cropster.cuppingapp'
)
appstore(
ipa: ENV['CORDOVA_IOS_RELEASE_BUILD_PATH']
)
end
bundler exec fastlane ios deploy
@_fnovy
hello@fnovy.com
mydea