From e8ef1800d53f96193128e3e7650613ab60657a85 Mon Sep 17 00:00:00 2001 From: Jerry Jalava Date: Thu, 6 Dec 2007 13:46:19 +0200 Subject: [PATCH] Updated Ajatus to use the new jqCouch library --- application.html | 1 - js/ajatus.core.js | 32 ++-------- js/ajatus.document.js | 69 ++++++++------------- js/ajatus.forms.js | 36 ++++------- js/ajatus.i10n.js | 1 + js/ajatus.preferences.js | 38 ++++++------ js/ajatus.tags.js | 72 +++++++++++---------- js/ajatus.utils.js | 2 +- js/ajatus.views.js | 2 +- js/ajatus.widgets.js | 57 +++++++++++++---- js/content_types/contact.js | 18 +++--- js/content_types/event.js | 14 ++--- js/content_types/expense.js | 18 +++--- js/content_types/hour_report.js | 19 +++--- js/content_types/note.js | 20 +++--- js/{jqcouch2.js => jqcouch.js} | 16 +++-- js/{jqcouch.js => old_jqcouch.js} | 0 js/views/custom/test.js | 13 ++-- js/views/system.js | 54 +++++++--------- js/widgets/tags.js | 16 +++-- testsuite/main.html | 86 +++++++++++++------------- testsuite/tests/{jqcouchv2.js => jqcouch.js} | 0 testsuite/tests/{jqcouch.js => old_jqcouch.js} | 0 themes/default/css/elements.css | 5 -- 24 files changed, 275 insertions(+), 314 deletions(-) rename js/{jqcouch2.js => jqcouch.js} (98%) rename js/{jqcouch.js => old_jqcouch.js} (100%) rename testsuite/tests/{jqcouchv2.js => jqcouch.js} (100%) rename testsuite/tests/{jqcouch.js => old_jqcouch.js} (100%) diff --git a/application.html b/application.html index d7995a6..7504cce 100644 --- a/application.html +++ b/application.html @@ -83,7 +83,6 @@ - diff --git a/js/ajatus.core.js b/js/ajatus.core.js index dd9e028..aef6c25 100644 --- a/js/ajatus.core.js +++ b/js/ajatus.core.js @@ -480,13 +480,6 @@ if (typeof console == 'undefined') { return element; }; }; - - $.jqcouch.on_error = function(request,caller) { - $.ajatus.ajax_error(request, caller); - }; - $.jqcouch.on_success = function(data,caller) { - $.ajatus.ajax_success(data, caller); - }; $.ajatus.security_pass = function() { try { @@ -510,7 +503,6 @@ if (typeof console == 'undefined') { //Force the system types to load: $.ajatus.preferences.client.types.system = $.ajatus.preferences.client_defaults.types.system; - $.jqcouch.server_url = $.ajatus.preferences.client.server_url; $.jqCouch.set_defaults({ server_url: $.ajatus.preferences.client.server_url }); @@ -552,7 +544,7 @@ if (typeof console == 'undefined') { var preference_loader = new $.ajatus.preferences.loader; preference_loader.load(); - $.ajatus.types.init(function(){ + $.ajatus.types.init(function(){ $.ajatus.start(); }); }; @@ -587,12 +579,6 @@ if (typeof console == 'undefined') { }, on_release: function(){ $.ajatus.application_element.addClass('ajatus_initialized'); - - // $.ajatus.toolbar.init(); - // $.ajatus.toolbar.add_item('Test', function(){console.log('test item clicked');}); - // $.ajatus.toolbar.add_item('Test 2', function(){console.log('test2 item clicked');}); - // $.ajatus.toolbar.add_item('Preferences', 'images/icons/preferences.png', function(){console.log('preferences item clicked');}); - // $.ajatus.toolbar.show(); var show_frontpage = true; if ( $.ajatus.history @@ -611,23 +597,17 @@ if (typeof console == 'undefined') { $('#header .tagline', $.ajatus.application_element).html($.ajatus.i10n.get('Distributed CRM')); $('#new-item-button').text($.ajatus.i10n.get('new')); - $.ajatus.toolbar.init(); + $.ajatus.toolbar.init(); + $.ajatus.history.init(); + $.ajatus.tags.init(); + $.ajatus.widgets.init(); + $.ajatus.views.init(); $.ajatus.extensions.init({ on_ready: function(){ - if (typeof $.ajatus.history != 'undefined') { - $.ajatus.history.init(); - } - - $.ajatus.tags.init(); - $.ajatus.widgets.init(); - $.ajatus.views.init(); - $.ajatus.active_type = $.ajatus.preferences.client.content_types['note']; if ($.ajatus.preferences.modified) { - $.ajatus.debug('Preferences modifed:'); - console.log($.ajatus.preferences.local); $.ajatus.views.on_change_actions.add('$.ajatus.preferences.view.save($.ajatus.preferences.local)'); } diff --git a/js/ajatus.document.js b/js/ajatus.document.js index ef517dd..3607239 100644 --- a/js/ajatus.document.js +++ b/js/ajatus.document.js @@ -39,9 +39,7 @@ }); if (typeof this.ready_doc['value'] == 'undefined') { - $.ajatus.debug("Error: Document didn't have value field defined!", "ajatus.document"); - console.log(doc); - + $.ajatus.debug("Error: Document didn't have value field defined!", "ajatus.document"); return this.ready_doc; } @@ -107,22 +105,13 @@ doc = new $.ajatus.document.loader(_self.ready_doc._id, _self.ready_doc._rev, false, false); doc.value = $.extend(doc.value, new_parts); - var jqcouch = $.jqcouch.doc; var db_path = $.ajatus.preferences.client.content_database; if (doc.value._type == 'tag') { db_path = $.ajatus.preferences.client.tags_database; } - jqcouch.on_success = function(data, caller) { - if (data.ok) { - doc['_id'] = data.id; - doc['_rev'] = data.rev; - doc = new $.ajatus.document(doc); - // console.log("fixed doc"); - // console.log(doc); - _self.ready_doc = doc; - } - } - jqcouch.save(db_path, doc); + + $.jqCouch.connection('doc').save(db_path, doc); + _self.ready_doc = new $.ajatus.document(doc); }, add_metadata: function() { var self = this; @@ -178,27 +167,18 @@ // console.log("Before:"); // console.log(doc.value.metadata); - doc.value.metadata = $.extend(doc.value.metadata, new_metadata); + doc.value.metadata = $.extend({}, doc.value.metadata, new_metadata); // console.log("After:"); // console.log(doc.value.metadata); - var jqcouch = $.jqcouch.doc; var db_path = $.ajatus.preferences.client.content_database; if (doc.value._type == 'tag') { db_path = $.ajatus.preferences.client.tags_database; } - jqcouch.on_success = function(data, caller) { - if (data.ok) { - doc['_id'] = data.id; - doc['_rev'] = data.rev; - doc = new $.ajatus.document(doc); - _self.ready_doc = doc; - // console.log("updated metadata on doc"); - // console.log(doc); - } - } - jqcouch.save(db_path, doc); + + $.jqCouch.connection('doc').save(db_path, doc); + _self.ready_doc = new $.ajatus.document(doc); }, prepare_doc_title: function() { var self = this; @@ -241,18 +221,17 @@ var check_metadata = true; } var original = {}; - var jqcouch = $.jqcouch.doc; - jqcouch.on_success = function(data, caller) - { - original = new $.ajatus.document(data, check_metadata, true); - }; var args = {}; if (typeof rev != 'undefined') { args['_rev'] = rev; } - jqcouch.get($.ajatus.preferences.client.content_database + '/' + id, args); + original = new $.ajatus.document( + $.jqCouch.connection('doc').get($.ajatus.preferences.client.content_database + '/' + id, args), + check_metadata, + true + ); return original; }; @@ -358,8 +337,7 @@ // console.log("_execute_temp: "+action); switch(action) { case 'delete': - var jqcouch = $.jqcouch.doc; - jqcouch.on_success = function(data, caller) { + var on_success = function(data) { var tmpdoc = { _id: doc._id, _rev: doc._rev @@ -372,6 +350,8 @@ $.ajatus.document.actions.execute("undelete", tmpdoc); msg.fade('out', true); }); + + return data; }; doc = $.ajatus.document.modify_metadata(doc, { @@ -380,7 +360,7 @@ revisor: $.ajatus.preferences.local.user.email }); - jqcouch.save($.ajatus.preferences.client.content_database, doc); + $.jqCouch.connection('doc', on_success).save($.ajatus.preferences.client.content_database, doc); $('#object_'+doc._id, $.ajatus.application_content_area).hide().addClass('deleted'); break; @@ -389,30 +369,33 @@ _execute_final: function(action, doc) { switch(action) { case 'delete': - var jqcouch = $.jqcouch.doc; - jqcouch.on_success = function(data, caller) { + var on_success = function(data) { var msg = $.ajatus.elements.messages.create( $.ajatus.i10n.get('Object deleted'), $.ajatus.i10n.get('Object %s removed from Ajatus.', [doc.value.title.val]) ); + + return data; }; - jqcouch.del($.ajatus.preferences.client.content_database + '/' + doc._id, doc._rev); + $.jqCouch.connection('doc', on_success).del($.ajatus.preferences.client.content_database, doc); $('#object_'+doc._id, $.ajatus.application_content_area).remove(); break; case 'undelete': - var jqcouch = $.jqcouch.doc; - jqcouch.on_success = function(data, caller) { + var on_success = function(data) { var msg = $.ajatus.elements.messages.create( $.ajatus.i10n.get('Object restored'), $.ajatus.i10n.get('Object %s restored succesfully.', [doc.value.title.val]) ); + + return data; }; doc = $.ajatus.document.modify_metadata(doc, { deleted: false, revised: $.ajatus.formatter.date.js_to_iso8601(new Date()), revisor: $.ajatus.preferences.local.user.email }); - jqcouch.save($.ajatus.preferences.client.content_database, doc); + $.jqCouch.connection('doc', on_success).save($.ajatus.preferences.client.content_database, doc); + $('#object_'+doc._id, $.ajatus.application_content_area).not('.deleted').remove(); $('#object_'+doc._id, $.ajatus.application_content_area).filter('.deleted').show().removeClass('deleted'); break; diff --git a/js/ajatus.forms.js b/js/ajatus.forms.js index 30398f4..3d7b351 100644 --- a/js/ajatus.forms.js +++ b/js/ajatus.forms.js @@ -227,35 +227,25 @@ }, normal: function(form_data) { var doc = $.ajatus.forms.process.common(form_data); - - var jqcouch = $.jqcouch.doc; - jqcouch.on_success = function(data, caller) { - if (data.ok) { - doc['_id'] = data.id; - doc['_rev'] = data.rev; - doc = new $.ajatus.document(doc); - $.ajatus.views.system.item.render(doc); - $.ajatus.events.named_lock_pool.decrease('unsaved'); - } - } - jqcouch.save($.ajatus.preferences.client.content_database, doc); + + $.jqCouch.connection('doc').save($.ajatus.preferences.client.content_database, doc); + doc = new $.ajatus.document(doc); + $.ajatus.views.system.item.render(doc); + $.ajatus.events.named_lock_pool.decrease('unsaved'); + return true; }, ajax: function(form_data, callback) { var doc = $.ajatus.forms.process.common(form_data); + + $.jqCouch.connection('doc').save($.ajatus.preferences.client.content_database, doc); + doc = new $.ajatus.document(doc); - var jqcouch = $.jqcouch.doc; - jqcouch.on_success = function(data, caller) { - if (data.ok) { - doc = new $.ajatus.document.loader(data.id, data.r); - $.ajatus.events.named_lock_pool.decrease('unsaved'); - - if (typeof callback == 'function') { - callback.apply(callback, [doc]); - } - } + $.ajatus.events.named_lock_pool.decrease('unsaved'); + + if (typeof callback == 'function') { + callback.apply(callback, [doc]); } - jqcouch.save($.ajatus.preferences.client.content_database, doc); return true; } diff --git a/js/ajatus.i10n.js b/js/ajatus.i10n.js index 6220ecd..b135949 100644 --- a/js/ajatus.i10n.js +++ b/js/ajatus.i10n.js @@ -52,6 +52,7 @@ $.ajatus.i10n.available = [ 'en_GB', 'fi_FI', + 'hu_HU', 'nl_NL', 'pl_PL', 'sv_SE' diff --git a/js/ajatus.preferences.js b/js/ajatus.preferences.js index 044361d..cd7a11d 100644 --- a/js/ajatus.preferences.js +++ b/js/ajatus.preferences.js @@ -74,17 +74,9 @@ }; $.ajatus.preferences.loader = function() { - this.jqcouch = $.jqcouch.doc; this.loaded = false; - this.jqcouch.on_error = function(request, caller) - { - this.loaded = false; - $.ajatus.events.lock_pool.decrease(); - $.ajatus.ajax_error(request, caller); - } - this.jqcouch.on_success = function(data, caller) - { + var on_success = function(data) { this.loaded = true; $.ajatus.events.lock_pool.decrease(); @@ -105,12 +97,21 @@ }); } }); - } + + return data; + }; + + this.dc = $.jqCouch.connection('doc', on_success); } $.extend($.ajatus.preferences.loader.prototype, { load: function() { $.ajatus.events.lock_pool.increase(); - this.jqcouch.get($.ajatus.preferences.client.application_database + '/preferences'); + var data = this.dc.get($.ajatus.preferences.client.application_database + '/preferences'); + if (! data._id) { + this.loaded = false; + $.ajatus.events.lock_pool.decrease(); + $.ajatus.ajax_error(data.request); + } } }); @@ -338,16 +339,15 @@ save: function(preferences) { var saved = false; - var jqc = $.jqcouch.doc; - jqc.on_error = function(request, caller) { - $.ajatus.ajax_error(request, caller); - } - jqc.on_success = function(data, caller) { + + var on_success = function(data) { saved = true; $.ajatus.preferences.revision = data.rev; - $.ajatus.events.named_lock_pool.decrease('unsaved'); + $.ajatus.events.named_lock_pool.decrease('unsaved'); window.location.reload(); - } + + return data; + }; prefs_doc = new $.ajatus.document({ _id: 'preferences', @@ -400,7 +400,7 @@ }); prefs_doc.value = prefs; - jqc.save($.ajatus.preferences.client.application_database, prefs_doc); + $.jqCouch.connection('doc', on_success).save($.ajatus.preferences.client.application_database, prefs_doc); return saved; }, diff --git a/js/ajatus.tags.js b/js/ajatus.tags.js index 33891e4..4d3a3f7 100644 --- a/js/ajatus.tags.js +++ b/js/ajatus.tags.js @@ -41,12 +41,10 @@ $.ajatus.tags.update_app_tag_list(); }, load: function() { - var jqcouch = $.jqcouch.view; $.ajatus.tags.used_contexts = []; $.ajatus.tags.cache = []; - jqcouch.on_success = function(data, caller) - { + var on_success = function(data) { if (data.total_rows <= 0) { return false; } @@ -62,9 +60,11 @@ } $.ajatus.tags.cache.push(n); }); + + return data; }; - jqcouch.temp($.ajatus.preferences.client.tags_database, {}, function(doc){ + $.jqCouch.connection('view', on_success).temp($.ajatus.preferences.client.tags_database, function(doc){ if ( doc.value.metadata.archived.val == "" && doc.value.metadata.deleted.val != 1) { @@ -140,9 +140,8 @@ } query = $.ajatus.tags._prepare_query(query); - - var jqcv = $.jqcouch.view; - jqcv.on_success = function(data, caller) { + + var on_success = function(data) { if (data.total_rows == 0) { return []; } @@ -151,6 +150,8 @@ var doc = new $.ajatus.document(n); results.push(doc); }); + + return data; }; var rel_view = 'if (doc.value.title.val.match(/\\\\b'+query+'(.*?)\\\\b/) '; @@ -162,16 +163,13 @@ } rel_view += '&& doc.value.metadata.archived.val == "" && doc.value.metadata.deleted.val != 1){'; rel_view += 'map( doc._id, doc.value );}'; - jqcv.temp( - $.ajatus.preferences.client.tags_database, { + + $.jqCouch.connection('view', on_success).temp($.ajatus.preferences.client.tags_database, + "$.ajatus.views.generate('"+rel_view+"')", { count: max_res - }, - "$.ajatus.views.generate('"+rel_view+"')" + } ); - // console.log('results: '); - // console.log(results); - return results; }, search_cache: function(query, context, max_res) { @@ -196,9 +194,6 @@ } } }); - - // console.log('results: '); - // console.log(results); return results; }, @@ -229,8 +224,7 @@ } } - var jqc = $.jqcouch.doc; - jqc.on_success = function(data, caller) { + var on_success = function(data) { var doc = new $.ajatus.document(data); result = doc; @@ -238,6 +232,8 @@ var fn = eval('('+callback+')'); fn.apply(fn, [result]); } + + return data; }; var args = {}; @@ -245,7 +241,7 @@ args['_rev'] = rev; } - jqc.get($.ajatus.preferences.client.tags_database + '/' + tag, args); + $.jqCouch.connection('doc', on_success).get($.ajatus.preferences.client.tags_database + '/' + tag, args); return result; }, @@ -260,15 +256,14 @@ } return false; }, - create: function(name, context, jqc) { + create: function(name, context, dc) { if ($.ajatus.tags.exists(name)) { return false; } - if (typeof jqc == 'undefined') { - var jqc = $.jqcouch.doc; - jqc.on_success = function(data, caller) { + if (typeof dc == 'undefined') { + var on_success = function(data) { if (data.ok) { var msg = $.ajatus.elements.messages.create( 'New tag created', @@ -280,8 +275,11 @@ var tag = $.ajatus.tags.get(data.id, data.rev, true); $.ajatus.tags.cache.push(tag); } - } + + return data; + }; + var dc = $.jqCouch.connection('doc', on_success); $.ajatus.views.on_change_actions.add('$.ajatus.tags.update_cache();'); } @@ -311,30 +309,31 @@ revisor: $.ajatus.preferences.local.user.email }; tag = $.ajatus.document.modify_metadata(tag, new_metadata); - jqc.save($.ajatus.preferences.client.tags_database, tag); + dc.save($.ajatus.preferences.client.tags_database, tag); return true; }, - remove: function(tag, jqc) { - if (typeof jqc == 'undefined') { - var jqc = $.jqcouch.doc; - jqc.on_success = function(data, caller) { + remove: function(tag, dc) { + if (typeof dc == 'undefined') { + var on_success = function(data) { var msg = $.ajatus.elements.messages.create( $.ajatus.i10n.get('Object deleted'), $.ajatus.i10n.get('Tag %s removed from Ajatus.', [tag]) ); }; + var dc = $.jqCouch.connection('doc', on_success); } - jqc.del($.ajatus.preferences.client.tags_database + '/' + tag); + dc.del($.ajatus.preferences.client.tags_database + '/' + tag); }, related: function(tags, skip_docs) { var related = []; - var jqcv = $.jqcouch.view; + if (typeof skip_docs != 'object') { var skip_docs = []; } - jqcv.on_success = function(data, caller) { + + var on_success = function(data) { if (data.total_rows == 0) { return; } @@ -352,6 +351,8 @@ } } }); + + return data; }; var rel_view = 'if (typeof(doc.value.tags) != "undefined" && doc.value.tags.val.length > 0 '; @@ -371,10 +372,7 @@ rel_view += '"tags": doc.value.tags })}'; - jqcv.temp( - $.ajatus.preferences.client.content_database, {}, - "$.ajatus.views.generate('"+rel_view+"')" - ); + $.jqCouch.connection('view', on_success).temp($.ajatus.preferences.client.content_database, "$.ajatus.views.generate('"+rel_view+"')"); return related; } diff --git a/js/ajatus.utils.js b/js/ajatus.utils.js index 824cd87..025f213 100644 --- a/js/ajatus.utils.js +++ b/js/ajatus.utils.js @@ -123,7 +123,7 @@ var cb_args = []; } - setTimeout('eval("var fn = eval('+callback+'); fn.apply(fn, [\''+cb_args.join("','")+'\']);")', 200); + setTimeout('eval("var fn = eval('+callback+'); fn.apply(fn, [\''+cb_args.join("','")+'\']);")', 300); } } diff --git a/js/ajatus.views.js b/js/ajatus.views.js index ddac338..db22091 100644 --- a/js/ajatus.views.js +++ b/js/ajatus.views.js @@ -67,7 +67,7 @@ tab.prependTo(app_tab_holder); $.ajatus.tabs.prepare(tab); - if ( $.ajatus.history + if ( typeof $.ajatus.history != 'undefined' && $.ajatus.history.enabled) { $.ajatus.history.add_map(view_hash, '$.ajatus.preferences.view.render();'); diff --git a/js/ajatus.widgets.js b/js/ajatus.widgets.js index 83d2d7b..1c27e0b 100644 --- a/js/ajatus.widgets.js +++ b/js/ajatus.widgets.js @@ -50,11 +50,42 @@ return wdgt; }; - $.ajatus.widgets.widget_loaded = function(widget) { - $.ajatus.widgets[widget] = $.ajatus.widgets.core[widget]; + $.ajatus.widgets.widget_loaded = function(wdgt, try_count) { + if (typeof try_count == 'undefined') { + var try_count = 0; + } + + $.ajatus.widgets[wdgt] = $.ajatus.widgets.core[wdgt]; + + if (typeof $.ajatus.widgets[wdgt] != 'undefined') { + $.ajatus.widgets[wdgt].loaded(); + $.ajatus.widgets.loaded_widgets.push(wdgt); + } else { + try_count += 1; + if (try_count < 2) { + setTimeout("$.ajatus.widgets.widget_loaded('"+wdgt+"', "+try_count+");", 200); + } + } + + $.ajatus.events.lock_pool.decrease(); + } + + $.ajatus.widgets.custom_widget_loaded = function(wdgt, try_count) { + if (typeof try_count == 'undefined') { + var try_count = 0; + } + + $.ajatus.widgets[wdgt] = $.ajatus.widgets.custom[wdgt]; - $.ajatus.widgets[widget].loaded(); - $.ajatus.widgets.loaded_widgets.push(widget); + if (typeof $.ajatus.widgets[wdgt] != 'undefined') { + $.ajatus.widgets[wdgt].loaded(); + $.ajatus.widgets.loaded_widgets.push(wdgt); + } else { + try_count += 1; + if (try_count < 2) { + setTimeout("$.ajatus.widgets.widget_loaded('"+wdgt+"', "+try_count+");", 200); + } + } $.ajatus.events.lock_pool.decrease(); } @@ -68,6 +99,10 @@ } $.each($.ajatus.widgets.core.available, function(i,cw){ + if (cw == '') { + return; + } + var widget_url = $.ajatus.preferences.client.application_url + 'js/widgets/'+cw+'.js'; $.ajatus.events.lock_pool.increase(); @@ -81,15 +116,15 @@ if ($.ajatus.preferences.client.custom_widgets.length > 0) { $.each($.ajatus.preferences.client.custom_widgets, function(i,cw){ + if (cw == '') { + return; + } + + var widget_url = $.ajatus.preferences.client.application_url + 'js/widgets/custom/'+cw+'.js'; + $.ajatus.events.lock_pool.increase(); - $.getScript($.ajatus.preferences.client.application_url + 'js/widgets/custom/'+cw+'.js', function(){ - $.ajatus.widgets[cw] = $.ajatus.widgets.custom[cw]; - $.ajatus.widgets[cw].loaded(); - $.ajatus.widgets.loaded_widgets.push(cw); - - $.ajatus.events.lock_pool.decrease(); - }); + $.ajatus.utils.load_script(widget_url, "$.ajatus.widgets.custom_widget_loaded", [cw]); }); } } diff --git a/js/content_types/contact.js b/js/content_types/contact.js index ff1ccfb..adba0c4 100644 --- a/js/content_types/contact.js +++ b/js/content_types/contact.js @@ -142,9 +142,7 @@ $.ajatus.layout.body.set_class('list '+self.name); $.ajatus.application_content_area.html(''); - var jqcouch = $.jqcouch.view; - jqcouch.on_success = function(data, caller) - { + var on_success = function(data) { if (data.total_rows == 0) { var key = $.ajatus.i10n.plural($.ajatus.i10n.get(self.title)); var msg = $.ajatus.elements.messages.static($.ajatus.i10n.get('Empty results'), $.ajatus.i10n.get('No %s found', [key])); @@ -178,15 +176,13 @@ }); renderer.enable_sorting(); - } + + return data; + }; - jqcouch.temp( - $.ajatus.preferences.client.content_database, - { - descending: true - }, - self.views.list - ); + $.jqCouch.connection('view', on_success).temp($.ajatus.preferences.client.content_database, self.views.list, { + descending: true + }); }; }; diff --git a/js/content_types/event.js b/js/content_types/event.js index 9217f58..3baac86 100644 --- a/js/content_types/event.js +++ b/js/content_types/event.js @@ -122,10 +122,8 @@ $.ajatus.active_type = self; $.ajatus.layout.body.set_class('list '+self.name); $.ajatus.application_content_area.html(''); - - var jqcouch = $.jqcouch.view; - jqcouch.on_success = function(data, caller) - { + + var on_success = function(data) { if (data.total_rows == 0) { var key = $.ajatus.i10n.plural($.ajatus.i10n.get(self.title)); var msg = $.ajatus.elements.messages.static($.ajatus.i10n.get('Empty results'), $.ajatus.i10n.get('No %s found', [key])); @@ -152,9 +150,11 @@ }); renderer.enable_sorting(); - } - - jqcouch.get($.ajatus.preferences.client.content_database + '/_view/event/list', { + + return data; + }; + + $.jqCouch.connection('view', on_success).get($.ajatus.preferences.client.content_database, 'event/list', { descending: true }); }; diff --git a/js/content_types/expense.js b/js/content_types/expense.js index 1b7ec7e..88ba526 100644 --- a/js/content_types/expense.js +++ b/js/content_types/expense.js @@ -140,9 +140,7 @@ $.ajatus.layout.body.set_class('list '+self.name); $.ajatus.application_content_area.html(''); - var jqcouch = $.jqcouch.view; - jqcouch.on_success = function(data, caller) - { + var on_success = function(data) { if (data.total_rows == 0) { var key = $.ajatus.i10n.plural($.ajatus.i10n.get(self.title)); var msg = $.ajatus.elements.messages.static($.ajatus.i10n.get('Empty results'), $.ajatus.i10n.get('No %s found', [key])); @@ -176,15 +174,13 @@ }); renderer.enable_sorting(); - } + + return data; + }; - jqcouch.temp( - $.ajatus.preferences.client.content_database, - { - descending: true - }, - eval(self.views.list) - ); + $.jqCouch.connection('view', on_success).temp($.ajatus.preferences.client.content_database, self.views.list, { + descending: true + }); }; this.create_er_form = function(idx, reports_holder) { diff --git a/js/content_types/hour_report.js b/js/content_types/hour_report.js index e9ed350..91dc2af 100644 --- a/js/content_types/hour_report.js +++ b/js/content_types/hour_report.js @@ -117,10 +117,8 @@ $.ajatus.active_type = self; $.ajatus.layout.body.set_class('list '+self.name); $.ajatus.application_content_area.html(''); - - var jqcouch = $.jqcouch.view; - jqcouch.on_success = function(data, caller) - { + + var on_success = function(data) { if (data.total_rows == 0) { var key = $.ajatus.i10n.plural($.ajatus.i10n.get(self.title)); var msg = $.ajatus.elements.messages.static($.ajatus.i10n.get('Empty results'), $.ajatus.i10n.get('No %s found', [key])); @@ -153,14 +151,13 @@ }); renderer.enable_sorting(); - } + + return data; + }; - jqcouch.temp( - $.ajatus.preferences.client.content_database, { - descending: true - }, - self.views.list - ); + $.jqCouch.connection('view', on_success).temp($.ajatus.preferences.client.content_database, self.views.list, { + descending: true + }); }; this.create_hr_form = function(idx, reports_holder) { diff --git a/js/content_types/note.js b/js/content_types/note.js index a3027e2..1f392e6 100644 --- a/js/content_types/note.js +++ b/js/content_types/note.js @@ -98,9 +98,7 @@ $.ajatus.layout.body.set_class('list '+self.name); $.ajatus.application_content_area.html(''); - var jqcouch = $.jqcouch.view; - jqcouch.on_success = function(data, caller) - { + var on_success = function(data) { if (data.total_rows == 0) { var key = $.ajatus.i10n.plural($.ajatus.i10n.get(self.title)); var msg = $.ajatus.elements.messages.static($.ajatus.i10n.get('Empty results'), $.ajatus.i10n.get('No %s found', [key])); @@ -134,15 +132,13 @@ }); renderer.enable_sorting(); - } - - jqcouch.temp( - $.ajatus.preferences.client.content_database, - { - descending: true - }, - eval(self.views.list) - ); + + return data; + }; + + $.jqCouch.connection('view', on_success).temp($.ajatus.preferences.client.content_database, self.views.list, { + descending: true + }); }; }; diff --git a/js/jqcouch2.js b/js/jqcouch.js similarity index 98% rename from js/jqcouch2.js rename to js/jqcouch.js index 338091e..d5b6f59 100644 --- a/js/jqcouch2.js +++ b/js/jqcouch.js @@ -124,7 +124,8 @@ function jqCouch_db(map_fun, config, conn) { conn.inited = true; this.instance = conn; var _self = this; - + + //TODO: add chance to create if doesnt exist this.exists = function(path, mf) { if (typeof path == 'undefined') { var path = this.config.path; @@ -621,7 +622,12 @@ function jqCouch_doc(map_fun, config, conn) { path += '/'; } path += doc_or_rev._id; - path += '?rev=' + doc_or_rev._rev; + + if ( typeof doc_or_rev._rev != 'undefined' + && doc_or_rev._rev != null) + { + path += '?rev=' + doc_or_rev._rev; + } } if (typeof doc_or_rev == 'string') { path += '?rev=' + doc_or_rev; @@ -687,7 +693,6 @@ function jqCouch_view(map_fun, config, conn) { this.instance = conn; var _self = this; - //TODO: add chance to create if doesnt exist this.exists = function(path, view, mf) { if (typeof path == 'undefined') { var path = this.config.path; @@ -1094,7 +1099,8 @@ function jqCouch_map_results(data, map) { function jqCouch_map_error(req) { var results = { status: req.status, - response: eval("(" + req.responseText + ")") + response: eval("(" + req.responseText + ")"), + request: req }; return results; } @@ -1262,7 +1268,7 @@ function jqCouch_map_error(req) { return s.bool(item); break; default: - throw("Unknown type for $.jqcouch.toJSON"); + throw("Unknown type for $.jqCouch.toJSON"); break; }; }, diff --git a/js/jqcouch.js b/js/old_jqcouch.js similarity index 100% rename from js/jqcouch.js rename to js/old_jqcouch.js diff --git a/js/views/custom/test.js b/js/views/custom/test.js index 81cd01f..c02f133 100644 --- a/js/views/custom/test.js +++ b/js/views/custom/test.js @@ -31,13 +31,10 @@ }, render: function() { - var jqcouch = $.jqcouch.view; $.ajatus.layout.body.set_class('test_custom_view'); - jqcouch.on_success = function(data, caller) - { - if (data.total_rows > 0) - { + var on_success = function(data) { + if (data.total_rows > 0) { $.ajatus.application_content_area.html(''); } var type = $.ajatus.preferences.client.content_types['note']; @@ -63,9 +60,11 @@ }); renderer.enable_sorting(); - } + + return data; + }; - jqcouch.get($.ajatus.preferences.client.content_database + '/_view/test/funny', { + $.jqCouch.connection('view', on_success).get($.ajatus.preferences.client.content_database, 'test/funny', { descending: true }); }, diff --git a/js/views/system.js b/js/views/system.js index 62f9630..d803884 100644 --- a/js/views/system.js +++ b/js/views/system.js @@ -47,26 +47,22 @@ render: function() { - var jqcouch = $.jqcouch.view; $.ajatus.application_content_area.html(''); $.ajatus.layout.body.set_class('frontpage'); $.ajatus.views.on_change("#view.frontpage"); $.each($.ajatus.preferences.client.content_types, function(key,type){ - if (!type.views['list']) - { + if (! type.views['list']) { return false; } - jqcouch.on_success = function(data, caller) - { + var on_success = function(data) { if (data.total_rows == 0) { return; } var pool_settings = $.ajatus.views.system.frontpage.pool_settings; - if (data.total_rows >= $.ajatus.views.system.frontpage.options.max_items_before_pool) - { + if (data.total_rows >= $.ajatus.views.system.frontpage.options.max_items_before_pool) { pool_settings.enabled = true; } @@ -91,17 +87,13 @@ } }); - //renderer.enable_sorting(); + return data; }; - - jqcouch.temp( - $.ajatus.preferences.client.content_database, - { - count: $.ajatus.views.system.frontpage.options.group_item_count, - descending: true - }, - type.views.list - ); + + $.jqCouch.connection('view', on_success).temp($.ajatus.preferences.client.content_database, type.views.list, { + count: $.ajatus.views.system.frontpage.options.group_item_count, + descending: true + }); }); } }; @@ -119,7 +111,6 @@ }, render: function() { - var jqcouch = $.jqcouch.view; $.ajatus.application_content_area.html(''); var orphaned_view = $.ajatus.views.generate(''); @@ -142,9 +133,7 @@ } }, - get_items: function(on_success) { - var jqcouch = $.jqcouch.view; - + get_items: function(on_success) { var trash_view = 'if (doc.value.metadata.deleted.val == 1) {'; trash_view += 'map( doc.value.metadata.revised, {"_type": doc.value._type,'; trash_view += '"title": doc.value.title,'; @@ -161,8 +150,7 @@ trash_view += '"revised": doc.value.metadata.revised,"by": doc.value.metadata.revisor,"tags": doc.value.tags})}'; - jqcouch.on_success = function(data, caller) - { + var conn_on_success = function(data) { if (data.total_rows == 0) { var key = $.ajatus.i10n.plural($.ajatus.i10n.get('deleted item')); var msg = $.ajatus.elements.messages.static($.ajatus.i10n.get('Empty results'), $.ajatus.i10n.get('No %s found', [key])); @@ -174,16 +162,13 @@ } on_success(data.rows); + return data; }; - jqcouch.temp( - $.ajatus.preferences.client.content_database, - { - count: $.ajatus.views.system.trash.options.group_item_count, - descending: true - }, - "$.ajatus.views.generate('"+trash_view+"')" - ); + $.jqCouch.connection('view', conn_on_success).temp($.ajatus.preferences.client.content_database, "$.ajatus.views.generate('"+trash_view+"')", { + count: $.ajatus.views.system.trash.options.group_item_count, + descending: true + }); }, render: function() @@ -391,7 +376,12 @@ $.extend($.ajatus.views.system.item, { render: function(doc) { - var doc = new $.ajatus.document.loader(doc._id); + if (typeof doc._rev != 'undefined') { + var doc = new $.ajatus.document.loader(doc._id, doc._rev); + } else { + var doc = new $.ajatus.document.loader(doc._id); + } + var content_type = $.ajatus.preferences.client.content_types[doc.value._type]; $.ajatus.layout.body.set_class('view '+doc.value._type); diff --git a/js/widgets/tags.js b/js/widgets/tags.js index f5ebfd5..6eed17f 100644 --- a/js/widgets/tags.js +++ b/js/widgets/tags.js @@ -206,10 +206,9 @@ }, _update_system_tags: function(new_tags, prev_tags) { - var jqcouch = $.jqcouch.doc; var _self = this; - jqcouch.on_success = function(data, caller) { + var on_success = function(data) { if (data.ok) { var msg = $.ajatus.elements.messages.create( 'New tag created', @@ -218,12 +217,11 @@ $.ajatus.debug("saved tag: "+data.id); } - } - jqcouch.on_error = function(request, caller) { - $.ajatus.debug("error saving tag"); - $.ajatus.debug(request); - $.ajatus.debug(caller); - } + + return data; + }; + var dc = $.jqCouch.connection('doc', on_success); + $.each(new_tags, function(i,t){ var context_key = ''; if (t.match(/:/)) { @@ -232,7 +230,7 @@ t = tag_parts[1]; } - $.ajatus.tags.create(t, context_key, jqcouch); + $.ajatus.tags.create(t, context_key, dc); }); $.ajatus.views.on_change_actions.add('$.ajatus.tags.refresh_cache();'); diff --git a/testsuite/main.html b/testsuite/main.html index 4aa6541..a415ff1 100644 --- a/testsuite/main.html +++ b/testsuite/main.html @@ -8,47 +8,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/testsuite/tests/jqcouchv2.js b/testsuite/tests/jqcouch.js similarity index 100% rename from testsuite/tests/jqcouchv2.js rename to testsuite/tests/jqcouch.js diff --git a/testsuite/tests/jqcouch.js b/testsuite/tests/old_jqcouch.js similarity index 100% rename from testsuite/tests/jqcouch.js rename to testsuite/tests/old_jqcouch.js diff --git a/themes/default/css/elements.css b/themes/default/css/elements.css index 0799040..db7c782 100644 --- a/themes/default/css/elements.css +++ b/themes/default/css/elements.css @@ -159,7 +159,6 @@ body.edit .additionals_window ul li label padding-left: 5px; -moz-border-radius: 10px 10px 0 0; -webkit-border-radius: 10px 10px 0 0; - border-radius: 10px 10px 0 0; font-weight: bold; cursor: pointer; white-space: nowrap; @@ -182,7 +181,6 @@ body.edit .additionals_window ul li div float: left; -moz-border-radius: 0 10px 10px 10px; -webkit-border-radius: 0 10px 10px 10px; - border-radius: 0 10px 10px 10px; } body.create #content ul li div.widget_actions, @@ -207,7 +205,6 @@ body.edit .additionals_window ul li div.widget_actions div padding: 0px; -moz-border-radius: 0; -webkit-border-radius: 0; - border-radius: 0; margin: 0; cursor: pointer; margin-right: 5px; @@ -236,7 +233,6 @@ body.create.report #content ul li label padding-left: 0px; -moz-border-radius: 0; -webkit-border-radius: 0; - border-radius: 0; min-width: 60px; } body.create.report #content ul li div @@ -249,7 +245,6 @@ body.create.report #content ul li div float: none; -moz-border-radius: 0; -webkit-border-radius: 0; - border-radius: 0; min-width: 60px; } body.create.report #content ul li.even -- 2.11.4.GIT