34 lines
1.3 KiB
Plaintext
34 lines
1.3 KiB
Plaintext
Using OCCategories
|
|
|
|
This 'class' is meant for any apps that uses OC_VObjects with the CATEGORIES field e.g.
|
|
Contacts and Calendar. It provides an editor UI for adding/deleting and rescanning categories
|
|
and basic ajax functions for adding and deleting.
|
|
To use the mass updating of OC_VObjects that /lib/vcategories.php provides, the app must implement
|
|
its own ajax functions in /apps/$(APP)/ajax/categories/rescan.php and /apps/$(APP)/ajax/categories/delete.php
|
|
See examples in /apps/contacts/ajax/categories and the inline docs in /lib/vcategories.php.
|
|
|
|
In your app make sure you load the script and stylesheet:
|
|
|
|
OC_Util::addScript('','oc-vcategories');
|
|
OC_Util::addStyle('','oc-vcategories');
|
|
|
|
Set the app specific values in your javascript file. This is what I've used for the Contacts app:
|
|
|
|
OCCategories.app = 'contacts';
|
|
OCCategories.changed = Contacts.UI.Card.categoriesChanged;
|
|
|
|
If OCCategories.changed is set that function will be called each time the categories have been changed
|
|
in the editor (add/delete/rescan) to allow the app to update the UI accordingly. The only argument to the function
|
|
is an array of the updated categories e.g.:
|
|
|
|
OCCategories.changed = function(categories) {
|
|
for(var category in categories) {
|
|
console.log(categories[category]);
|
|
}
|
|
}
|
|
|
|
To show the categories editor call:
|
|
|
|
OCCategories.edit()
|
|
|