Files
ionic-framework/docs/templates/demo_script.template.js
2014-05-20 12:22:40 -06:00

75 lines
2.4 KiB
JavaScript

var DEMO;
<@ if doc.demoData @>
DEMO = <$ doc.demoData | json $>;
<@ endif @>
angular.module(<@ if doc.demoData @>'<$ doc.demoData.module $>'
<@ else @>'demoApp', ['ionic']<@ endif @>)
.controller('IonicDemoCtrl', function($scope, $ionicModal, $ionicLoading) {
$scope.$demos = DEMOS;
<@ if doc.demoData @>
$scope.$demo = DEMO;
$ionicModal.fromTemplateUrl('ionic-demo-modal.html', {
scope: $scope,
focusFirstInput: false
}).then(function(modal) {
$scope.$demoModal = modal;
});
//don't try this at home
ionic.onGesture('dragup', function(e) {
if (e.gesture.distance > 35 && !$scope.$demoModal.isShown()) {
$scope.$apply(function(e) {
$scope.$demoModal.show();
});
}
}, document.querySelector('.demo-footer'));
$scope.demoScratch = function(demo) {
var form = angular.element('<form method="POST" action="http://scratch.ionicsdk.com/embed">');
var htmlInput = angular.element('<textarea type="text" name="html">')
.val(['<html ng-app="<$ doc.demoData.module $>">',
'<head>',
' <meta charset="utf-8">',
' <meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no, width=device-width">',
' <link rel="stylesheet" href="http://code.ionicframework.com/<$ version.current.name $>/css/ionic.css">',
' <script src="http://code.ionicframework.com/<$ version.current.name $>/js/ionic.bundle.js"></script>',
'</head>',
'<body>',
(demo.html && demo.html.content || ''),
'</body>',
'</html>'].join('\n'));
var cssInput = angular.element('<textarea type="text" name="css">')
.val(demo.css && demo.css.content || '');
var jsInput = angular.element('<textarea type="text" name="js">')
.val(demo.javascript && demo.javascript.content || '');
form
.css('display','none')
.append(htmlInput)
.append(cssInput)
.append(jsInput);
document.body.appendChild(form[0]);
form[0].submit();
$ionicLoading.show({
template: 'Opening in Scratchpad...'
});
};
<@ endif @>
})
.filter('humanize', function() {
return function(input) {
return input.charAt(0).toUpperCase() +
input.substring(1).replace(/[A-Z]/g, function(match, i) {
return ' ' + match.toUpperCase();
});
};
});