Publish Vulpes Preview 15 sources for desktop, Android and Tundra

Share Gaia assets and adapters, keep private profiles and development documents local, and update both public READMEs.
This commit is contained in:
OverSu 2026-09-30 23:13:03 +02:00
commit b38dea0597
25901 changed files with 9982925 additions and 369 deletions

View file

@ -0,0 +1,129 @@
define(function(require, exports, module) {
'use strict';
var Abstract = require('./abstract');
var core = require('core');
var localCalendarId = require('common/constants').localCalendarId;
var mutations = require('event_mutations');
var uuid = require('ext/uuid');
function Local() {
Abstract.apply(this, arguments);
var storeFactory = core.storeFactory;
this.events = storeFactory.get('Event');
this.busytimes = storeFactory.get('Busytime');
this.alarms = storeFactory.get('Alarm');
}
module.exports = Local;
/**
* Returns the details for the default calendars.
*/
Local.defaultCalendar = function() {
// XXX: Make async
//var l10nId = 'calendar-local';
var name;
/* TODO(gareth): Make l10n available in backend.
if ('mozL10n' in window.navigator) {
name = window.navigator.mozL10n.get(l10nId);
if (name === l10nId) {
name = null;
}
}
if (!name) {
name = 'Offline calendar';
}
*/
name = 'Offline calendar';
return {
// XXX localize this name somewhere
name: name,
id: localCalendarId,
color: Local.prototype.defaultColor
};
};
Local.prototype = {
__proto__: Abstract.prototype,
canExpandRecurringEvents: false,
getAccount: function(account, callback) {
callback(null, {});
},
findCalendars: function(account, callback) {
var list = {};
list[localCalendarId] = Local.defaultCalendar();
callback(null, list);
},
syncEvents: function(account, calendar, cb) {
cb(null);
},
/**
* @return {Calendar.EventMutations.Create} mutation object.
*/
createEvent: function(event, callback) {
// most providers come with their own built in
// id system when creating a local event we need to generate
// our own UUID.
if (!event.remote.id) {
// TOOD: uuid is provided by ext/uuid.js
// if/when platform supports a safe
// random number generator (values never conflict)
// we can use that instead of uuid.js
event.remote.id = uuid();
}
var create = mutations.create({ event: event });
create.commit(function(err) {
if (err) {
return callback(err);
}
callback(null, create.busytime, create.event);
});
return create;
},
deleteEvent: function(event, busytime, callback) {
if (typeof(busytime) === 'function') {
callback = busytime;
busytime = null;
}
var storeFactory = core.storeFactory;
storeFactory.get('Event').remove(event._id, callback);
},
/**
* @return {Calendar.EventMutations.Update} mutation object.
*/
updateEvent: function(event, busytime, callback) {
if (typeof(busytime) === 'function') {
callback = busytime;
busytime = null;
}
var update = mutations.update({ event: event });
update.commit(function(err) {
if (err) {
return callback(err);
}
callback(null, update.busytime, update.event);
});
return update;
}
};
});