Spry repeted region: only at filtering

Hi all:
I made a typical spry region with a table and an spry:repeat. Also I included a form with a text field and a button for filter. Everything works fine.
When the user loads the page, all data is shown and that was fine while the XML file has few data. But now I have about 2500 rows and it has no sense to show all the data at first. I'd like that when the user load the page, it shows the page with no data. The data must be shown only when a filter is executed.
I tried with this:
<script type="text/javascript">
var dsMyData = new Spry.Data.XMLDataSet("xml/data.xml ....
dsMyData.filter(null);
and it works but..... it takes some time to process... almost the same if all data were shown. Also I tried moving the dataset's declaration  to other parts of the code with no success. Is there a way to make the dataset works only when the user click my search button and  not when the page is loaded?
Thanks a lot and sorry my english
PC

I tend to use XPath to filter larger datasets. On change of the selected item you can change the value of XPath to show that data range.
Have a look here http://labs.adobe.com/technologies/spry/samples/data_region/XPathFilteringSample.html
Gramps

Similar Messages

  • Help with Spry Rating Widget within a Spry Repeating Region

    My link  http://www.youthinkyougotitbad.com
    This is a long question, but it seems to me if answered somewhere it could help alot of people in the spry community creating comment boards as it uses three important spry widgets: rating, repeating, and tabbed panels. I am trying to use spry rating widget within a spry repeating region within a spry tabbed panel with xml. I was trying to go with the pulse light script (http://forums.adobe.com/message/3831721#3831721) but Gramps told me about the spry rating widget. But I have ran into a couple more problems. First, I couldnt find that much information on the forums or online about how to do the php page with the spry rating widget. None of these have any information on how to do it:
    http://labs.adobe.com/technologies/spry/articles/rating_overview/index .html
    http://labs.adobe.com/technologies/spry/articles/data_api/apis/rating. html
    http://labs.adobe.com/technologies/spry/samples/rating/RatingSample.ht ml
    And it seems that the official examples are so poor (or I am just ignorant, which def could be a possiblity) it shows
    to set the initial rating value from the server, but uses a static value of 4
    http://labs.adobe.com/technologies/spry/samples/rating/RatingSample.html
    <span id="initialValue_dynamic" class="ratingContainer">
             <span class="ratingButton"></span>
             <span class="ratingButton"></span>
             <span class="ratingButton"></span>
             <span class="ratingButton"></span>
             <span class="ratingButton"></span>      
             <input id="spryrating1_val" type="text" name="spryrating1" value="4" readonly="readonly" />
             <span class="ratingRatedMsg sample">Thanks for your rating!</span>
    </span>
    <script>
    var initialValue_dynamic = new Spry.Widget.Rating("initialValue_dynamic", {ratingValueElement:'spryrating1_val'});
    </script>
    I finally found a site that has the php and mysql setup.
    http://www.pixelplant.ro/en/articles/article-detail/article/adobe-widgets-for-download.htm l
    But its not perfect. It has the same problem that I ran into with Pulse light, that you had to use php echo within the spry repeating region to set the initial value from the server:
    <span id="spryrating1" class="ratingContainer">
             <span class="ratingButton"></span>
                <input type="text" id="ratingValue" name="dynamic_rate" value="<?php echo $row['average']?>"/>
            </span>
            <script type="text/javascript"
                var rating1 = new Spry.Widget.Rating("spryrating1", {ratingValueElement:'ratingValue', afterRating:'serverValue', saveUrl: 'save.php?id=spryrating1&val=@@ratingValue@@'});
            </script>
    So instead, I tried with three of my panels (www.youthinkyougotitbad.com) to get the average rating from xml by using the following queries:
    Recent
    Returns the blurts in most recent order along with average rating
    SELECT Blurt.Id_blurt, Blurt.Name, Blurt.Location, Blurt.Blurt,Blurt.`Date`,DATE_FORMAT(Blurt.`Date`, '%l:%i %p on %M %D, %Y') as Date, ratings.rating_id, Avg(ratings.rating_value) as average_r FROM ratings Left Join Blurt On ratings.rating_id = Blurt.Id_blurt Group By Id_blurt ORDER BY Blurt.`Date` DESC
    Wet Eyed
    Returns the blurts in highest ratings order along with the average rating
    SELECT Blurt.Id_blurt, Blurt.Name, Blurt.Location, Blurt.Blurt, DATE_FORMAT(Blurt.`Date`, '%l:%i %p on %M %D, %Y') as Date, ratings.rating_id, Avg(ratings.rating_value) as average_r FROM ratings Left Join Blurt On ratings.rating_id = Blurt.Id_blurt AND ratings.rating_value > 0.1 Group By Id_blurt ORDER BY average_r Desc
    Dry Eyed
    Returns the blurts in lowest rating order along with the average rating
    SELECT Blurt.Id_blurt, Blurt.Name, Blurt.Location, Blurt.Blurt, DATE_FORMAT(Blurt.`Date`, '%l:%i %p on %M %D, %Y') as Date, ratings.rating_id, Avg(ratings.rating_value) as average_r FROM ratings Left Join Blurt On ratings.rating_id = Blurt.Id_blurt AND ratings.rating_value > 0.1 Group By Id_blurt ORDER BY average_r
    These all return the correct xml in the correct order.And they return the average rating of each blurt which I can send to my page with xml.
    My first question is that I dont know how to configure the query on my fourth panel Empathized & Advised the same way because it already has a Group By for the Comment Id.
    SELECT `Comment`.id_Blurt, COUNT(*) as frequency, Blurt.Id_blurt, Blurt.Name, Blurt.Location, Blurt.Blurt, DATE_FORMAT(Blurt.`Date`, '%l:%i %p on %M %D, %Y') as Date FROM Blurt, `Comment` WHERE Blurt.Id_blurt = `Comment`.id_Blurt GROUP BY `Comment`.id_Blurt ORDER BY COUNT(*) DESC";
    Not sure if you guys need more information to understand that all, if so just ask.
    So after I get my average value through xml to the first three panels, I set my spry repeating region up like this:
    (Blurt panel)
    <div spry:region="pv1" spry:repeatchildren="pv1">           
               <div class="blurtbox">
                <!--  most recent blurt tab-->
                <h3> "{pv1::Blurt}"</h3>
                <p> Blurted from {pv1::Location} at {pv1::Date}</p>
                <p>Empathize or Advise about {pv1::Name}'s Blurt #<a href="detailblurt.php?blurtid={pv1::Id_blurt}"> {pv1::Id_blurt}</a></a></p>
               <span id="{pv1::Id_blurt}" class="ratingContainer">
                <span class="ratingButton"></span>
                <span class="ratingButton"></span>
                <span class="ratingButton"></span>
                <span class="ratingButton"></span>
                <span class="ratingButton"></span>
                <span class="ratingRatedMsg">Thank You! Your tears have been tallied.</span>
                <input type="text" id="ratingValue" name="dynamic_rate" value="{pv1::average_r}"/>
            </span>
            <script type="text/javascript">
                // overview of available options and their values:
                // http://labs.adobe.com/technologies/spry/articles/rating_overview/index.html
                var rating1 = new Spry.Widget.Rating("{pv1::Id_blurt}", {ratingValueElement:'ratingValue', afterRating:'serverValue', saveUrl: 'save.php?id={pv1::Id_blurt}&val=@@ratingValue@@'});
            </script>
                 <br/>
               </div>
              </div>
    Ok, it registers the right vote in the database with the right blurt id each time. But I am having two problems so far:
    One, even though {pv1::average_r} returns the correct average through xml, it doesn't show the initial rating value for each of the repeating blurts. It seems to show the first one correct, and then just repeat that same value to the other ones that follow. I just dont understand since it can get the correct server value right after you vote (afterRating:'serverValue), that I can't manipulate spryrating.js in some way that I could just replace 'ratingValue' in ratingValueElement:'ratingValue' with something to give me the initial server value.
    Two: Is even more mysterious to me, if you play around with voting on the site, sometimes you are unable to vote on different blurts. Its weird. It seems like that the javascript is completely off just on those blurts. And sometimes its a whole row, sometimes none. But so far its never a problem on the first tabbed panel (Recent), only on the other three. As far as I know, the coding is exactly the same in each tab's repeating region except for the different xml input.
    And, now on the live server, sometimes the pics of tears used to voting dont show up until you click.
    Any help on those three questions (how to query the fourth panel, how to show the initial server value, and the glitches with voting) would be greatly appreciated!! I looked pretty hard on adobe forums and other sites, and didnt see much on how to really use the spry rating widget with php and xml.
    Thanks!!

    Update:
    Ok, the first query on the Recent tab doesnt work for me because it wont show unless its already voted, and since these are supposed to be new blurts, that kind of breaks the whole site:
    "SELECT Blurt.Id_blurt, Blurt.Name, Blurt.Location, Blurt.Blurt,Blurt.`Date`,DATE_FORMAT(Blurt.`Date`, '%l:%i %p on %M %D, %Y') as Date, ratings.rating_id, Avg(ratings.rating_value) as average_r FROM ratings Left Join Blurt On ratings.rating_id = Blurt.Id_blurt Group By Id_blurt ORDER BY Blurt.`Date` DESC";
    So I replaced it with what I originally had.
    "SELECT Blurt.Id_blurt, Blurt.Name, Blurt.Location, Blurt.Blurt,Blurt.`Date`,DATE_FORMAT(Blurt.`Date`, '%l:%i %p on %M %D, %Y') as Date FROM Blurt ORDER BY Blurt.`Date` DESC";
    But this doesn't provide me with the initial average rating:(

  • Submitting a Form in a Spry Tabbed Region

    I have a spry tabbed region with 6 tabs.
    I have constructed a menu which targets and opens the specific tab using the ?tab=4 type notation.  I have also created links between tabs using the same notation.  All works fine.
    I have a form in one tab which, when I submit it, I want to return to the same tab.  However when I use the notation <form action="index.php?tab=4" > the page just reloads on the first tab, stripping off the ?tab=4 part of the url. I have searched the forums but can't find any reference to how to target a specific tab when submitting a form.
    Any help much appreciated.
    Thanks
    John

    Hi
    Thanks for your patience.
    Because there are 8 tabs on this page there is a lot of code, much of it irrelevant, so I have copied below the chunks which relate to this part of the page.
    When the form is submitted the data being returned from the database is correct and is loaded into the page. It is just that the page loads the first tab and you then have to click on the 'Results' tab to see the data which has been returned.
    Ok, from the top of the page the php code which filters the recordset is as follows;
    <?php
    if (!function_exists("GetSQLValueString")) {
    function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
      if (PHP_VERSION < 6) {
        $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
      $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);
      switch ($theType) {
        case "text":
          $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
          break;   
        case "long":
        case "int":
          $theValue = ($theValue != "") ? intval($theValue) : "NULL";
          break;
        case "double":
          $theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
          break;
        case "date":
          $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
          break;
        case "defined":
          $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
          break;
      return $theValue;
    // recordset for results
    $var1_rsCompResults = "-1";
    if (isset($_GET["event_ID"])) {
      $var1_rsCompResults = $_GET["event_ID"];
    $var2_rsCompResults = "-1";
    if (isset($_GET["age_group"])) {
      $var2_rsCompResults = $_GET["age_group"];
    $var3_rsCompResults = "-1";
    if (isset($_GET["gender"])) {
      $var3_rsCompResults = $_GET["gender"];
    mysql_select_db($database_connPublic, $connPublic);
    $query_rsCompResults = sprintf("SELECT tblResults.result_ID, DATE_FORMAT(tblEvents.event_start_date, '%%Y') AS year, tblResults.event_ID, tblEvents.event_name, tblResults.age_group, tblResults.points, tblIndividuals.forename, tblIndividuals.surname, tblIndividuals.sex FROM tblEvents INNER JOIN tblResults ON tblEvents.event_id = tblResults.event_ID INNER JOIN tblIndividuals ON tblResults.individual_ID = tblIndividuals.individual_id WHERE tblResults.event_ID = %s AND age_group = %s AND sex = %s ORDER BY tblResults.points", GetSQLValueString($var1_rsCompResults, "int"),GetSQLValueString($var2_rsCompResults, "text"),GetSQLValueString($var3_rsCompResults, "text"));
    $rsCompResults = mysql_query($query_rsCompResults, $connPublic) or die(mysql_error());
    $row_rsCompResults = mysql_fetch_assoc($rsCompResults);
    $totalRows_rsCompResults = mysql_num_rows($rsCompResults);
    ?>
    then the links to the Spry Assets and the  js which creates the datasets is as follows;
    <script src="../SpryAssets/SpryTabbedPanels.js" type="text/javascript"></script>
    <script src="../SpryAssets/SpryURLUtils.js" type="text/javascript"></script>
    <script src="../SpryAssets/SpryData.js" type="text/javascript"></script>
    <script src="../SpryAssets/SpryDataExtensions.js" type="text/javascript"></script>
    <script src="../SpryAssets/SpryHTMLDataSet.js" type="text/javascript"></script>
    <script src="../SpryAssets/SpryNestedXMLDataSet.js" type="text/javascript"></script>
    <script src="../SpryAssets/SpryXML.js" type="text/javascript"></script>
    <script src="../SpryAssets/SpryTabbedPanels.js" type="text/javascript"></script>
    <script src="../SpryAssets/SpryPagedView.js" type="text/javascript"></script>
    <script src="../SpryAssets/xpath.js" type="text/javascript"></script>
    <script type="text/javascript">
    var dsYears = new Spry.Data.XMLDataSet("competitions_year_data_xml.php", "root/row");
    var dsCompetitions = new Spry.Data.XMLDataSet("calendar_competitions_data_xml.php", "root/row[year = '{dsYears::year}']");
    var dsAgeGroups = new Spry.Data.XMLDataSet("competitions_age_group_data_xml.php", "root/row[event_ID = '{dsCompetitions::event_ID}']");
    var dsGender = new Spry.Data.XMLDataSet("competitions_sex_data_xml.php", "root/row[age_group = '{dsAgeGroups::age_group}']");
    </script>
    Then the html which creates the tabbed region is as follows;
                      <div id="TabbedPanels1" class="TabbedPanels">
                          <ul class="TabbedPanelsTabGroup">
                            <li class="TabbedPanelsTabLeft" tabindex="0">News</li>
                            <li class="TabbedPanelsTab" tabindex="1">Calendar</li>
                            <li class="TabbedPanelsTab" tabindex="2">Rules</li>
                            <li class="TabbedPanelsTab" tabindex="3">Competition Entries</li>
                            <li class="TabbedPanelsTab" tabindex="4">Results</li>
                            <li class="TabbedPanelsTab" tabindex="5">Rankings</li>
                            <li class="TabbedPanelsTab" tabindex="6">Contacts</li>
                            <li class="TabbedPanelsTabRight" tabindex="7">FAQ</li>
                          </ul>
                          <div class="TabbedPanelsContentGroup">
    Then the form which includes the four select statements is as follows;
    <div class="TabbedPanelsContent" id ="results_data">
                   <h3>Results</h3>
    <form name="selectForm" action="index.php?tab=4&" method="get">
            Year:
    <span spry:region="dsYears" id="yearSelector">
            <select spry:repeatchildren="dsYears" spry:choose="spry:choose" name="year" onchange="dsYears.setCurrentRowNumber(this.selectedIndex);">
                <option value="{year}" spry:when="{ds_CurrentRowID} == {ds_RowID}" selected="selected">{year}</option>
                <option value="{year}" spry:default="spry:default" >{year}</option>
            </select>
    </span>
            Event:
    <span spry:region="dsCompetitions" id="eventSelector">
            <select spry:repeatchildren="dsCompetitions" name="event_ID" onchange="dsCompetitions.setCurrentRowNumber(this.selectedIndex);">
                <option value="{event_ID}">{event_name}</option>
            </select>
    </span>
            Age Groups:
    <span spry:region="dsAgeGroups" id="agegroupSelector">
            <select spry:repeatchildren="dsAgeGroups" name="age_group" onchange="dsAgeGroups.setCurrentRowNumber(this.selectedIndex);">
                <option value="{age_group}">{age_group}</option>
            </select>
    </span>
            Gender:
    <span spry:region="dsGender" id="genderSelector">
            <select spry:repeatchildren="dsGender" name="gender">
                <option value="{sex}">{sex}</option>
            </select>
    </span>
    <input type="submit" value="Submit" />
    </form>
    <?php if ($totalRows_rsCompResults > 0) { // Show if recordset not empty ?>
      <div id="result_ID" name="result_ID">
        <table>
          <tr>
            <th>Athlete Name</th>
            <th>Event</th>
            <th>Score</th>
          </tr>
          <?php do { ?>
            <tr>
              <td><?php echo $row_rsCompResults['forename']; ?> <?php echo $row_rsCompResults['surname']; ?></td>
              <td><?php echo $row_rsCompResults['event_name']; ?></td>
              <td><?php echo $row_rsCompResults['points']; ?></td>
            </tr>
            <?php } while ($row_rsCompResults = mysql_fetch_assoc($rsCompResults)); ?>
        </table>
      </div>
      <?php } // Show if recordset not empty ?>
           </div> <!-- end of TabbedPanelsContent div Results -->
    Then at the end of the page is this code;
    <script type="text/javascript">
    var TabbedPanels1 = new Spry.Widget.TabbedPanels("TabbedPanels1", {defaultTab: params.tab ? params.tab : 0});
    </script>
    </body>
    </html>
    <?php
    mysql_free_result($rsCompResults);
    ?> 

  • Help With Spry Repeat Regions

    Hello everyone,
    I've recently started using Spry for a project I've been
    asked to work on and I've run in to a few issues since my spec
    changed on me today. So any help or advice anyone has is very much
    welcome as I'm very much out my comfort zone at the moment.
    Original Spec
    The idea originally was to have a drop down of roles which
    was created from the role tag within a xml file which I was able to
    do as you can see below in the attached code. Once the user had
    picked a role it would then
    ds2.setCurrentRowNumber(this.selectedIndex) and this would trigger
    the spry detail region I have to populate the fields I setup to get
    out of the xml the role, process and info.
    At the time I was told a role would only appear once in the
    file but this is now not the case :(
    My problem / New Spec
    Unfortunately with the xml now having a role more then once
    I've been asked to include a dynamic region which will display the
    process and info fields from other records which have this role
    name. Which is the bit I'm having problems with. I've been playing
    with creating a spry:repeat for each field and then using
    Spry:if="'{Role}'.search(^/myVar/) != -1; but I've had no luck
    getting a value into a variable and I'm lack of experience is
    running out of ideas.
    Hope I've made sense this is my first time using spry and
    JavaScript, so any help is greatly welcome.
    Thanks Nick.
    Example of the XML file - Please note this is very much a cut
    down version.

    tried changing the Region HTML table cell attributes to width:75pct, but this has no effect.Unsurprisingly. Use a valid CSS length specification.

  • Usin Spry$$ in spry:repeat regions

    Hi,
    I'm not sure whats happening here but i'll try to be
    detailed.
    I am using spry to make a master page set.
    on a region i have
    quote:
    var observer = { onPostUpdate: function(notifier, data) { var
    r = Spry.$$(".changeStatusLink").addEventListener("click",
    changeStatus, true); } };
    where the element selector is
    quote:
    <td align="center" valign="middle" nowrap="nowrap"
    spry:setrow="ds1 {ds_rowID}">[EDIT] | [<a
    id="statusLink{ds_RowID}" class="changeStatusLink">CHANGE
    STATUS</a>] | [DELETE]</td>
    in a
    spry:repeat region
    Now on a "click" the selector is able to trigger the
    changeStatus function....but for some reason
    only the first row's {ds_RowID} of the
    spry:repeat is being captured when the function
    "changeStatus"
    is
    quote:
    function changeStatus(e){
    var row = ds1.getCurrentRow();
    var id = row['@id'];
    alert(id);
    is it the fact that because the "class" is being repeated it
    is not picking up the actual "element" that triggered the event? or
    is there something wrong with the ds1.getCurrentRow?Text

    the spry:repeat IS on the
    <tr>
    I don't have a URL
    but the code is...
    quote:
    <!--
    var ds1 = new Spry.Data.XMLDataSet("get_docs.php",
    "documents/doc",{sortOnLoad:"@section",sortOrderOnLoad:"ascending",useCache:false});
    ds1.setColumnType("@id", "number");
    function MySuccessCallback(req)
    var state = req.xhRequest.responseText;
    if(state == 1){
    ds1.setDataFromArray([req.userData]);
    }else if(state == 2){
    }else{
    function MyErrorCallback(req)
    // Throw an alert with the message that was
    // passed to us via the userData.
    alert("ERROR: " + req.userData.msg);
    function changeStatus(e){
    alert(e.target);
    var row = ds1.getCurrentRow();
    var id = row['@id'];
    alert(id);
    var req = Spry.Utils.loadURL("POST", "set_status.php", true,
    MySuccessCallback, { postData: "docid="+id+"&action=status",
    headers: { "Content-Type": "application/x-www-form-urlencoded;
    charset=UTF-8" }, errorCallback: MyErrorCallback, userData: row })
    var observer = { onPostUpdate: function(notifier, data) { var
    r = Spry.$$(".changeStatusLink").addEventListener("click",
    changeStatus, true); } };
    Spry.Data.Region.addObserver("documentList", observer);
    Spry.Utils.addEventListener(Spry.$$(".changeStatusLink"),"click",changeStatus,true);
    //-->

  • Split Spry.Data and Spry.Data.Region from SpryData.js?

    I don't like Spry.Data.Region or anything like Spry.*.Region because it make hard to customize using javascript.
    But Spry.Data with Observer / Notify feature is great one. In fact, using SpryData.js, I can write my own "render html object" easier.
    SrpyData.js is big (127KB) even when compressed, it is still 65KB. That why, needed split Spry.Data and Spry.Data.Region from SpryData.js so who want to use Spry.Data only like me will get smaller trafic.
    I've tried remove all Spry.Data.Region content in SpryData.js. Surprise, some in Spry.Data call to Spry.Data.Region >>> Design have problem.
    Anyone can help splitting them?

    Found this in the archives:
    <div spry:if="{ds_RowCount} == 0" class="trigger" style="display:none"></div>
    Basically a hack to point the tooltip to a hidden div so no errors are thrown.

  • Caught exception in Spry.Data.Region.

    Hi there every one...
    I getting this error and i cant get around it can anyone help
    me, thanks in advanced.....
    code:
    <div spry:region="pvprefix" class="SpryHiddenRegion">
    <a href="javascript:pvprefix.previousPage();"
    spry:if="{ds_PageNumber} != '1'"><-- <? echo
    ucfirst($traducoes['_anterior']);?></a>   
    <a href="javascript:pvprefix.nextPage();"
    spry:if="{ds_PageNumber} != {ds_PageCount}"><? echo
    ucfirst($traducoes['_proximo']);?> --></a>
    </div>
    error:
    Caught exception in Spry.Data.Region.prototype.processTokens
    while evaluating: != '1' Exception:SyntaxError: syntax error
    Caught exception in Spry.Data.Region.prototype.processTokens
    while evaluating: != Exception:SyntaxError: syntax error
    i have a similer code above and it works fine:
    code:
    <div spry:region="pvprefix" class="SpryHiddenRegion">
    <p spry:if="{ds_UnfilteredRowCount} &gt; 0"><?
    echo ucfirst($traducoes['_pagina']);?> {ds_PageNumber} <?
    echo ucfirst($traducoes['_de']);?> {ds_PageCount} - <? echo
    ucfirst($traducoes['_items']);?> {ds_PageFirstItemNumber} -
    {ds_PageLastItemNumber} <? echo ucfirst($traducoes['_de']);?>
    {ds_UnfilteredRowCount}</p>
    <p spry:if="{ds_UnfilteredRowCount} == 0"><? echo
    ucfirst($traducoes['_erro_destinos']);?></p>
    </div>

    I think this is happening when there is no data to page. In
    that case your {ds_PageNumber} is not defined so your spry:if
    attribute probabaly ends up looking like this:
    spry:if="!= '1'"
    You can either quote your {ds_PageNumber} which you should
    probably do cause your '1' is quoted:
    spry:if="'{ds_PageNumber}' != '1'
    or only execute that markup if you have rows of data:
    <div spry:region="pvprefix"
    spry:if="{ds_UnfilteredRowCount} > 0">
    </div>
    --== Kin ==--

  • Spry Validation in Spry Detail Region

    I am trying to pre-populate an "update" data form using a
    spry detail region. Basically a list of users is displayed on the
    left, and the detail in a tab on the right. A second "edit" tab
    displays a form that is populated with data from the spry dataset
    using a detail region (just as the first detail tab). However, the
    spry validations within the detail region do not work.
    Download
    this zip.
    Thanks for looking.

    Hi jmortimer,
    What you need to do is trigger the constructors for your
    validation widgets every time the region updates. To do this, you
    need to either move the constructor calls into your region, *or*
    call the constructors from an onPostUpdate observer on your region.
    To see an example of this, look here:
    http://labs.adobe.com/technologies/spry/samples/accordion/AccordionSample2.html
    Just a note ... don't move the constructor for your tabbed
    panel into the region. Leave it where it is today.
    --== Kin ==--

  • Help with Spry Detail Regions, XML Data Sets, for IMG gallery

    Hello,
    I'm working on a site for a friend of mine, a photo gallery. You can see the gallery here, it's a temporary one I'm working on
    http://www.emiliajozefa.com/a_index.html
    Here are some important parts of my code:
    //initially load these data sets. the function will be called by the links to update components later<script type="text/javascript">
         var intNumPhoto = 0;
         dsGallery = new Spry.Data.XMLDataSet("photofile.xml", "galleries/ride/photo");
         dsNav = new Spry.Data.XMLDataSet("photofile.xml", "galleries/ride");
         function updateSpryComponents(galleryDir){
              alert("updating spry components for " + galleryDir);
              intNumPhoto = 0;
              dsGallery = Spry.Data.XMLDataSet("photofile.xml", "galleries/" + galleryDir + "/photo");
              dsNav = Spry.Data.XMLDataSet("photofile.xml", "galleries/" + galleryDir);
              dsGallery.setCurrentRow(intNumPhoto);
              //document.getElementById('nav').innerHTML='<H1>'+enlarge.inp.value+'</H1>';
              document.getElementById('nav').innerHTML=
              "<span spry:detailregion = 'dsGallery'>
             <a href = 'javascript:' onclick = 'if(intNumPhoto > 0){intNumPhoto -= 1}; dsGallery.setCurrentRow(intNumPhoto);'>&lt;</a> {@id} / </span>
             <span spry:detailregion = 'dsNav'>{@numPhotos}
             <a href = 'javascript:' onclick = 'if(intNumPhoto < ({@numPhotos} - 1)){intNumPhoto += 1; }; dsGallery.setCurrentRow(intNumPhoto);'>&gt;</a>
             </span>";
    </script> <--- later ----><!-- SIDEBAR NAV. When link i clicked, set DataSet to the location of the new gallery -->
         <div id = "sideBarNav">
             <a href = "javascript:" onclick ='updateSpryComponents('ride');">Tannersville</a>
                <br />
              <a href = "javascript:" onclick = "updateSpryComponents('dive');">Dive</a>
            <br />
              <a href = "javascript:" onclick = "updateSpryComponents('poland');">Poland</a>
            <br />
              <a href = "javascript:" onclick = "updateSpryComponents('alaska');">Alaska</a>
        </div>
    </div>
    <div id = "content2">
         <!-- PHOTO CONTAINER I think I somehow need to refresh this section of the code to reload new data-->
         <div id = "fotoContainer" spry:detailregion="dsGallery"><img src = "photos/{@path}" width = "{@width}" height = "{@height}"/></div>
         <!-- IMAGE NAVIGATION -->
         <div id = "nav">       
             <span spry:detailregion = "dsGallery" id = "galSpan">
             <a href = "javascript:" onclick = "if(intNumPhoto > 0){intNumPhoto -= 1}; dsGallery.setCurrentRow(intNumPhoto);">&lt;</a> {@id} / </span>
             <span spry:detailregion = "dsNav" id = "navSpan">{@numPhotos}
             <a href = "javascript:" onclick = "if(intNumPhoto < ({@numPhotos} - 1)){intNumPhoto += 1; }; dsGallery.setCurrentRow(intNumPhoto);">&gt;</a>
             </span>
         </div>
    You could view source there to get the code. Here is what I believe is my problem
    I'm trying to automate the site so that when you click on one of the links on the left, without refreshing the page, the paths to the galleries xml file changes, and the spry Detail Regions (1 for the images, 1 for the navigation - left and right arrows). I think the problem is that once the link changes the set and calls my updateSpryComponenets() function, the detail regions need to be refreshed. I'm currently trying to solve this by dynamically rewriting the HTML thru .innterHTML, everytime I call updateSpryComponents().There may also be a problem in the Javascript function updateSpryControllers because if I put the alert after the spry calls, I never get the alert
    Thanks in advance for any help!

    Update:
    Ok, the first query on the Recent tab doesnt work for me because it wont show unless its already voted, and since these are supposed to be new blurts, that kind of breaks the whole site:
    "SELECT Blurt.Id_blurt, Blurt.Name, Blurt.Location, Blurt.Blurt,Blurt.`Date`,DATE_FORMAT(Blurt.`Date`, '%l:%i %p on %M %D, %Y') as Date, ratings.rating_id, Avg(ratings.rating_value) as average_r FROM ratings Left Join Blurt On ratings.rating_id = Blurt.Id_blurt Group By Id_blurt ORDER BY Blurt.`Date` DESC";
    So I replaced it with what I originally had.
    "SELECT Blurt.Id_blurt, Blurt.Name, Blurt.Location, Blurt.Blurt,Blurt.`Date`,DATE_FORMAT(Blurt.`Date`, '%l:%i %p on %M %D, %Y') as Date FROM Blurt ORDER BY Blurt.`Date` DESC";
    But this doesn't provide me with the initial average rating:(

  • Show a report region only when link in other report is clicked

    Hi Friends,
    I am having 2 report regions.In my first report region i am having a column as a link. I want to show the 2nd report
    region only when the link in the 1st report region is clicked. There is a button in the 2nd report region i want to show
    that button only when the link in the first report is clicked.
    The code for my first report is
    select * from tasks;i have a link column task_id as
    f?p=&APP_ID.:10:&SESSION.::&DEBUG.::P10_TASK_ID:#TASK_ID#My 2nd report code is
    select * from task_details where task_id=:P10_TASK_ID;Plz help,
    Thanks,
    TJ

    Hi Andy,
    I tried this but having one problem. When i press a link the vaule of P10_TASK_ID is set and the 2nd report is shown.
    When i go to other page and come back to this page the 2nd report is showing even with out pressing the link this is
    because the value set for :P10_TASK_ID is still there. Where can i put the value back to null so that the 2nd report is
    not shown with our pressing the link in the 1st one.
    Thanks
    TJ

  • Displaying rendered HTML text in spry detail region

    Hi,
    I have just started to play around with DW CS3 & spry and
    love them!
    I have a Master/Detail spry going from my database, but am
    having a problem displaying the detail the way I need it. The mySQL
    field is a BLOB for some HTML formatted text (I get the text
    elsewhere using a Xinha textarea edit widget and load the the
    formatted HTML text into my db). For example, my string is
    "<h2>this test</h2><strong>xyz</strong>"
    which is loaded into my db. I am using the dreamweaver ADDT export
    XML functionality to generate my spry master/detail region.
    My detail region is displaying the correct html associated
    with the selected master table entry, but it's with the HTML tags,
    not rendered as HTML (I don't want to see
    <h2>title</h2>; I'd like to see title with <H2>
    formatting).
    It's much like what I think a RSS feed would be, but can't
    find a way just to get the html to render because I don't have the
    files externally to source an iframe or anything. (I tried a XLS
    fragment transformation, just putting the detail record field that
    I want in an XLS file, but that didn't do anything).
    Any kind of guidance, hint, point and laugh but then tell me,
    would be greatly appreciated. I also posted at first at ADDT and
    then General Dreamweaver because I didn't locate this forum in the
    Forum topic list, so when I did find this I thought this is
    obviously where I should have first posted - sorry if anyone has
    also been surfing around. Thanks so much so any info.

    Hi Don,
    Thanks so much for responding. I actually did do that, but it
    seems like I might be doing it in the wrong place. I tried it in
    the .js that I have in my header:
    var dsList = new Spry.Data.XMLDataSet("./export.php",
    "theSpecials/special",{sortOnLoad:"rating",sortOrderOnLoad:"ascending",distinctOnLoad:tru e});
    dsList.setColumnType("detail", "html");
    which didn't do it. I also tried it right in my detail
    display area:
    <div style="overflow:hidden; width: 400px;"
    spry:detailregion="dsList">
    <div> <!-- nested div for spry effect -->
    <div id="detailDisplay" style="width:380px; "> <!--
    spry:content="{detail}"> -->
    <script
    type="text/javascript">dsList.setColumnType("detail","html");</script>{dsList::detail}
    <!-- echo '{dsList::detail}' ; ?> -->
    </div> <!-- detailDisplay -->
    </div> <!-- outter div for spry effect -->
    <!-- spry detail region -->
    </div>
    Excuse the inline ugliness, will clean it up when it's
    functional. But that doesn't seem to do it either. I am storing
    that particular field as a blob in the mysql database, but I
    already tried making that a VARCHAR which had no effect either.
    Thanks so much for for the suggestion! Any other gems that I
    can try?
    Liz

  • Spry Validation in a Spry Detail Region

    am trying to pre-populate an "update" data form using a spry
    detail region. Basically a list of users is displayed on the left,
    and the detail in a tab on the right. A second "edit" tab displays
    a form that is populated with data from the spry dataset using a
    detail region (just as the first detail tab). However, the spry
    validations within the detail region do not work.
    Download
    this zip.
    Thanks for any help.

    Hi jmortimer,
    What you need to do is trigger the constructors for your
    validation widgets every time the region updates. To do this, you
    need to either move the constructor calls into your region, *or*
    call the constructors from an onPostUpdate observer on your region.
    To see an example of this, look here:
    http://labs.adobe.com/technologies/spry/samples/accordion/AccordionSample2.html
    Just a note ... don't move the constructor for your tabbed
    panel into the region. Leave it where it is today.
    --== Kin ==--

  • Reports region only shows 15 rows

    I have a strange problem with a reports region. The region runs a simple SQL select against a table. My table has 18 rows but the report region only displays 15 rows.
    I ran the SQL directly against the database and all 18 rows are returned, so it's not a problem with the query.
    Under the Report Atrributes tab for the region, I checked the Layout and Pagination section. Number of rows was set to 15, which I thought explained my problem.
    I deleted the value in number of rows. But the region still only shows 15 rows.
    If I change the value in number of rows to 20, all 18 rows are shown. But again, if I delete the 20, only 15 are shown.
    Is there some other setting somewhere which is defaulting the report to 15 rows?

    That item is cleared as well. Very strange. Still can't see anything on the page that's causing it to only show 15 rows.
    Edit -
    Setting it to 999999 seems to cure the problem until I find a solution. Very strange, maybe it's a bug?
    Message was edited by:
    Antilles

  • How to render loop region only in Adobe Premiere Elements 10

    I've been editing DV NTSC (29.97 frames/sec) video in Premiere Elements which is only 1:42 long. But every time I render it, it mysteriously becomes 2:57 minutes long. The extra minute's showing just a black screen and nothing else. I've been told that to solve this problem, I should turn on the loop button, and choose "render loop region only" in the Render menu. The problem is, I can't find either - the button and the render loop region only option. I've been searching and searching for answers and I can't find any. Please help me.

    Steve,
    I had to look up "Loop Regions," but only found references to people, who hated them, and wanted to turn them off. What I could not find was what Loop Regions are. They appear to be a Sony "thing," as they are mentioned in Vegas and Sound Forge. What was missing, is "what is the use, and the result, of using Loop Regions?" For my education, could you, or the OP, explain what they do, and what they are used for?
    TIA,
    Hunt

  • Has anyone implemented CKEditor in a Spry Data Region?

    I have been trying to implement an HTML editor in a Spry Data Region without success.
    CKEditor is a follow up from FCKEditor and is supposed to slot into Ajax applications.
    The website is here: http://docs.fckeditor.net/CKEditor_3.x/Developers_Guide.
    Any help will be greatly appreciated.
    Ben

    Just make sure you call the
    CKEDITOR.replace('editor1'); // editor1 being the id of your text area
    everytime the region gets updated. The best way to do this is add a Spry region observer, that calls that line of code during the onPostUpdate observer.
    Read more about the observers here:
    http://labs.adobe.com/technologies/spry/articles/data_set_overview/index.html

Maybe you are looking for

  • How to transfer IMovie project from one user to another on MacBok Pro?

    My daughter made a movie with IMovie and I would like to add music from my files. We work as separate users and now I cannot open the project with myself as user. How can I access the movie made as another user? Even if I copy the project on my deskt

  • Messages Opening Image Cache Folder when Sending Files

    Messages / iChat seems to be opening my image cache folder every time I send an image to my contacts the image cache folder opens in Finder and stays open with the copied image. Is there a way to get rid of this? It's really annoying. It started happ

  • Recent project won't list my most recent

    When I close FCP and reopen it the most recent project won't open. I just reinstalled FCP 6. Also the window arrangement defaults to the basic setting each time I close.

  • Keyframing in motion4?

    Hi all. I am having trouble moving an oject around a canvas in Motion 4. I have made the object 3d, it is a "Clockwork" particle and it is tilted backwards. I now want it to move around the x and y axis of the canvas. But when I engage the motion but

  • Scorecard and Attributes

    Hi, I have a PAS database that is using Attributes for some of the KPI's, but when I go to the scorecard in SSM I don't see my attribute dimension in the Drill/Comparison or in the Dimension Filters. If I create an associated report then I can see th