]> gitweb.fluxo.info Git - lorea/elgg.git/commitdiff
updated the walled garden js to use new js lib
authorCash Costello <cash.costello@gmail.com>
Fri, 10 Feb 2012 13:06:33 +0000 (08:06 -0500)
committerCash Costello <cash.costello@gmail.com>
Fri, 10 Feb 2012 13:06:33 +0000 (08:06 -0500)
engine/lib/elgglib.php
views/default/js/walled_garden.php
views/default/page/layouts/walled_garden.php

index 5c444c2f59482576a261e2a424e8d2d281b7b48c..b55958a6c0aeac458a495d17c305f3d12da0aa18 100644 (file)
@@ -2026,6 +2026,7 @@ function elgg_walled_garden_index() {
        $params = array(
                'content' => $content,
                'class' => 'elgg-walledgarden-double',
+               'id' => 'elgg-walledgarden-login',
        );
        $body = elgg_view_layout('walled_garden', $params);
        echo elgg_view_page('', $body, 'walled_garden');
@@ -2046,6 +2047,7 @@ function _elgg_walled_garden_ajax_handler($page) {
        $params = array(
                'content' => elgg_view("core/walled_garden/$view"),
                'class' => 'elgg-walledgarden-single hidden',
+               'id' => str_replace('_', '-', "elgg-walledgarden-$view"),
        );
        echo elgg_view_layout('walled_garden', $params);
        return true;
index e761e58697d72c610ec932db8cc5ee9792312985..13ec83c04c79efa232e2b4bfd82ee63ad349619b 100644 (file)
@@ -2,9 +2,10 @@
 /**
  * Walled garden JavaScript
  *
- * @todo update for new JS lib
+ * @since 1.8
  */
 
+// note that this assumes the button view is not using single quotes
 $cancel_button = elgg_view('input/button', array(
        'value' => elgg_echo('cancel'),
        'class' => 'elgg-button-cancel mlm',
@@ -13,27 +14,12 @@ $cancel_button = trim($cancel_button);
 
 ?>
 
-$(document).ready(function() {
+elgg.provide('elgg.walled_garden');
 
-       $('.forgot_link').click(function(event) {
-               $.get('walled_garden/lost_password', function(data) {
-                       $('.elgg-walledgarden-double').fadeToggle();
-                       $('.elgg-body-walledgarden').append(data);
-                       $(".elgg-form-user-requestnewpassword").find('input.elgg-button-submit').after('<?php echo $cancel_button; ?>');
-                       $('.elgg-walledgarden-single').fadeToggle();
-               });
-               event.preventDefault();
-       });
+elgg.walled_garden.init = function () {
 
-       $('.registration_link').click(function(event) {
-               $.get('walled_garden/register', function(data) {
-                       $('.elgg-walledgarden-double').fadeToggle();
-                       $('.elgg-body-walledgarden').append(data);
-                       $('.elgg-form-register').find('input.elgg-button-submit').after('<?php echo $cancel_button; ?>');
-                       $('.elgg-walledgarden-single').fadeToggle();
-               });
-               event.preventDefault();
-       });
+       $('.forgot_link').click(elgg.walled_garden.load('lost_password'));
+       $('.registration_link').click(elgg.walled_garden.load('register'));
 
        $('input.elgg-button-cancel').live('click', function(event) {
                if ($('.elgg-walledgarden-single').is(':visible')) {
@@ -43,4 +29,28 @@ $(document).ready(function() {
                }
                event.preventDefault();
        });
-});
\ No newline at end of file
+};
+
+/**
+ * Creates a closure for loading walled garden content through ajax
+ *
+ * @param {String} view Name of the walled garden view
+ * @return {Object}
+ */
+elgg.walled_garden.load = function(view) {
+       return function(event) {
+               var id = '#elgg-walledgarden-' + view;
+               id = id.replace('_', '-');
+               elgg.get('walled_garden/' + view, {
+                       'success' : function(data) {
+                               $('.elgg-body-walledgarden').append(data);
+                               $(id).find('input.elgg-button-submit').after('<?php echo $cancel_button; ?>');
+                               $('#elgg-walledgarden-login').fadeToggle();
+                               $(id).fadeToggle();
+                       },
+               });
+               event.preventDefault();
+    };
+};
+
+elgg.register_hook_handler('init', 'system', elgg.walled_garden.init);
\ No newline at end of file
index 5cddcbb778740231b30da4b9f5862536d7771bd3..6ecd941ef6fa34bdd1fda543a91b6ee4da9be500 100644 (file)
@@ -4,11 +4,13 @@
  *
  * @uses $vars['content'] Main content
  * @uses $vars['class']   CSS classes
+ * @uses $vars['id']      CSS id
  */
 
 $class = elgg_extract('class', $vars, 'elgg-walledgarden-single');
 echo elgg_view_module('walledgarden', '', $vars['content'], array(
        'class' => $class,
+       'id' => elgg_extract('id', $vars, ''),
        'header' => ' ',
        'footer' => ' ',
 ));