ここの情報は古いです。ご理解頂いた上でお取り扱いください。

Changeset 10600


Ignore:
Timestamp:
Feb 3, 2009, 1:50:45 AM (11 years ago)
Author:
ebihara
Message:

#3555:added ability to store the current gadget's sorting status

File:
1 edited

Legend:

Unmodified
Added
Removed
  • OpenPNE3/trunk/apps/pc_frontend/modules/member/templates/homeSuccess.php

    r10599 r10600  
    99<?php endforeach; ?>
    1010<?php end_slot() ?>
    11 <?php echo sortable_element('Top', array('tag' => 'div', 'handle' => 'partsHeading')) ?>
     11<?php echo sortable_element('Top', array('tag' => 'div', 'handle' => 'partsHeading', 'onChange' => 'function(obj){storeSort(obj)}')) ?>
    1212<?php endif; ?>
    1313
     
    2020<?php endforeach; ?>
    2121<?php end_slot() ?>
    22 <?php echo sortable_element('Left', array('tag' => 'div', 'handle' => 'partsHeading')) ?>
     22<?php echo sortable_element('Left', array('tag' => 'div', 'handle' => 'partsHeading', 'onChange' => 'function(obj){storeSort(obj)}')) ?>
    2323<?php endif; ?>
    2424
     
    2929<?php endif; ?>
    3030<?php endforeach; ?>
    31 <?php echo sortable_element('Center', array('tag' => 'div', 'handle' => 'partsHeading')) ?>
     31<?php echo sortable_element('Center', array('tag' => 'div', 'handle' => 'partsHeading', 'onChange' => 'function(obj){storeSort(obj)}')) ?>
    3232<?php endif; ?>
    3333
     
    4444
    4545<?php echo javascript_tag('
     46function storeSort(obj)
     47{
     48  var result = "";
     49  Element.childElements(obj.parentNode).each(function(child, index){
     50    if (child.id && child.id.match(/_[0-9]+$/)) {
     51      if (result) {
     52        result = result + ",";
     53      }
     54      result = result + child.id;
     55    }
     56  });
     57  var path = "'.($sf_request->getRelativeUrlRoot() ? $sf_request->getRelativeUrlRoot() : '/').'";
     58  var expires = new Date();
     59  expires.setTime((new Date()).getTime() + (10 * 12 * 30 * 24 * 60 * 60 * 1000));
     60  var pos = obj.parentNode.id;
     61
     62  opCookie.set("HomeGadget_" + pos + "_sort", result, expires, path);
     63}
     64
    4665function foldObj(obj, display)
    4766{
     
    6483        var expires = new Date();
    6584        expires.setTime((new Date()).getTime() + (10 * 12 * 30 * 24 * 60 * 60 * 1000));
    66         opCookie.set("HomeGadget_"+id+"_toggle", child.visible(), expires, path);
     85        opCookie.set("HomeGadget_" + id + "_toggle", child.visible(), expires, path);
    6786      }
    6887    }
     
    8099    foldObj(obj, display);
    81100  }
     101
     102});
     103
     104var TopSort = opCookie.get("HomeGadget_Top_sort");
     105console.debug(TopSort);
     106var Top = document.getElementById("Top");
     107var preGadget = null;
     108TopSort.split(",").each(function(value){
     109  var gadget = document.getElementById(value);
     110  if (!preGadget) {
     111    console.debug("first gadget");
     112    Element.remove(gadget);
     113    Insertion.Top(Top, gadget);
     114  } else {
     115    console.debug("normal gadget");
     116    Element.remove(gadget);
     117    Insertion.After(preGadget, gadget);
     118  }
     119  preGadget = gadget;
     120});
     121
     122var LeftSort = opCookie.get("HomeGadget_Left_sort");
     123console.debug(LeftSort);
     124var Left = document.getElementById("Left");
     125var preGadget = null;
     126LeftSort.split(",").each(function(value){
     127  var gadget = document.getElementById(value);
     128  if (!preGadget) {
     129    console.debug("first gadget");
     130    Element.remove(gadget);
     131    Insertion.Top(Left, gadget);
     132  } else {
     133    console.debug("normal gadget");
     134    Element.remove(gadget);
     135    Insertion.After(preGadget, gadget);
     136  }
     137  preGadget = gadget;
     138});
     139
     140var CenterSort = opCookie.get("HomeGadget_Center_sort");
     141console.debug(CenterSort);
     142var Center = document.getElementById("Center");
     143var preGadget = null;
     144CenterSort.split(",").each(function(value){
     145  var gadget = document.getElementById(value);
     146  if (!preGadget) {
     147    console.debug("first gadget");
     148    Element.remove(gadget);
     149    Insertion.Top(Center, gadget);
     150  } else {
     151    console.debug("normal gadget");
     152    Element.remove(gadget);
     153    Insertion.After(preGadget, gadget);
     154  }
     155  preGadget = gadget;
    82156});
    83157
Note: See TracChangeset for help on using the changeset viewer.