aboutsummaryrefslogtreecommitdiff
path: root/views/default/js/admin.php
diff options
context:
space:
mode:
Diffstat (limited to 'views/default/js/admin.php')
-rw-r--r--views/default/js/admin.php53
1 files changed, 53 insertions, 0 deletions
diff --git a/views/default/js/admin.php b/views/default/js/admin.php
index 46e82c71b..ca690c876 100644
--- a/views/default/js/admin.php
+++ b/views/default/js/admin.php
@@ -13,6 +13,7 @@ elgg.admin.init = function () {
elgg_slide_toggle($(this), '.plugin_details', '.manifest_file');
});
+ // plugin screenshot modal
$('.elgg-plugin-screenshot a').click(elgg.admin.displayPluginScreenshot);
// draggable plugin reordering
@@ -25,6 +26,22 @@ elgg.admin.init = function () {
revert: 500,
stop: elgg.admin.movePlugin
});
+
+ // in-line editing for custom profile fields.
+ $(".elgg-state-editable").editable(elgg.admin.editProfileField, {
+ type: 'text',
+ onblur: 'submit',
+ width: '300px',
+ height: 'none',
+ style: 'display:inline;'
+ });
+
+ // draggable profile field reordering.
+ $('#sortable_profile_fields').sortable({
+ items: 'li',
+ handle: 'span.elgg-state-draggable',
+ stop: elgg.admin.moveProfileField
+ });
}
/**
@@ -90,4 +107,40 @@ elgg.admin.displayPluginScreenshot = function(e) {
lb.css('top', top_pos).css('left', left_pos).show();
};
+/**
+ * In-line editing for custom profile fields
+ *
+ * @param string value The new value
+ * @param {Object} settings The settings used for editable
+ * @return void
+ */
+elgg.admin.editProfileField = function(value, settings) {
+ var id = $(this).attr('id');
+ id = id.replace('elgg-profile-field-', '');
+
+ var data = {
+ id: id,
+ label: value
+ };
+
+ elgg.action('profile/fields/edit', data);
+ return value;
+}
+
+/**
+ * Save the plugin profile order after a move event.
+ *
+ * @param {Object} e Event object.
+ * @param {Object} ui jQueryUI object
+ * @return void
+ */
+elgg.admin.moveProfileField = function(e, ui) {
+ var orderArr = $('#sortable_profile_fields').sortable('toArray');
+ var orderStr = orderArr.join(',');
+
+ elgg.action('profile/fields/reorder', {
+ fieldorder: orderStr
+ });
+}
+
elgg.register_event_handler('init', 'system', elgg.admin.init); \ No newline at end of file