Skip to content

Instantly share code, notes, and snippets.

View moduscreate's full-sized avatar

Modus Create moduscreate

View GitHub Profile
What is Sencha Cmd
What is the typical application development lifecycle
Review of the example application (Tablet and Phone support)
Using Sencha Cmd to start an application
Begin building the application
Learn about the "development" application bootstrap
Adding device profiles to the application
Along the way, explain how profiles work
Focus on the phone profile
Introduction to MVC (i'm almost at this point)
// $ g++ -o test -framework Foundation -Wall test.mm
// $ ./test
#include <iostream>
#import <Foundation/Foundation.h>
#import "SilkNotifier.h"
extern "C" int main(int argc, char** argv) {
NSAutoreleasePool* pool = [[NSAutoreleasePool alloc] init];
#!/usr/local/bin/silkjs
/*
This is a prototype of a SilkJS Sencha Touch -> PhoneGap automated deployment script.
More to come at moduscreate.com/blog :)
*/
console = require('console');
######## WATCHER SCRIPT. Runs very .5 seconds, checks for changes in the source 'html5' dir.
#!/bin/sh
MD5=`cat /tmp/watcher.md5 | awk '{print $4}'`;
X=0;
while [ $X -eq 0 ]; do
newMD5=`ls -altR html5/ | grep -v app.json > /tmp/watcher.md5 && md5 /tmp/watcher.md5 | awk '{print $4}'`;
if [[ "$MD5" != "$newMD5" ]]; then
onIssueTap : function(evtObj) {
var isIssueImage = evtObj.getTarget('.recent-issue-image'),
isButton = evtObj.getTarget('.buy-now-button'),
data = evtObj.delegatedTarget.dataset['id'],
event;
if (isIssueImage) {
event = 'issueTap';
}
else if (isButton) {
Ext.define('AW.view.Article', {
extend : 'Ext.Sheet',
xtype : 'article',
config : {
article : null,
baseCls : '',
stretchX : true,
...
control : {
'[text=Back]' : {
Ext.define('AW.controller.Main', {
extend : 'Ext.app.Controller',
config : {
layout : 'card',
tags : undefined,
stories : undefined,
otherStories : undefined,
rawStories : undefined,
currentChannel : undefined,
onAppSaveArticle : function(article) {
var savedArticles = this.getSavedArticles(),
model = savedArticles.getModel(),
reader = model.getProxy().getReader(),
foundRecord = savedArticles.find('articleId', article.id),
cleanData;
! reader.getModel() && reader.setModel(model);
if (foundRecord == -1) {
From this: (seems logical to me)
onAppSaveArticle : function(article) {
var savedArticles = this.getSavedArticles(),
model = savedArticles.getModel(),
foundRecord = savedArticles.find('id', article.id),
record;
if (foundRecord == -1) {
record = new model(article);
var mask = Ext.create('AW.view.Whatever', {
});
Ext.Viewport.add(mask);
Ext.Function.defer(mask.hide, 1000, mask);