4 * Ajatus - Distributed CRM
5 * @requires jQuery v1.2.1
7 * Copyright (c) 2007 Jerry Jalava <jerry.jalava@gmail.com>
8 * Copyright (c) 2007 Nemein Oy <http://nemein.com>
9 * Website: http://ajatus.info
10 * Licensed under the GPL license
11 * http://www.gnu.org/licenses/gpl.html
16 $.ajatus = $.ajatus || {};
17 $.ajatus.content_type = $.ajatus.content_type || {};
19 $.ajatus.content_type.note = function()
25 this.history_support = true;
26 this.enable_additionals = true;
28 this.max_items_before_pool = $.ajatus.renderer_defaults.max_items_before_pool;
29 this.pool_settings = {
63 this.original_schema = $.ajatus.utils.object.clone(this.schema);
67 if (doc.value._type == 'note')
73 if ( doc.value._type == 'note'
74 && doc.value.metadata.archived.val == false
75 && doc.value.metadata.deleted.val == false)
77 map(doc.value.metadata.created, {
78 "_type": doc.value._type,
79 "title": doc.value.title,
80 "created": doc.value.metadata.created,
81 "creator": doc.value.metadata.creator,
82 "tags": doc.value.tags
93 'title', 'created', 'creator'
99 $.ajatus.tabs.on_click(e);
104 this.render = function() {
105 $.ajatus.active_type = self;
106 $.ajatus.layout.body.set_class('list '+self.name);
107 $.ajatus.application_content_area.html('');
109 $.ajatus.toolbar.add_item($.ajatus.i10n.get('New %s', [self.name]), {
110 icon: self.name+'-new.png',
112 $.ajatus.views.system.create.render(self);
116 $.ajatus.toolbar.show();
118 var doc_count = $.jqCouch.connection('view').get($.ajatus.preferences.client.content_database, 'note/list', {
122 if (doc_count == 0) {
123 var key = $.ajatus.i10n.plural($.ajatus.i10n.get(self.title));
124 var msg = $.ajatus.elements.messages.static($.ajatus.i10n.get('Empty results'), $.ajatus.i10n.get('No %s found', [key]));
128 if (doc_count < $.ajatus.renderer_defaults.use_db_after) {
130 var on_success = function(data) {
131 var renderer = new $.ajatus.renderer.list(
132 $.ajatus.application_content_area,
135 id: self.name + '_list_holder',
136 pool: self.pool_settings
140 $.each(data.rows, function(i,doc){
141 var doc = new $.ajatus.document(doc);
142 if ($.ajatus.tags.active != '') {
143 if ($.ajatus.utils.array.has_match($.ajatus.tags.active, doc.value.tags.val)) {
144 renderer.render_item(doc, i);
147 renderer.render_item(doc, i);
150 renderer.items_added();
151 renderer.enable_sorting();
156 $.jqCouch.connection('view', on_success).get($.ajatus.preferences.client.content_database, 'note/list', {
161 this.pool_settings.settings.use_db = true;
162 this.pool_settings.settings.db = {
163 "static": 'note/list'
166 var on_success = function(data) {
167 var renderer = new $.ajatus.renderer.list(
168 $.ajatus.application_content_area,
171 id: self.name + '_list_holder',
172 pool: self.pool_settings
176 $.each(data.rows, function(i,doc){
177 var doc = new $.ajatus.document(doc);
178 if ($.ajatus.tags.active != '') {
179 if ($.ajatus.utils.array.has_match($.ajatus.tags.active, doc.value.tags.val)) {
180 renderer.render_item(doc, i);
183 renderer.render_item(doc, i);
186 renderer.items_added(doc_count);
191 var first_doc = $.jqCouch.connection('view').get($.ajatus.preferences.client.content_database, 'note/list', {
196 $.jqCouch.connection('view', on_success).get($.ajatus.preferences.client.content_database, 'note/list', {
198 startkey: first_doc.key,
199 startkey_docid: first_doc.id,
200 count: $.ajatus.renderer_defaults.items_per_page
206 $.ajatus.preferences.client_defaults.content_types['note'] = new $.ajatus.content_type.note();