+// Common parts for angularjs plugins
+// only one ng-app is allowed
+
+var ManifoldApp = angular.module('ManifoldApp', []);
+ManifoldApp.config(function ($interpolateProvider) {
+ $interpolateProvider.startSymbol('{[{').endSymbol('}]}');
+});
+
+ManifoldApp.factory('$exceptionHandler', function () {
+ return function (exception, cause) {
+ console.log(exception.message);
+ };
+});
+
+ManifoldApp.filter('offset', function() {
+ return function(input, start) {
+ start = parseInt(start, 10);
+ return input.slice(start);
+ };
+});
+
// INHERITANCE
// http://alexsexton.com/blog/2010/02/using-inheritance-patterns-to-organize-large-jquery-applications/
// We will use John Resig's proposal
// use spin() to get our default spin settings (called presets)
// use spin(true) to get spin's builtin defaults
// you can also call spin_presets() yourself and tweak what you need to, like topmenuvalidation does
- spin: function (presets) {
- var presets = ( presets === undefined ) ? spin_presets() : presets;
- try { this.$element.spin(presets); }
- catch (err) { messages.debug("Cannot turn on spin " + err); }
+ spin: function (message) {
+ if (!message) {
+ message = 'Please be patient, this operation can take a minute or two.';
+ }
+ $('div.loading').fadeIn('fast');
+ $('div.loading').find('.message').text(message);
+
},
unspin: function() {
- try { this.$element.spin(false); }
- catch (err) { messages.debug("Cannot turn off spin " + err); }
+ $('div.loading').fadeOut('fast');
+
},
/* TEMPLATE */