Page MenuHomeIn-Portal Phabricator

in-portal
No OneTemporary

File Metadata

Created
Wed, Jul 23, 9:53 PM

in-portal

Index: branches/unlabeled/unlabeled-1.1.2/core/admin_templates/regional/phrases_edit.tpl
===================================================================
--- branches/unlabeled/unlabeled-1.1.2/core/admin_templates/regional/phrases_edit.tpl (revision 7028)
+++ branches/unlabeled/unlabeled-1.1.2/core/admin_templates/regional/phrases_edit.tpl (revision 7029)
@@ -1,57 +1,57 @@
<inp2:adm_SetPopupSize width="888" height="415"/>
<inp2:m_RequireLogin permissions="in-portal:configure_lang.view" system="1"/>
<inp2:m_include t="incs/header" nobody="yes"/>
<body style="margin: 0px 8px 0px 8px; background-color: #fff;">
<inp2:m_ParseBlock name="section_header" icon="icon46_conf_regional" title="!la_title_RegionalSettings!"/>
<inp2:m_ParseBlock name="blue_bar" prefix="phrases" title_preset="phrase_edit" module="in-portal" icon="icon46_conf_regional"/>
<!-- ToolBar --->
<table class="toolbar" height="30" cellspacing="0" cellpadding="0" width="100%" border="0">
<tbody>
<tr>
<td>
<script type="text/javascript">
a_toolbar = new ToolBar();
a_toolbar.AddButton( new ToolBarButton('select', '<inp2:m_phrase label="la_ToolTip_Save" escape="1"/>', function() {
submit_event('phrases','<inp2:phrases_SaveEvent/>');
}
) );
a_toolbar.AddButton( new ToolBarButton('cancel', '<inp2:m_phrase label="la_ToolTip_Cancel" escape="1"/>', function() {
submit_event('phrases','OnCancel');
}
) );
a_toolbar.Render();
</script>
</td>
</tr>
</tbody>
</table>
<inp2:phrases_SaveWarning name="grid_save_warning"/>
<table width="100%" border="0" cellspacing="0" cellpadding="4" class="tableborder">
<input type="hidden" id="phrases_label" name="phrases_label" value="<inp2:m_get name="phrases_label"/>">
<inp2:m_DefineElement name="phrase_element">
<tr class="subsectiontitle">
<td colspan="3"><inp2:phrases_Field name="Phrase"/></td>
</tr>
<inp2:m_ParseBlock name="inp_edit_hidden" prefix="phrases" field="LanguageId"/>
<inp2:m_ParseBlock name="inp_label" prefix="phrases" field="PrimaryTranslation" title="!la_fld_PrimaryTranslation!"/>
<inp2:m_ParseBlock name="inp_edit_box" prefix="phrases" field="Phrase" title="!la_fld_Phrase!" size="60"/>
- <inp2:m_ParseBlock name="inp_edit_textarea" prefix="phrases" field="Translation" title="!la_fld_Translation!" rows="7" cols="90" allow_html="0"/>
+ <inp2:m_ParseBlock name="inp_edit_textarea" prefix="phrases" field="Translation" title="!la_fld_Translation!" rows="7" cols="50" allow_html="0"/>
<inp2:m_ParseBlock name="inp_edit_radio" prefix="phrases" field="PhraseType" title="!la_fld_PhraseType!"/>
<inp2:m_ParseBlock name="inp_edit_options" prefix="phrases" field="Module" title="!la_fld_Module!"/>
</inp2:m_DefineElement>
<inp2:m_if check="m_GetEquals" name="phrases_label" value="ALEX, FIX IT!">
<inp2:phrases_MultipleEditing render_as="phrase_element"/>
<inp2:m_else/>
<inp2:m_RenderElement name="phrase_element"/>
</inp2:m_if>
</table>
<inp2:m_include t="incs/footer"/>
Property changes on: branches/unlabeled/unlabeled-1.1.2/core/admin_templates/regional/phrases_edit.tpl
___________________________________________________________________
Modified: cvs2svn:cvs-rev
## -1 +1 ##
-1.1.2.3
\ No newline at end of property
+1.1.2.4
\ No newline at end of property
Index: branches/unlabeled/unlabeled-1.1.2/core/admin_templates/login.tpl
===================================================================
--- branches/unlabeled/unlabeled-1.1.2/core/admin_templates/login.tpl (revision 7028)
+++ branches/unlabeled/unlabeled-1.1.2/core/admin_templates/login.tpl (revision 7029)
@@ -1,84 +1,84 @@
<inp2:m_include t="incs/header" nobody="yes" noform="yes"/>
-<body topmargin="0" leftmargin="8" marginheight="0" marginwidth="8" bgcolor="#FFFFFF" text="#000000" style="height: 100%;" onLoad="document.getElementById($form_name).login.focus();">
+<body style="margin: 0px 8px 0px 8px; background-color: #fff;" text="#000000" style="height: 100%;" onLoad="document.getElementById($form_name).login.focus();">
<table border="0" cellspacing="0" cellpadding="0" style="width: 100%; height: 90%;">
<tr>
<td valign="middle" align="center">
<inp2:m_ParseBlock name="kernel_form"/>
<div align="center">
<img title="In-portal" src="img/globe.gif" width="84" height="82" border="0">
<img title="In-portal" src="img/logo.gif" width="150" height="82" border="0"><br />
<table border="0" cellpadding="2" cellspacing="0" class="tableborder" style="border-width: 1px;" width="222" height="30">
<tr>
<td align="right" valign="top" class="tablenav" width ="220" nowrap height="30" style="background: url(img/tabnav_left.gif);">
<span style="float: left;">
<img src="img/icons/icon24_lock_login.gif" width="16" height="22" alt="" border="0" align="absmiddle"> <inp2:m_phrase name="la_Login"/>
</span>
<a href="help/manual.pdf"><img src="img/blue_bar_help.gif" border="0"></a>
</td>
</tr>
<tr>
<td colspan="2" bgcolor="#F0F0F0">
<table cellpadding="4" cellspacing="0" border="0">
<tr bgcolor="#F0F0F0">
<td class="text"><inp2:m_phrase name="la_Text_Login"/></td>
<td><input type="text" name="login" class="text" onkeypress="catchHotKeysA(event);"></td>
</tr>
<tr bgcolor="#F0F0F0">
<td class="text"><inp2:m_phrase name="la_prompt_Password"/></td>
<td><input type="password" name="password" class="text" onKeyPress="catchHotKeysA(event);"></td>
</tr>
<tr bgcolor="#F0F0F0">
<td colspan="2">
<div align="left">
<input type="submit" name="login_button" onclick="doLogin();" value="<inp2:m_phrase name="la_Login"/>" class="button">
<input type="reset" name="cancel_button" value="<inp2:m_phrase name="la_Cancel"/>" class="button">
</div>
</td>
</tr>
</table>
</td>
</tr>
</table>
<inp2:m_if check="u.current_HasError" field="any">
<p class="error"><inp2:u.current_Error field="ValidateLogin"/></p>
</inp2:m_if>
</td>
</tr>
</table>
<input type="hidden" name="next_template" value="<inp2:m_if check="m_GetEquals" name="next_template" value="">index<inp2:m_else/><inp2:m_get var="next_template"/></inp2:m_if>">
<script type="text/javascript">
function doLogin()
{
submit_event('u', 'OnLogin');
}
function catchHotKeysA(e)
{
if (!e) return;
if (e.keyCode == 13) doLogin();
}
var a_parent = window.parent;
function redirect()
{
window.name = 'redirect';
var i = 0;
while (i < 10) {
if (window.parent.name == 'main_frame') break;
a_parent = window.parent;
i++;
}
page = '<inp2:m_t t="index" expired="1" escape="1" no_amp="1"/>'; // a_parent.location.href + '?expired=1';
if (i < 10) {
setTimeout('a_parent.location.href=page',100);
}
}
redirect();
</script>
<inp2:m_include t="incs/footer"/>
\ No newline at end of file
Property changes on: branches/unlabeled/unlabeled-1.1.2/core/admin_templates/login.tpl
___________________________________________________________________
Modified: cvs2svn:cvs-rev
## -1 +1 ##
-1.1.2.4
\ No newline at end of property
+1.1.2.5
\ No newline at end of property
Index: branches/unlabeled/unlabeled-1.1.2/core/admin_templates/popups/editor.tpl
===================================================================
--- branches/unlabeled/unlabeled-1.1.2/core/admin_templates/popups/editor.tpl (revision 7028)
+++ branches/unlabeled/unlabeled-1.1.2/core/admin_templates/popups/editor.tpl (revision 7029)
@@ -1,73 +1,73 @@
<inp2:m_RequireLogin/>
<inp2:m_include t="incs/header" nobody="yes"/>
-<body topmargin="0" leftmargin="8" marginheight="0" marginwidth="8" bgcolor="#FFFFFF" onload="update_content()">
+<body style="margin: 0px 8px 0px 8px; background-color: #fff;" onload="update_content()">
<inp2:m_ParseBlock name="blue_bar" prefix="trans" title_preset="trans_edit" module="in-portal"/>
<!-- ToolBar --->
<table class="toolbar" height="30" cellspacing="0" cellpadding="0" width="100%" border="0">
<tbody>
<tr>
<td>
<script type="text/javascript">
a_toolbar = new ToolBar();
a_toolbar.AddButton( new ToolBarButton('select', '<inp2:m_phrase label="la_ToolTip_Save" escape="1"/>', function() {
document.getElementById('frm').submit();
}
) );
a_toolbar.AddButton( new ToolBarButton('cancel', '<inp2:m_phrase label="la_ToolTip_Cancel" escape="1"/>', function() {
window.close();
}
) );
a_toolbar.Render();
</script>
</td>
</tr>
</tbody>
</table>
</form>
<form name="frm" id="frm" action="javascript:update_opener();">
<inp2:adm_FCKEditor name="Content" width="100%" height="500"/>
</form>
<script type="text/javascript">
var $TargetField = '<inp2:m_Get var="TargetField"/>';
function update_content()
{
if (window.opener && !window.opener.closed)
{
current = window.opener.document.getElementById($TargetField).value;
document.getElementById('Content').value = current;
}
else {
window.close()
}
}
function update_opener()
{
d = document.getElementById('Content');
if (d.form) {
if (d.form.onsubmit) {
d.form.onsubmit()
}
}
if (!window.opener) return;
if (!window.opener.closed) {
current = window.opener.document.getElementById($TargetField);
current.value = document.getElementById('Content').value;
}
window.close();
}
</script>
<inp2:m_include t="incs/footer"/>
\ No newline at end of file
Property changes on: branches/unlabeled/unlabeled-1.1.2/core/admin_templates/popups/editor.tpl
___________________________________________________________________
Modified: cvs2svn:cvs-rev
## -1 +1 ##
-1.1.2.1
\ No newline at end of property
+1.1.2.2
\ No newline at end of property
Index: branches/unlabeled/unlabeled-1.1.2/core/admin_templates/img/icons/icon24_e-mail.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes on: branches/unlabeled/unlabeled-1.1.2/core/admin_templates/img/icons/icon24_e-mail.gif
___________________________________________________________________
Added: cvs2svn:cvs-rev
## -0,0 +1 ##
+1.1.2.1
\ No newline at end of property
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: branches/unlabeled/unlabeled-1.1.2/core/admin_templates/incs/grid_blocks2.tpl
===================================================================
--- branches/unlabeled/unlabeled-1.1.2/core/admin_templates/incs/grid_blocks2.tpl (revision 7028)
+++ branches/unlabeled/unlabeled-1.1.2/core/admin_templates/incs/grid_blocks2.tpl (revision 7029)
@@ -1,435 +1,489 @@
<inp2:m_block name="current_page"/>
<span class="current_page"><inp2:m_param name="page"/></span>
<inp2:m_blockend/>
<inp2:m_block name="page"/>
<a href="javascript:go_to_page('<inp2:m_param name="PrefixSpecial"/>', <inp2:m_param name="page"/>, <inp2:m_param name="ajax"/>)" class="nav_url"><inp2:m_param name="page"/></a>
<inp2:m_blockend/>
<inp2:m_block name="next_page"/>
<a href="javascript:go_to_page('<inp2:m_param name="PrefixSpecial"/>', <inp2:m_param name="page"/>, <inp2:m_param name="ajax"/>)" class="nav_url">&gt;</a>
<inp2:m_blockend/>
<inp2:m_block name="prev_page"/>
<a href="javascript:go_to_page('<inp2:m_param name="PrefixSpecial"/>', <inp2:m_param name="page"/>, <inp2:m_param name="ajax"/>)" class="nav_url">&lt;</a>
<inp2:m_blockend/>
<inp2:m_block name="next_page_split"/>
<a href="javascript:go_to_page('<inp2:m_param name="PrefixSpecial"/>', <inp2:m_param name="page"/>, <inp2:m_param name="ajax"/>)" class="nav_url">&gt;&gt;</a>
<inp2:m_blockend/>
<inp2:m_block name="prev_page_split"/>
<a href="javascript:go_to_page('<inp2:m_param name="PrefixSpecial"/>', <inp2:m_param name="page"/>, <inp2:m_param name="ajax"/>)" class="nav_url">&lt;&lt;</a>
<inp2:m_blockend/>
<inp2:m_DefineElement name="grid_pagination_elem" ajax="0">
<inp2:m_phrase name="la_Page"/>:
<inp2:PrintPages active_block="current_page" split="10" inactive_block="page" prev_page_block="prev_page" next_page_block="next_page" prev_page_split_block="prev_page_split" next_page_split_block="next_page_split" main_special="$main_special" ajax="$ajax" grid="$grid"/>
</inp2:m_DefineElement>
<inp2:m_block name="grid_pagination" SearchPrefixSpecial="" ajax="0"/>
<table cellspacing="0" cellpadding="2" width="100%" border="0" class="<inp2:m_if prefix="m" function="ParamEquals" name="no_toolbar" value="no_toolbar"/>tableborder_full_kernel<inp2:m_else/>pagination_bar<inp2:m_endif/>">
<tbody>
<tr>
<td width="100%">
<inp2:m_RenderElement name="grid_pagination_elem" pass_params="1"/>
</td>
<td>
<inp2:m_if check="m_ParamEquals" param="search" value="on">
<inp2:m_if check="m_ParamEquals" name="SearchPrefixSpecial" value="">
<inp2:m_RenderElement name="grid_search" grid="$grid" PrefixSpecial="$PrefixSpecial" ajax="$ajax"/>
<inp2:m_else />
<inp2:m_RenderElement name="grid_search" grid="$grid" PrefixSpecial="$SearchPrefixSpecial" ajax="$ajax"/>
</inp2:m_if>
</inp2:m_if>
</td>
</tr>
</tbody>
</table>
<inp2:m_blockend/>
<inp2:m_DefineElement name="grid_search" ajax="0">
<td align="right" style="padding-right: 0px;">
<table width="100%" cellspacing="0" cellpadding="0" border="0">
<tr>
<td><inp2:m_phrase name="la_Search"/>:&nbsp;</td>
<td>
<input type="text"
id="<inp2:m_param name="PrefixSpecial"/>_search_keyword"
name="<inp2:m_param name="PrefixSpecial"/>_search_keyword"
value="<inp2:m_recall var="{$PrefixSpecial}_search_keyword" no_null="no_null" special="1"/>"
PrefixSpecial="<inp2:m_param name="PrefixSpecial"/>"
Grid="<inp2:m_param name="grid"/>"
ajax="<inp2:m_param name="ajax"/>"
style="border: 1px solid grey;">
<input type="text" style="display: none"; />
</td>
<td style="white-space: nowrap" id="search_buttons[<inp2:m_param name="PrefixSpecial"/>]">
<script type="text/javascript">
<inp2:m_RenderElement name="grid_search_buttons" pass_params="true"/>
</script>
</td>
</tr>
</table>
</td>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="grid_search_buttons" PrefixSpecial="" grid="" ajax="1">
document.getElementById('<inp2:m_param name="PrefixSpecial"/>_search_keyword').onkeydown = search_keydown;
Toolbars['<inp2:m_param name="PrefixSpecial"/>_search'] = new ToolBar('icon16_');
Toolbars['<inp2:m_param name="PrefixSpecial"/>_search'].AddButton(
new ToolBarButton(
'search',
'<inp2:m_phrase name="la_ToolTip_Search" escape="1"/>',
function() { search('<inp2:m_param name="PrefixSpecial"/>','<inp2:m_param name="grid"/>', <inp2:m_param name="ajax"/>) },
null,
'<inp2:m_param name="PrefixSpecial"/>') );
Toolbars['<inp2:m_param name="PrefixSpecial"/>_search'].AddButton(
new ToolBarButton(
'search_reset',
'<inp2:m_phrase name="la_ToolTip_SearchReset" escape="1"/>',
function() { search_reset('<inp2:m_param name="PrefixSpecial"/>','<inp2:m_param name="grid"/>', <inp2:m_param name="ajax"/>) },
null,
'<inp2:m_param name="PrefixSpecial"/>') );
Toolbars['<inp2:m_param name="PrefixSpecial"/>_search'].Render(document.getElementById('search_buttons[<inp2:m_param name="PrefixSpecial"/>]'));
</inp2:m_DefineElement>
<inp2:m_block name="grid_column_title" use_phrases="1"/>
<td nowrap="nowrap">
<a href="javascript:resort_grid('<inp2:m_param name="PrefixSpecial"/>','<inp2:m_param name="sort_field"/>', <inp2:m_param name="ajax"/>);" class="columntitle_small"><IMG alt="" src="img/list_arrow_<inp2:$PrefixSpecial_order field="$sort_field"/>.gif" border="0" align="absmiddle"><inp2:m_if check="m_ParamEquals" name="use_phrases" value="1"><inp2:m_phrase name="$title"/><inp2:m_else/><inp2:m_param name="title"/></inp2:m_if></a>
</td>
<inp2:m_blockend/>
<inp2:m_block name="grid_column_title_no_sorting" use_phrases="1"/>
<td nowrap="nowrap">
<inp2:m_if check="m_ParamEquals" name="use_phrases" value="1"><inp2:m_phrase name="$title"/><inp2:m_else/><inp2:m_param name="title"/></inp2:m_if>
</td>
<inp2:m_blockend/>
<inp2:m_block name="grid_checkbox_td" format="" />
<td valign="top" class="text">
<table border="0" cellpadding="0" cellspacing="0" class="grid_id_cell">
<tr>
<td><input type="checkbox" name="<inp2:$PrefixSpecial_InputName field="$IdField" IdField="$IdField"/>" id="<inp2:$PrefixSpecial_InputName field="$IdField" IdField="$IdField"/>"></td>
<td><img src="<inp2:ModulePath />img/itemicons/<inp2:$PrefixSpecial_ItemIcon grid="$grid"/>"></td>
<td><inp2:Field field="$field" no_special="no_special" format="$format"/></td>
</tr>
</table>
</td>
<inp2:m_blockend />
<inp2:m_block name="grid_checkbox_td_no_icon" format="" />
<td valign="top" class="text">
<table border="0" cellpadding="0" cellspacing="0" class="grid_id_cell">
<tr>
<td><input type="checkbox" name="<inp2:$PrefixSpecial_InputName field="$IdField" IdField="$IdField"/>" id="<inp2:$PrefixSpecial_InputName field="$IdField" IdField="$IdField"/>"></td>
<td><inp2:$PrefixSpecial_field field="$field" no_special="no_special" format="$format"/></td>
</tr>
</table>
</td>
<inp2:m_blockend />
<inp2:m_block name="label_grid_checkbox_td" format="" />
<td valign="top" class="text">
<table border="0" cellpadding="0" cellspacing="0" class="grid_id_cell">
<tr>
<td><input type="checkbox" name="<inp2:$PrefixSpecial_InputName field="$IdField" IdField="$IdField"/>" id="<inp2:$PrefixSpecial_InputName field="$IdField" IdField="$IdField"/>"></td>
<td><img src="<inp2:ModulePath />img/itemicons/<inp2:$PrefixSpecial_ItemIcon grid="$grid"/>"></td>
<td><inp2:$PrefixSpecial_field field="$field" no_special="no_special" as_label="as_label" format="$format"/></td>
</tr>
</table>
</td>
<inp2:m_blockend />
<inp2:m_block name="grid_icon_td" format="" />
<td valign="top" class="text">
<table border="0" cellpadding="0" cellspacing="0" class="grid_id_cell">
<tr>
<td><img src="<inp2:ModulePath />img/itemicons/<inp2:$PrefixSpecial_ItemIcon grid="$grid"/>"></td>
<td><inp2:$PrefixSpecial_field field="$field" no_special="no_special" format="$format"/></td>
</tr>
</table>
</td>
<inp2:m_blockend />
<inp2:m_block name="grid_radio_td" format="" />
<td valign="top" class="text">
<table border="0" cellpadding="0" cellspacing="0" class="grid_id_cell">
<tr>
<td><input type="radio" name="<inp2:$PrefixSpecial_InputName field="$IdField" IdField="$IdField"/>" id="<inp2:$PrefixSpecial_InputName field="$IdField" IdField="$IdField"/>"></td>
<td><img src="<inp2:ModulePath />img/itemicons/<inp2:$PrefixSpecial_ItemIcon grid="$grid"/>"></td>
<td><inp2:Field field="$field" no_special="no_special" format="$format"/></td>
</tr>
</table>
</td>
<inp2:m_blockend />
<inp2:m_block name="grid_data_td" format="" no_special="" nl2br="" first_chars="" td_style=""/>
<td valign="top" class="text" style="<inp2:m_param name="td_style"/>"><inp2:$PrefixSpecial_field field="$field" first_chars="$first_chars" nl2br="$nl2br" grid="$grid" no_special="$no_special" format="$format"/></td>
<inp2:m_blockend />
<inp2:m_block name="grid_edit_td" format="" />
<td valign="top" class="text"><input type="text" id="<inp2:$PrefixSpecial_InputName field="$field"/>" name="<inp2:$PrefixSpecial_InputName field="$field"/>" value="<inp2:$PrefixSpecial_field field="$field" grid="$grid" format="$format"/>"></td>
<inp2:m_blockend />
<inp2:m_block name="grid_data_label_td" />
<td valign="top" class="text"><inp2:$PrefixSpecial_field field="$field" grid="$grid" plus_or_as_label="1" no_special="no_special" format="$format"/></td>
<inp2:m_blockend />
<inp2:m_block name="grid_data_label_ml_td" format="" />
<td valign="top" class="text">
<span class="<inp2:m_if check="{$SourcePrefix}_HasError" field="$virtual_field">error</inp2:m_if>">
<inp2:$PrefixSpecial_Field field="$field" grid="$grid" as_label="1" no_special="no_special" format="$format"/>
</span><inp2:m_if check="{$SourcePrefix}_IsRequired" field="$virtual_field"/><span class="error"> *</span></inp2:m_if>:<br />
<inp2:m_if check="FieldEquals" field="$ElementTypeField" value="textarea">
<a href="javascript:PreSaveAndOpenTranslatorCV('<inp2:m_param name="SourcePrefix"/>,<inp2:m_param name="SourcePrefix"/>-cdata', '<inp2:m_param name="SourcePrefix"/>-cdata:cust_<inp2:Field name="CustomFieldId"/>', 'popups/translator', <inp2:$SourcePrefix_Field field="ResourceId"/>, 1);" title="<inp2:m_Phrase label="la_Translate" escape="1"/>"><img src="img/icons/icon24_translate.gif" style="cursor:hand;" border="0"></a>
<inp2:m_else/>
<a href="javascript:PreSaveAndOpenTranslatorCV('<inp2:m_param name="SourcePrefix"/>,<inp2:m_param name="SourcePrefix"/>-cdata', '<inp2:m_param name="SourcePrefix"/>-cdata:cust_<inp2:Field name="CustomFieldId"/>', 'popups/translator', <inp2:$SourcePrefix_Field field="ResourceId"/>);" title="<inp2:m_Phrase label="la_Translate" escape="1"/>"><img src="img/icons/icon24_translate.gif" style="cursor:hand;" border="0"></a>
</inp2:m_if>
</td>
<inp2:m_blockend />
<inp2:m_DefineElement name="grid_column_filter">
<inp2:m_RenderElement name="grid_like_filter" pass_params="1"/>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="grid_options_filter">
- <select <inp2:m_if check="SearchField" field="$filter_field" filter_type="options" grid="$grid">class="filter"</inp2:m_if> name="<inp2:SearchInputName field="$filter_field" filter_type="options" grid="$grid"/>">
+ <select
+ class="filter <inp2:m_if check="SearchField" field="$filter_field" filter_type="options" grid="$grid">filter-active</inp2:m_if>"
+ name="<inp2:SearchInputName field="$filter_field" filter_type="options" grid="$grid"/>">
<inp2:PredefinedSearchOptions field="$filter_field" block="inp_option_item" selected="selected" has_empty="1" empty_value="" filter_type="options" grid="$grid"/>
</select>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="grid_like_filter">
- <div style="overflow: auto"><input type="text" <inp2:m_if check="SearchField" field="$filter_field" filter_type="like" grid="$grid">class="filter"</inp2:m_if> name="<inp2:SearchInputName field="$filter_field" filter_type="like" grid="$grid"/>" value="<inp2:SearchField field="$filter_field" filter_type="like" grid="$grid"/>"/></div>
+ <input type="text"
+ class="filter <inp2:m_if check="SearchField" field="$filter_field" filter_type="like" grid="$grid">filter-active</inp2:m_if>"
+ name="<inp2:SearchInputName field="$filter_field" filter_type="like" grid="$grid"/>"
+ value="<inp2:SearchField field="$filter_field" filter_type="like" grid="$grid"/>"
+ onkeypress="search_keydown(event, '<inp2:m_Param name="PrefixSpecial"/>', '<inp2:m_Param name="grid"/>', '<inp2:m_Param name="ajax"/>')"/>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="grid_equals_filter">
- <input type="text" <inp2:m_if check="SearchField" field="$filter_field" filter_type="equals" grid="$grid">class="filter"</inp2:m_if> name="<inp2:SearchInputName field="$filter_field" filter_type="equals" grid="$grid"/>" value="<inp2:SearchField field="$filter_field" filter_type="equals" grid="$grid"/>"/>
+ <input type="text"
+ class="filter <inp2:m_if check="SearchField" field="$filter_field" filter_type="equals" grid="$grid">filter-active</inp2:m_if>"
+ name="<inp2:SearchInputName field="$filter_field" filter_type="equals" grid="$grid"/>"
+ value="<inp2:SearchField field="$filter_field" filter_type="equals" grid="$grid"/>"
+ onkeypress="search_keydown(event, '<inp2:m_Param name="PrefixSpecial"/>', '<inp2:m_Param name="grid"/>', '<inp2:m_Param name="ajax"/>')"/>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="grid_range_filter">
- <inp2:m_Phrase label="la_From"/>:&nbsp;<input type="text" <inp2:m_if check="SearchField" field="$filter_field" filter_type="range" type="from" grid="$grid">class="filter"</inp2:m_if> name="<inp2:SearchInputName field="$filter_field" filter_type="range" type="from" grid="$grid"/>" value="<inp2:SearchField field="$filter_field" filter_type="range" type="from" grid="$grid"/>" size="5" /><br />
- <inp2:m_Phrase label="la_To"/>:&nbsp;<input type="text" <inp2:m_if check="SearchField" field="$filter_field" filter_type="range" type="to" grid="$grid">class="filter"</inp2:m_if> name="<inp2:SearchInputName field="$filter_field" filter_type="range" type="to" grid="$grid"/>" value="<inp2:SearchField field="$filter_field" filter_type="range" type="to" grid="$grid"/>" size="5" /><br />
+ <table cellspacing="0">
+ <tr>
+ <td><inp2:m_Phrase label="la_From"/>:&nbsp;</td>
+ <td>
+ <input type="text"
+ class="filter <inp2:m_if check="SearchField" field="$filter_field" filter_type="range" type="from" grid="$grid">filter-active</inp2:m_if>"
+ name="<inp2:SearchInputName field="$filter_field" filter_type="range" type="from" grid="$grid"/>"
+ value="<inp2:SearchField field="$filter_field" filter_type="range" type="from" grid="$grid"/>"
+ size="5"
+ onkeypress="search_keydown(event, '<inp2:m_Param name="PrefixSpecial"/>', '<inp2:m_Param name="grid"/>', '<inp2:m_Param name="ajax"/>')"/>
+ </td>
+ </tr>
+ <tr>
+ <td><inp2:m_Phrase label="la_To"/>:&nbsp;</td>
+ <td><input type="text"
+ class="filter <inp2:m_if check="SearchField" field="$filter_field" filter_type="range" type="to" grid="$grid">filter-active</inp2:m_if>"
+ name="<inp2:SearchInputName field="$filter_field" filter_type="range" type="to" grid="$grid"/>"
+ value="<inp2:SearchField field="$filter_field" filter_type="range" type="to" grid="$grid"/>"
+ size="5"
+ onkeypress="search_keydown(event, '<inp2:m_Param name="PrefixSpecial"/>', '<inp2:m_Param name="grid"/>', '<inp2:m_Param name="ajax"/>')"/></td>
+ </tr>
+ </table>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="grid_float_range_filter">
- <input type="text" <inp2:m_if check="SearchField" field="$filter_field" filter_type="float_range" type="from" grid="$grid">class="filter"</inp2:m_if> name="<inp2:SearchInputName field="$filter_field" filter_type="float_range" type="from" grid="$grid"/>" value="<inp2:SearchField field="$filter_field" filter_type="float_range" type="from" grid="$grid"/>" size="5" /><br />
- <input type="text" <inp2:m_if check="SearchField" field="$filter_field" filter_type="float_range" type="to" grid="$grid">class="filter"</inp2:m_if> name="<inp2:SearchInputName field="$filter_field" filter_type="float_range" type="to" grid="$grid"/>" value="<inp2:SearchField field="$filter_field" filter_type="float_range" type="to" grid="$grid"/>" size="5" /><br />
+ <input type="text"
+ class="filter <inp2:m_if check="SearchField" field="$filter_field" filter_type="float_range" type="from" grid="$grid">filter-active</inp2:m_if>"
+ name="<inp2:SearchInputName field="$filter_field" filter_type="float_range" type="from" grid="$grid"/>"
+ value="<inp2:SearchField field="$filter_field" filter_type="float_range" type="from" grid="$grid"/>"
+ size="5"
+ onkeypress="search_keydown(event, '<inp2:m_Param name="PrefixSpecial"/>', '<inp2:m_Param name="grid"/>', '<inp2:m_Param name="ajax"/>')"/><br />
+ <input type="text"
+ class="filter <inp2:m_if check="SearchField" field="$filter_field" filter_type="float_range" type="to" grid="$grid">filter-active</inp2:m_if>"
+ name="<inp2:SearchInputName field="$filter_field" filter_type="float_range" type="to" grid="$grid"/>"
+ value="<inp2:SearchField field="$filter_field" filter_type="float_range" type="to" grid="$grid"/>"
+ size="5"
+ onkeypress="search_keydown(event, '<inp2:m_Param name="PrefixSpecial"/>', '<inp2:m_Param name="grid"/>', '<inp2:m_Param name="ajax"/>')"/><br />
</inp2:m_DefineElement>
<inp2:m_DefineElement name="grid_date_range_filter">
-
- <input type="text" <inp2:m_if check="SearchField" field="$filter_field" filter_type="date_range" type="from" grid="$grid">class="filter"</inp2:m_if> name="<inp2:SearchInputName field="$filter_field" filter_type="date_range" type="from" grid="$grid"/>" id="<inp2:SearchInputName field="$filter_field" filter_type="date_range" type="from" grid="$grid"/>" value="<inp2:SearchField field="$filter_field" filter_type="date_range" type="from" grid="$grid"/>" size="15" datepickerIcon="img/calendar_icon.gif"/><br />
- <input type="text" <inp2:m_if check="SearchField" field="$filter_field" filter_type="date_range" type="to" grid="$grid">class="filter"</inp2:m_if> name="<inp2:SearchInputName field="$filter_field" filter_type="date_range" type="to" grid="$grid"/>" id="<inp2:SearchInputName field="$filter_field" filter_type="date_range" type="to" grid="$grid"/>" value="<inp2:SearchField field="$filter_field" filter_type="date_range" type="to" grid="$grid"/>" size="15" datepickerIcon="img/calendar_icon.gif"/><br />
+ <input type="text"
+ class="filter <inp2:m_if check="SearchField" field="$filter_field" filter_type="date_range" type="from" grid="$grid">filter-active</inp2:m_if>"
+ name="<inp2:SearchInputName field="$filter_field" filter_type="date_range" type="from" grid="$grid"/>"
+ id="<inp2:SearchInputName field="$filter_field" filter_type="date_range" type="from" grid="$grid"/>"
+ value="<inp2:SearchField field="$filter_field" filter_type="date_range" type="from" grid="$grid"/>"
+ size="15"
+ datepickerIcon="img/calendar_icon.gif"
+ onkeypress="search_keydown(event, '<inp2:m_Param name="PrefixSpecial"/>', '<inp2:m_Param name="grid"/>', '<inp2:m_Param name="ajax"/>')"/><br />
+ <input type="text"
+ class="filter <inp2:m_if check="SearchField" field="$filter_field" filter_type="date_range" type="to" grid="$grid">filter-active</inp2:m_if>"
+ name="<inp2:SearchInputName field="$filter_field" filter_type="date_range" type="to" grid="$grid"/>"
+ id="<inp2:SearchInputName field="$filter_field" filter_type="date_range" type="to" grid="$grid"/>"
+ value="<inp2:SearchField field="$filter_field" filter_type="date_range" type="to" grid="$grid"/>"
+ size="15"
+ datepickerIcon="img/calendar_icon.gif"
+ onkeypress="search_keydown(event, '<inp2:m_Param name="PrefixSpecial"/>', '<inp2:m_Param name="grid"/>', '<inp2:m_Param name="ajax"/>')"/><br />
</inp2:m_DefineElement>
+
<inp2:m_block name="viewmenu_sort_block"/>
$Menus['<inp2:m_param name="PrefixSpecial"/>'+'_sorting_menu'].addMenuItem('<inp2:m_phrase name="$title" escape="1"/>','direct_sort_grid("<inp2:m_param name="PrefixSpecial"/>","<inp2:m_param name="sort_field"/>","<inp2:$PrefixSpecial_OrderInfo type="direction" pos="1"/>", null, <inp2:m_param name="ajax"/>);','<inp2:m_if prefix="$PrefixSpecial" function="IsOrder" field="$sort_field" pos="1"/>2<inp2:m_endif/>');
<inp2:m_blockend/>
<inp2:m_block name="viewmenu_filter_block"/>
$Menus['<inp2:m_param name="PrefixSpecial"/>'+'_filter_menu'].addMenuItem('<inp2:m_param name="label"/>','<inp2:m_param name="filter_action"/>','<inp2:m_param name="filter_status"/>');
<inp2:m_blockend/>
<inp2:m_block name="viewmenu_filter_separator"/>
$Menus['<inp2:m_param name="PrefixSpecial"/>'+'_filter_menu'].addMenuSeparator();
<inp2:m_blockend/>
<inp2:m_include template="incs/menu_blocks"/>
<inp2:m_block name="grid_save_warning" />
<table width="100%" border="0" cellspacing="0" cellpadding="4" class="table_border_<inp2:m_if prefix="m" function="ParamEquals" name="no_toolbar" value="no_toolbar"/>nobottom<inp2:m_else/>notop<inp2:m_endif/>">
<tr>
<td valign="top" class="hint_red">
<inp2:m_phrase name="la_Warning_Save_Item"/>
</td>
</tr>
</table>
<script type="text/javascript">
$edit_mode = <inp2:m_if check="m_ParamEquals" name="edit_mode" value="1">true<inp2:m_else />false</inp2:m_if>;
// window.parent.document.title += ' - MODE: ' + ($edit_mode ? 'EDIT' : 'LIVE');
</script>
<inp2:m_blockend/>
<inp2:m_DefineElement name="grid_status" pagination="1">
<table class="grid-status-bar">
<tr>
- <td nowrap width="80%" valign="middle">
+ <td nowrap valign="middle">
<inp2:m_Phrase label="la_Records"/>: <inp2:GridInfo type="filtered"/> (<inp2:GridInfo type="from"/> - <inp2:GridInfo type="to"/>) <inp2:m_Phrase label="la_OutOf"/> <inp2:GridInfo type="total"/>
</td>
- <td align="right" class="tablenav" width="20%" valign="middle">
+ <td align="right" class="tablenav" valign="middle">
<inp2:m_if check="m_Param" name="pagination">
<inp2:m_RenderElement name="grid_pagination_elem" pass_params="1"/>
</inp2:m_if>
</td>
</tr>
</table>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="grid" main_prefix="" per_page="" main_special="" no_toolbar="" grid_filters="" search="on" header_block="grid_column_title" filter_block="grid_column_filter" data_block="grid_data_td" totals_block="grid_total_td" row_block="_row" ajax="0" totals="0">
<!--
grid_filters - show individual filters for each column
has_filters - draw filter section in "View" menu in toolbar
-->
<inp2:$PrefixSpecial_SaveWarning name="grid_save_warning" main_prefix="$main_prefix" no_toolbar="$no_toolbar"/>
<inp2:m_if check="m_RecallEquals" var="{$PrefixSpecial}_search_keyword" value="" inverse="inverse">
<table width="100%" border="0" cellspacing="0" cellpadding="4" class="table_border_<inp2:m_if prefix="m" function="ParamEquals" name="no_toolbar" value="no_toolbar"/>nobottom<inp2:m_else/>notop<inp2:m_endif/>">
<tr>
<td valign="top" class="hint_red">
<inp2:m_phrase name="la_Warning_Filter"/>
</td>
</tr>
</table>
</inp2:m_if>
<inp2:m_DefineElement name="grid_column_title_html">
<a href="javascript:resort_grid('<inp2:m_param name="PrefixSpecial"/>','<inp2:m_param name="sort_field"/>', <inp2:m_param name="ajax"/>);"
class="columntitle_small"><IMG alt="" src="img/list_arrow_<inp2:$PrefixSpecial_order field="$sort_field"/>.gif" border="0" align="absmiddle">
<inp2:m_if check="m_ParamEquals" name="use_phrases" value="1"><inp2:m_phrase name="$title"/><inp2:m_else/><inp2:m_param name="title"/></inp2:m_if>
</a>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="grid_checkbox_html">
<input type="checkbox" name="<inp2:$PrefixSpecial_InputName field="$IdField" IdField="$IdField"/>" id="<inp2:InputName field="$IdField" IdField="$IdField"/>">
</inp2:m_DefineElement>
<inp2:m_DefineElement name="grid_select_all_checkbox_html">
<input type="checkbox"/>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="grid_column_title" use_phrases="1">
'<inp2:m_RenderElement name="grid_column_title_html" pass_params="1" js_escape="1"/>'<inp2:m_if check="m_Param" name="is_last" inverse="1">,</inp2:m_if>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="grid_js_data_td" format="" no_special="" nl2br="" first_chars="" td_style=""/>
'<inp2:Field field="$field" first_chars="$first_chars" nl2br="$nl2br" grid="$grid" no_special="$no_special" format="$format" js_escape="1"/>'<inp2:m_if check="m_Param" name="is_last" inverse="1">,</inp2:m_if>
</inp2:m_DefineElement>
<inp2:m_DefineElement name="grid_js_filter_block" use_phrases="1">
'<inp2:m_RenderElement name="$filter_block" pass_params="1" js_escape="1"/>'<inp2:m_if check="m_Param" name="is_last" inverse="1">,</inp2:m_if>
</inp2:m_DefineElement>
<script type="text/javascript">
var myGrid = new GridScroller('grid_<inp2:m_Param name="PrefixSpecial" />', 'auto', 'auto');
myGrid.Spacer = 'img/spacer.gif';
myGrid.LeftCells = 1;
myGrid.BottomOffset = 40;
- myGrid.MinWidths = [50,30];
+ myGrid.MinWidths = [50];
myGrid.SetHeader(
[
['<inp2:m_RenderElement name="grid_select_all_checkbox_html" pass_params="1" js_escape="1"/>', <inp2:IterateGridFields grid="$grid" mode="filter" force_block="grid_js_filter_block" ajax="$ajax"/>],
['&nbsp;', <inp2:IterateGridFields grid="$grid" mode="header" block="$header_block" ajax="$ajax"/>]
]
)
myGrid.SetData(
[
<inp2:m_DefineElement name="js_row" td_style="">
['<inp2:m_RenderElement name="grid_checkbox_html" pass_params="1" js_escape="1"/>',<inp2:IterateGridFields grid="$grid" mode="data" force_block="grid_js_data_td"/>],
</inp2:m_DefineElement>
<inp2:m_set {$PrefixSpecial}_sequence="1" odd_even="table_color1"/>
<inp2:PrintList block="js_row" per_page="$per_page" main_special="$main_special" />
]
)
myGrid.IDs = [
<inp2:m_DefineElement name="js_id">
'<inp2:m_param name="PrefixSpecial"/>_<inp2:Field field="$IdField"/>'<inp2:m_if check="m_Param" name="is_last" inverse="1">,</inp2:m_if>
</inp2:m_DefineElement>
<inp2:PrintList block="js_id" per_page="$per_page" main_special="$main_special" />
]
/*myGrid.SetFooter(
['-', '-', '125', '-']
)*/
myGrid.Render();
</script>
<inp2:m_ParseBlock name="grid_status" grid="$grid" PrefixSpecial="$PrefixSpecial" main_special="$main_special" search="$search" no_toolbar="$no_toolbar" ajax="$ajax"/>
<inp2:m_if check="m_ParamEquals" name="ajax" value="0">
<inp2:m_if check="m_GetEquals" name="fw_menu_included" value="">
<link rel="stylesheet" rev="stylesheet" href="incs/nlsmenu.css" type="text/css" />
<script type="text/javascript" src="js/nlsmenu.js"></script>
<script type="text/javascript" src="js/nlsmenueffect_1_2_1.js"></script>
<script type="text/javascript">
var menuMgr = new NlsMenuManager("mgr");
menuMgr.timeout = 500;
menuMgr.flowOverFormElement = true;
</script>
<inp2:m_set fw_menu_included="1"/>
</inp2:m_if>
<script type="text/javascript">
<inp2:m_RenderElement name="grid_js" selected_class="grid-row-selected" tag_name="tr" pass_params="true"/>
</script>
</inp2:m_if>
<input type="hidden" id="<inp2:m_param name="PrefixSpecial"/>_Sort1" name="<inp2:m_param name="PrefixSpecial"/>_Sort1" value="">
<input type="hidden" id="<inp2:m_param name="PrefixSpecial"/>_Sort1_Dir" name="<inp2:m_param name="PrefixSpecial"/>_Sort1_Dir" value="asc">
</inp2:m_DefineElement>
<inp2:m_DefineElement name="grid_js" ajax="1">
<inp2:m_if check="m_ParamEquals" name="no_init" value="no_init" inverse="inverse">
Grids['<inp2:m_param name="PrefixSpecial"/>'] = new Grid('<inp2:m_param name="PrefixSpecial"/>', '<inp2:m_param name="selected_class"/>', ':original', edit, a_toolbar);
Grids['<inp2:m_param name="PrefixSpecial"/>'].AddItemsByIdMask('<inp2:m_param name="tag_name"/>', /^<inp2:m_param name="PrefixSpecial"/>_([\d\w-]+)/, '<inp2:m_param name="PrefixSpecial"/>[$$ID$$][<inp2:m_param name="IdField"/>]');
Grids['<inp2:m_param name="PrefixSpecial"/>'].InitItems();
</inp2:m_if>
<inp2:m_RenderElement name="nlsmenu_declaration" pass_params="true"/>
$ViewMenus = new Array('<inp2:m_param name="PrefixSpecial"/>');
</inp2:m_DefineElement>
<inp2:m_DefineElement name="white_grid" main_prefix="" per_page="" main_special="" no_toolbar="" search="on" render_as="" columns="2" direction="V" empty_cell_render_as="wg_empty_cell" ajax="0">
<inp2:$PrefixSpecial_SaveWarning name="grid_save_warning" main_prefix="$main_prefix" no_toolbar="$no_toolbar"/>
<inp2:m_if check="m_RecallEquals" var="{$PrefixSpecial}_search_keyword" value="" inverse="inverse">
<table width="100%" border="0" cellspacing="0" cellpadding="4" class="table_border_<inp2:m_if prefix="m" function="ParamEquals" name="no_toolbar" value="no_toolbar"/>nobottom<inp2:m_else/>notop<inp2:m_endif/>">
<tr>
<td valign="top" class="hint_red">
<inp2:m_phrase name="la_Warning_Filter"/>
</td>
</tr>
</table>
</inp2:m_if>
<inp2:m_if check="m_ParamEquals" name="per_page" value="-1" inverse="1">
<inp2:m_ParseBlock name="grid_pagination" grid="$grid" PrefixSpecial="$PrefixSpecial" main_special="$main_special" search="$search" no_toolbar="$no_toolbar" ajax="$ajax"/>
</inp2:m_if>
<br />
<inp2:m_DefineElement name="wg_empty_cell">
<td width="<inp2:m_param name="column_width"/>%">&nbsp;</td>
</inp2:m_DefineElement>
<table width="100%" border="0" cellspacing="2" cellpadding="4">
<inp2:m_set {$PrefixSpecial}_sequence="1" odd_even="table_color1"/>
<inp2:$PrefixSpecial_PrintList2 pass_params="true"/>
</table>
<inp2:m_if check="m_ParamEquals" name="ajax" value="0">
<inp2:m_if check="m_GetEquals" name="fw_menu_included" value="">
<script type="text/javascript" src="incs/fw_menu.js"></script>
<link rel="stylesheet" rev="stylesheet" href="incs/nlsmenu.css" type="text/css" />
<script type="text/javascript" src="js/nlsmenu.js"></script>
<script type="text/javascript" src="js/nlsmenueffect_1_2_1.js"></script>
<script type="text/javascript">
var menuMgr = new NlsMenuManager("mgr");
menuMgr.timeout = 500;
menuMgr.flowOverFormElement = true;
</script>
<inp2:m_set fw_menu_included="1"/>
</inp2:m_if>
<script type="text/javascript">
<inp2:m_RenderElement name="grid_js" selected_class="table_white_selected" tag_name="td" pass_params="true"/>
</script>
</inp2:m_if>
<input type="hidden" id="<inp2:m_param name="PrefixSpecial"/>_Sort1" name="<inp2:m_param name="PrefixSpecial"/>_Sort1" value="">
<input type="hidden" id="<inp2:m_param name="PrefixSpecial"/>_Sort1_Dir" name="<inp2:m_param name="PrefixSpecial"/>_Sort1_Dir" value="asc">
</inp2:m_DefineElement>
\ No newline at end of file
Property changes on: branches/unlabeled/unlabeled-1.1.2/core/admin_templates/incs/grid_blocks2.tpl
___________________________________________________________________
Modified: cvs2svn:cvs-rev
## -1 +1 ##
-1.1.2.1
\ No newline at end of property
+1.1.2.2
\ No newline at end of property
Index: branches/unlabeled/unlabeled-1.1.2/core/admin_templates/js/grid_scroller.js
===================================================================
--- branches/unlabeled/unlabeled-1.1.2/core/admin_templates/js/grid_scroller.js (revision 7028)
+++ branches/unlabeled/unlabeled-1.1.2/core/admin_templates/js/grid_scroller.js (revision 7029)
@@ -1,649 +1,650 @@
function preg_print_pre(obj, reg)
{
if (!reg) reg = /.*/;
var p = ''
for (var prop in obj) {
if (prop.match(reg) ) {
p += prop + ': '+obj[prop] + '\n'
}
}
alert(p)
}
function findPos(obj) {
var curleft = curtop = 0;
if (obj.offsetParent) {
curleft = obj.offsetLeft
curtop = obj.offsetTop
while (obj = obj.offsetParent) {
curleft += obj.offsetLeft
curtop += obj.offsetTop
}
}
return [curleft,curtop];
}
function getDimensions(obj) {
var style,correction,height
if (obj.currentStyle) {
style = obj.currentStyle;
}
else {
style = getComputedStyle(obj,'');
}
padding = [parseInt(style.paddingTop), parseInt(style.paddingRight), parseInt(style.paddingBottom), parseInt(style.paddingLeft)]
border = [parseInt(style.borderTopWidth), parseInt(style.borderRightWidth), parseInt(style.borderBottomWidth), parseInt(style.borderLeftWidth)]
for (var i in padding) if ( isNaN( padding[i] ) ) padding[i] = 0
for (var i in border) if ( isNaN( border[i] ) ) border[i] = 0
correction = padding[0] + padding[2]; // + border[0] + border[2]
height = obj.clientHeight - correction
var result = new Object();
result.innerHeight = obj.clientHeight - padding[0] - padding[2];
result.innerWidth = obj.clientWidth - padding[1] - padding[3];
result.padding = padding;
result.borders = border;
return result;
}
function GridScroller(grid_id, w, h)
{
this.GridId = grid_id
this.Footer = false;
this.LeftCells = 0;
this.LeftWidth = 0;
this.BottomOffset = 0;
this.Width = w;
this.Height = h;
this.AutoWidth = true;
this.ScrollerW = 0;
this.ScrollerH = 0;
this.MinWidths = [];
}
GridScroller.prototype.Render = function(id)
{
html = this.GetHTML();
if (id && id != '') {
document.getElementById(id).innerHTML = html;
}
else {
document.write(html);
}
+ document.body.style.height = '100%';
document.body.style.overflow = 'hidden';
document.body.scroll = 'no'
this.SetReferences()
this.ScrollerW = this.MainInner.offsetWidth - this.MainInner.clientWidth
this.ScrollerH = this.MainInner.offsetHeight - this.MainInner.clientHeight
this.UpdateColWidths();
if (this.Width == 'auto') {
this.Resize( this.GetAutoSize() );
}
else {
this.Resize();
}
this.TheGrid.style.visibility = 'visible'
this.MainScroller.style.visibility = 'visible'
var the_grid = this;
if (document.all) {
$status = window.attachEvent('onresize', function(ev) { the_grid.AutoResize() });
} else {
$status = window.addEventListener('resize', function(ev) { the_grid.AutoResize() }, true);
}
}
GridScroller.prototype.SetReferences = function() {
this.MainOuter = document.getElementById('outer_main_'+this.GridId );
this.MainInner = document.getElementById('inner_main_'+this.GridId)
this.MainScroller = document.getElementById('main_scroller_'+this.GridId)
this.TheGrid = document.getElementById(this.GridId );
this.HeadTable = document.getElementById('header_'+this.GridId);
this.HeadScroller = document.getElementById('inner_header_'+this.GridId);
this.HeadOuter = document.getElementById('outer_header_'+this.GridId);
this.DataTable = document.getElementById('data_'+this.GridId);
this.DataScroller = document.getElementById('inner_data_'+this.GridId);
this.DataOuter = document.getElementById('outer_data_'+this.GridId);
if (this.HasFooter) {
this.FooterTable = document.getElementById('footer_'+this.GridId);
this.FooterScroller = document.getElementById('inner_footer_'+this.GridId);
this.FooterOuter = document.getElementById('outer_footer_'+this.GridId);
}
if (this.LeftCells != 0) {
this.LeftHeaderTable = document.getElementById('left_header_'+this.GridId);
this.LeftHeaderScroller = document.getElementById('inner_left_header_'+this.GridId);
this.LeftHeaderOuter = document.getElementById('outer_left_header_'+this.GridId);
this.LeftDataTable = document.getElementById('left_data_'+this.GridId);
this.LeftDataScroller = document.getElementById('inner_left_data_'+this.GridId);
this.LeftDataOuter = document.getElementById('outer_left_data_'+this.GridId);
if (this.HasFooter) {
this.LeftFooterTable = document.getElementById('left_footer_'+this.GridId);
this.LeftFooterScroller = document.getElementById('inner_left_footer_'+this.GridId);
this.LeftFooterOuter = document.getElementById('outer_left_footer_'+this.GridId);
}
}
this.DataScroller.TheGrid = this;
this.MainInner.TheGrid = this;
this.Dot = document.getElementById('dot_'+this.GridId)
// this.MainOuter.style.border = '5px solid red';
// this.MainOuter.style.padding = '30px';
this.MainOuter.className = 'grid-scrollable'
}
GridScroller.prototype.UpdateColWidths = function() {
var data_cf = 1;
var count = 1;
var header_cf = 0.2;
var footer_cf = 0.2;
var header_widths = this.GetWidths('header_'+this.GridId);
data_cf -= header_cf;
count++;
var data_widths = this.GetWidths('data_'+this.GridId);
if (this.HasFooter()) {
var footer_widths = this.GetWidths('footer_'+this.GridId);
data_cf -= footer_cf;
count++;
}
var widths = new Array();
var total = 0;
for (var i=0; i<header_widths.length; i++)
{
// target = Math.max( Math.max(header_widths[i], data_widths[i]), footer_widths[i]);
var sum = header_widths[i]*header_cf*count + data_widths[i]*data_cf*count;
// alert('sum ('+i+') = '+header_widths[i]+' * '+header_cf+' * '+count+' + '+data_widths[i]+' * '+data_cf+' * '+count+' = '+sum)
if (this.HasFooter()) {
sum += footer_widths[i]*footer_cf*count;
// alert('sum + '+footer_widths[i]+' * '+footer_cf+' * '+count+' = '+sum)
}
target = Math.round( sum / count )
widths.push(target);
// alert('target: '+target)
total += target;
}
this.MinDataWidth = total;
this.SetWidths('header_'+this.GridId, widths, 0, -1);
this.SetWidths('data_'+this.GridId, widths, 0, -1);
if (this.LeftCells != 0) {
this.SetHeights('left_header_'+this.GridId, this.GetHeights('header_'+this.GridId));
this.SetHeights('left_data_'+this.GridId, this.GetHeights('data_'+this.GridId));
if (this.HasFooter()) {
this.SetHeights('left_footer_'+this.GridId, this.GetHeights('footer_'+this.GridId));
}
// alert('setting left widths')
this.SetWidths('left_header_'+this.GridId, [10], 0, 1);
this.SetWidths('left_data_'+this.GridId, [10], 0, 1);
}
this.HeadTable.style.width = '100%'
if (this.HasFooter()) {
this.SetRowWidths('footer_'+this.GridId, widths);
this.FooterTable.style.width = '100%'
this.FooterHeight = this.FooterTable.offsetHeight;
this.FooterOuter.style.height = this.FooterHeight + 'px'
}
else {
this.FooterHeight = 0;
}
this.HeadHeight = this.HeadTable.offsetHeight;
this.DataHeight = this.DataTable.offsetHeight;
this.HeadOuter.style.height = (this.HeadHeight) + 'px'
if (this.LeftCells != 0) {
this.LeftWidth = Math.max(this.LeftHeaderTable.offsetWidth, this.LeftDataTable.offsetWidth)
this.LeftHeaderOuter.style.height = (this.HeadHeight) + 'px'
if (this.HasFooter()) {
this.LeftFooterOuter.style.height = (this.FooterHeight) + 'px'
this.LeftWidth = Math.max(this.LeftWidth, this.LeftFooterTable.offsetWidth);
}
}
this.MainInner.onscroll = function() {
this.TheGrid.SyncScroll()
}
this.MainOuter.style.width = 'auto'
if (document.all) {
this.DataScroller.onmousewheel = function(ev) {
var e = document.all ? window.event : ev;
this.TheGrid.MainInner.scrollTop += -e.wheelDelta/2
this.TheGrid.SyncScroll();
}
}
else {
this.DataScroller.addEventListener("DOMMouseScroll", function(ev) {
var e = document.all ? window.event : ev;
this.TheGrid.MainInner.scrollTop += e.detail*10
this.TheGrid.SyncScroll();
}, false);
}
}
GridScroller.prototype.SetRowWidths = function(table_id, widths, row, from, to)
{
if (!row) row = 0;
table = document.getElementById(table_id);
var inner_width = 0;
var final_width;
if (!from) from = 0;
if (!to) {
to = table.rows[row].cells.length;
}
else {
if (to < 0) {
to = table.rows[row].cells.length + to; // + because to is negative!
}
}
var min_offset = 0;
if (!table_id.match(/^left_/)) {
min_offset = this.LeftCells;
}
// alert('table: '+table_id+' min_offset: '+min_offset)
// alert('from: '+from+' to '+to)
for (var col=from; col < to; col++)
{
final_width = widths[col];
// alert('col: '+col)
if ( this.MinWidths[col+min_offset] && (final_width < this.MinWidths[col+min_offset])) {
// alert('correcting minwidth of '+col+': '+this.MinWidths[col]+ ' / '+final_width)
final_width = this.MinWidths[col+min_offset]
}
table.rows[row].cells[col].innerHTML = '<div style="width: '+(final_width) +'px; overflow: hidden; background-color: inherit;">' + table.rows[row].cells[col].innerHTML + '</div>'
// alert('setting '+widths[col]+' for col '+col)
// if (isNaN(final_width)) {
// alert('set '+table_id+'col '+col+' '+table.rows[0].cells[col].innerHTML+' to '+widths[col])
// }
table.rows[row].cells[col].style.width = final_width+'px';
// alert('set ('+col+')'+table.rows[0].cells[col].innerHTML+' to '+widths[col])
}
}
GridScroller.prototype.SetHeights = function(table_id, heights)
{
var table = document.getElementById(table_id);
for (var row=0; row<table.rows.length; row++)
{
table.rows[row].cells[0].innerHTML = '<div style="height: '+(heights[row]) +'px; overflow: hidden; background-color: inherit;">' + table.rows[row].cells[0].innerHTML + '</div>'
table.rows[row].cells[0].style.height = heights[row]+'px';
// heights.push( table.rows[0].cells[0].offsetHeight )
// alert('get ('+row+')'+table.rows[0].cells[0].innerHTML+' height '+table.rows[0].cells[0].offsetHeight)
}
// return heights;
}
GridScroller.prototype.SetWidths = function(table_id, widths, from, to)
{
var table = document.getElementById(table_id);
for (var row=0; row<table.rows.length; row++)
{
this.SetRowWidths(table_id, widths, row, from, to)
}
table.style.width = '100%'
}
GridScroller.prototype.GetHeights = function(table_id)
{
var table = document.getElementById(table_id);
var heights = new Array();
var style,height,correction;
for (var row=0; row<table.rows.length; row++)
{
height = getDimensions( table.rows[row].cells[0] ).innerHeight
heights.push( height )
// alert('get ('+row+')'+table.rows[row].cells[0].innerHTML+' height (offset/client/computed (coorection)): '+table.rows[row].cells[0].offsetHeight + '/' + table.rows[row].cells[0].clientHeight + '/ ' +height + ' ('+correction+')')
}
return heights;
}
GridScroller.prototype.GetWidths = function(table_id)
{
var table = document.getElementById(table_id);
table.style.width = 'auto'
if (table.offsetWidth < document.body.clientWidth * 0.8) {
table.style.width = Math.round( document.body.clientWidth * 0.8 ) + 'px'
}
var widths = new Array();
var style;
for (var col=0; col<table.rows[0].cells.length; col++)
{
widths.push( table.rows[0].cells[col].clientWidth )
// alert('get ('+col+')'+table.rows[0].cells[col].innerHTML+' width '+table.rows[0].cells[col].offsetWidth)
}
return widths;
}
GridScroller.prototype.GetAutoSize = function()
{
this.MainOuter.style.width = 'auto'
var w = this.MainInner.offsetWidth;
var h = document.body.clientHeight;
var pos = findPos(this.MainOuter);
var dim = getDimensions(this.MainOuter);
h -= pos[1] + dim.padding[0] + dim.padding[2] + dim.borders[0] + dim.borders[2] + this.BottomOffset;
return [w,h]
}
GridScroller.prototype.AutoResize = function()
{
var obj = this;
if (this.ResizeHappening && this.ResizeTimer) {
window.clearTimeout(this.ResizeTimer);
this.ResizeTimer = false;
}
this.ResizeHappening = true;
this.ResizeTimer = window.setTimeout(function() {
obj.Resize( obj.GetAutoSize() );
obj.ResizeHappening = false;
// alert('resized')
}, 300)
}
GridScroller.prototype.Resize = function(w,h)
{
if (typeof(w) == 'object') {
h = w[1];
w = w[0];
}
if (w) this.Width = w;
if (h) this.Height = h;
pos = findPos(this.Dot)
this.MainOuter.style.height = (this.Height)+'px'
this.MainOuter.style.width = (this.Width)+'px'
var data_width = this.HeadTable.offsetWidth;
var data_height = this.DataHeight + this.HeadHeight + this.FooterHeight;
scroller_height = data_width > this.Width ? this.ScrollerH : 0;
scroller_width = data_height > this.Height - scroller_height ? this.ScrollerW : 0;
scroller_height = data_width > this.Width - scroller_width ? this.ScrollerH : 0;
// alert('min: '+this.MinDataWidth+' pos: '+pos[0]+','+pos[1]+' scroller W x H: '+scroller_width+' x '+scroller_height+' will resize to '+this.Width+' x '+this.Height+' data: '+data_width+' x '+data_height)
this.TheGrid.style.width = (this.Width - scroller_width) + 'px';
this.TheGrid.style.height = (this.Height - scroller_height) + 'px';
this.TheGrid.style.left = (pos[0])+ 'px'
this.TheGrid.style.top = (pos[1]) + 'px'
this.HeadOuter.style.width = (this.Width -scroller_width -this.LeftWidth)+ 'px';
this.DataOuter.style.width = (this.Width -scroller_width -this.LeftWidth)+ 'px';
if (this.LeftCells != 0) {
this.LeftHeaderOuter.style.width = (this.LeftWidth) + 'px'
this.LeftDataOuter.style.width = (this.LeftWidth) + 'px'
if (this.HasFooter()) {
this.LeftFooterOuter.style.width = (this.LeftWidth) + 'px'
}
}
if (this.HasFooter()) {
this.FooterOuter.style.width = (this.Width -scroller_width -this.LeftWidth)+ 'px';
}
if (data_height < this.Height - scroller_height) {
var adjusted_data_height = data_height - this.HeadHeight - this.FooterHeight
}
else {
var adjusted_data_height = this.Height - this.HeadHeight - this.FooterHeight - scroller_height
}
this.DataOuter.style.height = adjusted_data_height + 'px'
if (this.LeftCells != 0) {
this.LeftDataOuter.style.height = adjusted_data_height + 'px'
}
this.MainScroller.style.width = (this.HeadTable.offsetWidth + this.LeftWidth)+'px'
this.MainScroller.style.height = ( this.DataTable.offsetHeight + this.HeadHeight + this.FooterHeight)+'px'
}
GridScroller.prototype.SyncScroll = function()
{
this.HeadScroller.scrollLeft = this.MainInner.scrollLeft;
this.DataScroller.scrollLeft = this.MainInner.scrollLeft;
if (this.HasFooter()) {
this.FooterScroller.scrollLeft = this.MainInner.scrollLeft;
}
this.DataScroller.scrollTop = this.MainInner.scrollTop;
if (this.LeftCells != 0) {
this.LeftDataScroller.scrollTop = this.MainInner.scrollTop;
}
}
GridScroller.prototype.GetHTML = function()
{
w = this.Width;
h = this.Height;
var o = '';
o += this.CreateScroller( '<div id="main_scroller_'+this.GridId+'" style="background-color: inherit; position: relative; width: auto;"><img src="'+this.Spacer+'" id="dot_'+this.GridId+'" width="200" height="200"><br/><br/></div>', 100, 100, 'main_'+this.GridId, false, 1 );
o += '<div id="'+this.GridId+'" class="grid-container" style="background-color: inherit; top: 0px; visibility: hidden; z-index: 10; width: auto; height: '+300+'px; position: absolute; overflow: hidden;">';
var header = this.CreateScroller( this.CreateTable( this.GetHeaderCells(), 'header_'+this.GridId), 100, 10, 'header_'+this.GridId, true, 5 )
var data = this.CreateScroller( this.CreateTable( this.GetDataCells(), 'data_'+this.GridId ), 100, 10, 'data_'+this.GridId, true, 5 )
var footer = this.HasFooter() ? this.CreateScroller( this.CreateTable( this.GetFooterCells(), 'footer_'+this.GridId ), 100, 10, 'footer_'+this.GridId, true, 5 ) : '';
if (this.LeftCells != 0) {
var left_header = this.CreateScroller( this.CreateTable( this.GetLeftHeader(), 'left_header_'+this.GridId), 20, 10, 'left_header_'+this.GridId, true, 5 )
var left_data = this.CreateScroller( this.CreateTable( this.GetLeftData(), 'left_data_'+this.GridId), 20, 10, 'left_data_'+this.GridId, true, 5 )
var left_footer = this.CreateScroller( this.CreateTable( this.GetLeftFooter(), 'left_footer_'+this.GridId), 20, 10, 'left_footer_'+this.GridId, true, 5 )
o += '<table style="width: 100%; border-collapse: collapse;">'
o += '<tr><td style="vertical-align: top; margin: 0px; padding: 0px">' + left_header + '</td>'
o += '<td style="vertical-align: top; margin: 0px; padding: 0px;">' + header + '</td></tr>'
o += '<tr><td style="vertical-align: top; margin: 0px; padding: 0px">' + left_data + '</td>'
o += '<td style="vertical-align: top; margin: 0px; padding: 0px">' + data + '</td></tr>'
if (this.HasFooter()) {
o += '<tr><td style="vertical-align: top; margin: 0px; padding: 0px">' + left_footer + '</td>'
o += '<td style="vertical-align: top; margin: 0px; padding: 0px">' + footer + '</td></tr>'
}
o += '</table>'
}
else {
o += header + data + footer;
}
o += '</div>';
return o
}
GridScroller.prototype.HasFooter = function()
{
return (this.Footer != false)
}
GridScroller.prototype.CreateTable = function(content, id)
{
return '<table style="width: 100%;" id="'+id+'">'+content+'</table>';
}
GridScroller.prototype.CreateScroller = function(content, w, h, id, hidden, z)
{
if (hidden) {
overflow = 'hidden'
}
else {
overflow = 'auto'
}
if (!z) {
z = 0;
}
if (id && id != '') {
outer_id = 'id="outer_'+id+'"';
inner_id = 'id="inner_'+id+'"';
}
else {
outer_id = '';
inner_id = '';
}
var o = '';
o += '<div '+outer_id+' class="scroller-outer" style="z-index: '+z+'; width: '+w+'px; height: '+h+'px;">'
o += '<div '+inner_id+' class="scroller-inner" style="z-index: '+z+'; width: 100%; height: 100%; overflow: '+overflow+'; position: relative">'
o += content
o += '</div></div>'
return o
}
GridScroller.prototype.GetLeftHeader = function()
{
var o = '';
for (var row in this.Header) {
o +='<tr class="grid-header-row grid-header-row-'+row+'">'
for (var col=0; col<this.LeftCells; col++) {
o += '<td class="grid-header-'+col+'">'+this.Header[row][col]+'</td>'
}
o += '<td class="grid-header-last-cell" style="width: auto"><img src="'+this.Spacer+'" width="1" height="1" alt=""/></td>'
o += '</tr>'
}
return o
var o = '';
o += '<tr class="grid-header-row">'
for (var col=0; col<this.LeftCells; col++) {
o += '<td class="grid-header-col-'+col+'">'+this.Header[col]+'</td>'
}
o += '</tr>'
return o
}
GridScroller.prototype.GetLeftData = function()
{
var o = '';
var even = false;
for (var row in this.Data) {
var id = this.IDs[row] ? 'id="left_'+this.IDs[row]+'"' : '';
o += even ? '<tr class="grid-row grid-row-even grid-row-'+row+'" '+id+'>' : '<tr class="grid-row grid-row-'+row+'" '+id+'>'
even = !even;
for (var col=0; col<this.LeftCells; col++) {
o += '<td class="grid-col-'+col+'">'+this.Data[row][col]+'</td>'
}
o += '</tr>'
}
return o
}
GridScroller.prototype.GetLeftFooter = function()
{
var o = '';
if (this.HasFooter()) {
o += '<tr class="grid-footer-row">'
for (var col=0; col<this.LeftCells; col++) {
o += '<td class="grid-footer-col-'+col+'">'+this.Footer[col]+'</td>'
}
o += '</tr>'
}
return o
}
GridScroller.prototype.GetHeaderCells = function()
{
var o = '';
for (var row in this.Header) {
o +='<tr class="grid-header-row grid-header-row-'+row+'">'
for (var col=this.LeftCells; col<this.Header[row].length; col++) {
o += '<td class="grid-header-'+col+'">'+this.Header[row][col]+'</td>'
}
o += '<td class="grid-header-last-cell" style="width: auto"><img src="'+this.Spacer+'" width="1" height="1" alt=""/></td>'
o += '</tr>'
}
return o
/*var o = '<tr class="grid-header-row">'
for (var col=this.LeftCells; col<this.Header.length; col++) {
o += '<td class="grid-header-col-'+col+'">'+this.Header[col]+'</td>'
}
o += '<td class="grid-header-last-cell" style="width: auto"><img src="'+this.Spacer+'" width="1" height="1" alt=""/></td>'
o += '</tr>'
return o*/
}
GridScroller.prototype.GetDataCells = function()
{
var o = '';
var even = false;
for (var row in this.Data) {
var id = this.IDs[row] ? 'id="'+this.IDs[row]+'"' : '';
o += even ? '<tr class="grid-row grid-row-even grid-row-'+row+'" '+id+' sequence="'+(row+1)+'">' : '<tr class="grid-row grid-row-'+row+'" '+id+' sequence="'+(row+1)+'">'
even = !even;
for (var col=this.LeftCells; col<this.Data[row].length; col++) {
o += '<td class="grid-col-'+col+'">'+this.Data[row][col]+'</td>'
}
o += '<td class="grid-data-last-cell" style="width: auto"><img src="'+this.Spacer+'" width="1" height="1" alt=""/></td>'
o += '</tr>'
}
return o
}
GridScroller.prototype.GetFooterCells = function()
{
var o = '<tr class="grid-footer-row">'
for (var col=this.LeftCells; col<this.Footer.length; col++) {
o += '<td class="grid-footer-col-'+col+'">'+this.Footer[col]+'</td>'
}
o += '<td class="grid-footer-last-cell" style="width: auto"><img src="'+this.Spacer+'" width="1" height="1" alt=""/></td>'
o += '</tr>'
return o
}
GridScroller.prototype.SetData = function(a_data)
{
this.Data = a_data;
}
GridScroller.prototype.SetHeader = function(a_header)
{
this.Header = a_header;
}
GridScroller.prototype.SetFooter = function(a_footer)
{
this.Footer = a_footer;
}
\ No newline at end of file
Property changes on: branches/unlabeled/unlabeled-1.1.2/core/admin_templates/js/grid_scroller.js
___________________________________________________________________
Modified: cvs2svn:cvs-rev
## -1 +1 ##
-1.1.2.6
\ No newline at end of property
+1.1.2.7
\ No newline at end of property
Index: branches/unlabeled/unlabeled-1.9.18/core/kernel/utility/debugger/debugger.js
===================================================================
--- branches/unlabeled/unlabeled-1.9.18/core/kernel/utility/debugger/debugger.js (revision 7028)
+++ branches/unlabeled/unlabeled-1.9.18/core/kernel/utility/debugger/debugger.js (revision 7029)
@@ -1,308 +1,308 @@
function DebugReq() {}
DebugReq.timeout = 5000; //5 seconds
DebugReq.makeRequest = function(p_url, p_busyReq, p_progId, p_successCallBack, p_errorCallBack, p_pass, p_object) {
//p_url: the web service url
//p_busyReq: is a request for this object currently in progress?
//p_progId: element id where progress HTML should be shown
//p_successCallBack: callback function for successful response
//p_errorCallBack: callback function for erroneous response
//p_pass: string of params to pass to callback functions
//p_object: object of params to pass to callback functions
if (p_busyReq) {
return;
}
var req = DebugReq.getRequest();
if (req != null) {
p_busyReq = true;
DebugReq.showProgress(p_progId);
req.onreadystatechange = function() {
if (req.readyState == 4) {
p_busyReq = false;
window.clearTimeout(toId);
if (req.status == 200) {
p_successCallBack(req,p_pass,p_object);
} else {
p_errorCallBack(req,p_pass,p_object);
}
}
}
req.open('GET', p_url, true);
req.setRequestHeader('If-Modified-Since', 'Sat, 1 Jan 2000 00:00:00 GMT');
req.send(null);
var toId = window.setTimeout( function() {if (p_busyReq) req.abort();}, DebugReq.timeout );
}
}
DebugReq.getRequest = function() {
var xmlHttp;
try { xmlHttp = new ActiveXObject('MSXML2.XMLHTTP'); return xmlHttp; } catch (e) {}
try { xmlHttp = new ActiveXObject('Microsoft.XMLHTTP'); return xmlHttp; } catch (e) {}
try { xmlHttp = new XMLHttpRequest(); return xmlHttp; } catch(e) {}
return null;
}
DebugReq.showProgress = function(p_id) {
$Debugger.AppendRow(DebugReq.getProgressHtml());
}
DebugReq.getProgressHtml = function() {
return 'Loading ...';
}
DebugReq.getErrorHtml = function(p_req) {
//TODO: implement accepted way to handle request error
return "<p>" + "(" + p_req.status + ") " + p_req.statusText + "</p>"
}
// Debugger
function Debugger() {
this.IsQueried = false;
this.IsVisible = false;
this.DebuggerDIV = document.getElementById('debug_layer');
this.DebuggerTable = document.getElementById('debug_table');
this.RowCount = 0;
this.busyRequest = false;
// window.$Debugger = this; // this should be uncommented in case if debugger variable is not $Debugger
this.AddEvent(window, 'scroll', function (ev) { window.$Debugger.Resize(ev); });
this.AddEvent(window, 'resize', function (ev) { window.$Debugger.Resize(ev); });
// this.AddEvent(window, 'keydown', function (ev) { window.$Debugger.KeyDown(ev); }); // don't work in IE
document.onkeydown = function(ev) { window.$Debugger.KeyDown(ev); }
}
Debugger.prototype.SetOpacity = function(opacity)
{
this.DebuggerToolbar.style.opacity = (opacity / 100);
this.DebuggerToolbar.style.MozOpacity = (opacity / 100);
this.DebuggerToolbar.style.KhtmlOpacity = (opacity / 100);
this.DebuggerToolbar.style.filter = "alpha(opacity=" + opacity + ")";
}
Debugger.prototype.AddToolbar = function($var_name) {
var $span = document.createElement('SPAN');
$span.style.position = 'absolute';
- $span.innerHTML = '<table cellspacing="3" cellpadding="0" width="100%" class="dbg-toolbar"><tr><td><input type="button" class="dbg-button" value="Reload Frame" onclick="self.location.reload();" /><input type="button" class="dbg-button" value="Show Debugger" onclick="' + $var_name + '.Toggle();" /><br /></td></tr></table>';
+ $span.innerHTML = '<table cellspacing="3" cellpadding="0" class="dbg-toolbar"><tr><td><input type="button" class="dbg-button" value="Reload Frame" onclick="self.location.reload();" /><input type="button" class="dbg-button" value="Show Debugger" onclick="' + $var_name + '.Toggle();" /><br /></td></tr></table>';
this.DebuggerToolbar = $span;
this.SetOpacity(20);
$span.onmouseover = function() {
$Debugger.SetOpacity(100);
}
$span.onmouseout = function() {
$Debugger.SetOpacity(20);
}
var $body = document.getElementsByTagName('BODY')[0];
$body.insertBefore($span, $body.firstChild);
}
Debugger.prototype.AppendRow = function($html) {
this.RowCount++;
var $tr = document.createElement('TR');
this.DebuggerTable.appendChild($tr);
$tr.className = 'debug_row_' + (this.RowCount % 2 ? 'odd' : 'even');
$tr.id = 'debug_row_' + this.RowCount;
var $td = document.createElement('TD');
$td.className = 'debug_cell';
$td.innerHTML = $html;
$tr.appendChild($td);
}
Debugger.prototype.RemoveRow = function($row_index) {
this.DebuggerTable.deleteRow($row_index);
this.RowCount--;
}
Debugger.prototype.Clear = function() {
if (!this.IsQueried) return false;
this.IsQueried = false;
while (this.DebuggerTable.rows.length) {
this.RemoveRow(0);
}
}
Debugger.prototype.KeyDown = function($e) {
var $KeyCode = this.GetKeyCode($e);
if ($KeyCode == 123 || $KeyCode == 27) {// F12 or ESC
this.Toggle($KeyCode);
this.StopEvent($e);
}
}
Debugger.prototype.OpenDOMViewer = function() {
var $value = document.getElementById('dbg_domviewer').value;
DOMViewerObj = ($value.indexOf('"') != -1) ? document.getElementById( $value.substring(1,$value.length-1) ) : eval($value);
window.open(this.DOMViewerURL);
return false;
}
Debugger.prototype.GetKeyCode = function($e) {
$e = ($e) ? $e : event;
var target = ($e.target) ? $e.target : $e.scrElement;
var charCode = ($e.charCode) ? $e.charCode : (($e.which) ? $e.which : $e.keyCode);
return charCode;
}
Debugger.prototype.StopEvent = function($e) {
$e = ($e) ? $e : event;
$e.cancelBubble = true;
if ($e.stopPropagation) $e.stopPropagation();
}
Debugger.prototype.Toggle = function($KeyCode) {
if(!this.DebuggerDIV) return false;
this.IsVisible = this.DebuggerDIV.style.display == 'none' ? false : true;
if (!this.IsVisible && $KeyCode == 27) {
return false;
}
this.Resize(null);
if (!this.IsQueried) {
this.Query();
}
this.DebuggerDIV.style.display = this.IsVisible ? 'none' : 'block';
}
Debugger.prototype.Query = function() {
DebugReq.makeRequest(this.DebugURL, this.busyRequest, '', this.successCallback, this.errorCallback, '', this);
}
Debugger.prototype.successCallback = function(p_req, p_pass, p_object) {
var contents = p_req.responseText;
contents = contents.split(p_object.RowSeparator);
if (contents.length == 1) {
alert('error: '+p_req.responseText);
p_object.IsQueried = true;
return ;
}
for (var $i = 0; $i < contents.length - 1; $i++) {
p_object.AppendRow(contents[$i]);
}
p_object.Refresh();
}
Debugger.prototype.errorCallback = function(p_req, p_pass, p_object) {
alert('AJAX ERROR: '+DebugReq.getErrorHtml(p_req));
p_object.Refresh();
}
Debugger.prototype.Refresh = function() {
// progress mether row
this.RemoveRow(0);
this.IsQueried = true;
this.DebuggerDIV.scrollTop = this.IsFatalError ? 10000000 : 0;
this.DebuggerDIV.scrollLeft = 0;
}
Debugger.prototype.Resize = function($e) {
if (!this.DebuggerDIV) return false;
var $pageTop = document.all ? document.body.offsetTop + document.body.scrollTop : window.scrollY;
this.DebuggerDIV.style.top = $pageTop + 'px';
this.DebuggerDIV.style.height = GetWindowHeight() + 'px';
return true;
}
function GetWindowHeight() {
var currWinHeight;
if (window.innerHeight) {//FireFox with correction for status bar at bottom of window
currWinHeight = window.innerHeight - 10;
} else if (document.documentElement.clientHeight) {//IE 7 with correction for address bar
currWinHeight = document.documentElement.clientHeight - 10;
} else if (document.body.offsetHeight) {//IE 4+
currWinHeight = document.body.offsetHeight - 5 + 15 - 10; // + 10
}
return currWinHeight;
}
/*function GetWinHeight() {
if (window.innerHeight) return window.innerHeight;
else if (document.documentElement.clientHeight) return document.documentElement.clientHeight;
else if (document.body.offsetHeight) return document.body.offsetHeight;
else return _winHeight;
}*/
Debugger.prototype.SetClipboard = function(copyText) {
if (window.clipboardData) {
// IE send-to-clipboard method.
window.clipboardData.setData('Text', copyText);
}
else if (window.netscape) {
// You have to sign the code to enable this or allow the action in about:config by changing user_pref("signed.applets.codebase_principal_support", true);
netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
// Store support string in an object.
var str = Components.classes['@mozilla.org/supports-string;1'].createInstance(Components.interfaces.nsISupportsString);
if (!str) {
return false;
}
str.data = copyText;
// Make transferable.
var trans = Components.classes['@mozilla.org/widget/transferable;1'].createInstance(Components.interfaces.nsITransferable);
if (!trans) {
return false;
}
// Specify what datatypes we want to obtain, which is text in this case.
trans.addDataFlavor('text/unicode');
trans.setTransferData('text/unicode', str, copyText.length * 2);
var clipid = Components.interfaces.nsIClipboard;
var clip = Components.classes['@mozilla.org/widget/clipboard;1'].getService(clipid);
if (!clip) {
return false;
}
clip.setData(trans, null, clipid.kGlobalClipboard);
}
}
Debugger.prototype.ShowProps = function($Obj, $Name) {
var $ret = '';
for ($Prop in $Obj) {
$ret += $Name + '.' + $Prop + ' = ' + $Obj[$Prop] + "\n";
}
return alert($ret);
}
Debugger.prototype.editFile = function($fileName, $lineNo) {
if (!document.all) {
alert('Only works in IE');
return;
}
if (!this.EditorPath) {
alert('Editor path not defined!');
return;
}
var $launch_object = new ActiveXObject('LaunchinIE.Launch');
var $editor_path = this.EditorPath;
$editor_path = $editor_path.replace('%F', $fileName);
$editor_path = $editor_path.replace('%L',$lineNo);
$launch_object.LaunchApplication($editor_path);
}
Debugger.prototype.ToggleTraceArgs = function($arguments_layer_id) {
var $arguments_layer = document.getElementById($arguments_layer_id);
$arguments_layer.style.display = ($arguments_layer.style.display == 'none') ? 'block' : 'none';
}
Debugger.prototype.AddEvent = function (el, evname, func) {
var $status = false;
if (document.all) {
$status = el.attachEvent('on' + evname, func);
} else {
$status = el.addEventListener(evname, func, true);
}
}
\ No newline at end of file
Property changes on: branches/unlabeled/unlabeled-1.9.18/core/kernel/utility/debugger/debugger.js
___________________________________________________________________
Modified: cvs2svn:cvs-rev
## -1 +1 ##
-1.9.18.2
\ No newline at end of property
+1.9.18.3
\ No newline at end of property
Index: branches/unlabeled/unlabeled-1.4.18/core/kernel/utility/debugger/debugger.css
===================================================================
--- branches/unlabeled/unlabeled-1.4.18/core/kernel/utility/debugger/debugger.css (revision 7028)
+++ branches/unlabeled/unlabeled-1.4.18/core/kernel/utility/debugger/debugger.css (revision 7029)
@@ -1,93 +1,94 @@
.dbg_profiler {
margin-top: 5px;
padding: 0px;
height: 10px;
border: 1px solid #000000;
float: left;
display: inline;
}
.dbg_flat_table, .dbg_stats_table {
border-collapse: collapse;
width: auto;
margin: 0px;
}
.dbg_flat_table TD, .dbg_stats_table TD {
border: 1px solid #CCCCCC;
padding: 4px;
}
.dbg_stats_table TD {
background-color: #FFFFFF;
font-family: Arial, Verdana;
font-size: 9pt;
text-align: left;
}
.debug_layer_table {
border-collapse: collapse;
}
.debug_text, .debug_row_even TD, .debug_row_odd TD {
color: #000000;
font-family: Verdana;
font-size: 11px;
}
.debug_cell {
border: 1px solid #FF0000;
padding: 4px;
text-align: left;
}
.debug_row_even {
background-color: #CCCCFF;
}
.debug_row_odd {
background-color: #FFFFCC;
}
.debug_layer_container {
left: 2px;
top: 1px;
z-index: +1000;
position: absolute;
overflow: auto;
border: 2px solid;
padding: 3px;
border-top-color: threedlightshadow;
border-left-color: threedlightshadow;
border-right-color: threeddarkshadow;
border-bottom-color: threeddarkshadow;
background-color: buttonface;
}
.debug_layer {
padding: 0px;
}
.debug_error {
color: #FF0000;
}
.dbg-toolbar {
background-color: #D4D0C8;
border: 1px solid #000000;
+ width: auto;
}
.dbg-button, .dbg-button:hover {
font-size: 13px;
font-family: Arial, Helvetica;
}
.dbg-button {
background-color: #D4D0C8;
border: 1px solid #D4D0C8;
}
.dbg-button:hover {
background-color: #B5BDD2;
border: 1px solid #0A246A;
}
\ No newline at end of file
Property changes on: branches/unlabeled/unlabeled-1.4.18/core/kernel/utility/debugger/debugger.css
___________________________________________________________________
Modified: cvs2svn:cvs-rev
## -1 +1 ##
-1.4
\ No newline at end of property
+1.4.18.1
\ No newline at end of property
Index: branches/unlabeled/unlabeled-1.3.2/core/admin_templates/js/toolbar.js
===================================================================
--- branches/unlabeled/unlabeled-1.3.2/core/admin_templates/js/toolbar.js (revision 7028)
+++ branches/unlabeled/unlabeled-1.3.2/core/admin_templates/js/toolbar.js (revision 7029)
@@ -1,266 +1,269 @@
function ToolBarButton(title, alt, onclick, $hidden, prefix)
{
this.Title = title || '';
this.CheckTitleModule();
this.Alt = RemoveTranslationLink(alt || '');
if (this.Alt.match(/(.*)::(.*)/)) {
this.Alt = RegExp.$1;
this.Label = RegExp.$2
}
else {
this.Label = this.Alt;
}
if (typeof(onclick) == 'function') {
this.onClick = onclick;
}
else {
this.onClick = function() {
if (eval('typeof('+this.Title+')') == 'function')
eval(this.Title + '()');
}
}
this.imgObject = null;
this.Enabled = true;
this.Hidden = $hidden ? true : false;
this.ToolBar = null;
this.Prefix = prefix ? prefix : '';
}
ToolBarButton.prototype.CheckTitleModule = function()
{
if (this.Title.match(/([^:]+):(.*)$/)) {
// has module set directly
this.Title = RegExp.$2;
this.Module = RegExp.$1;
if (this.Module == 'in-portal') {
this.Module = 'kernel';
}
}
else {
// use default module
this.Module = 'core';
}
}
ToolBarButton.prototype.IconsPath = function()
{
if (typeof(img_path) == 'undefined') {
//alert('error: toolbar image path not set');
}
return img_path.replace('#MODULE#', this.Module) + 'toolbar/';
}
ToolBarButton.prototype.GetHTML = function() {
- var o = '<div class="toolbar-button" id="'+this.GetToolID('div')+'">'
+ var add_style = this.ToolBar.ButtonStyle ? 'style="'+this.ToolBar.ButtonStyle+'"' : '';
+ var o = '<div class="toolbar-button" id="'+this.GetToolID('div')+'" '+add_style+'>'
o += '<img id="' + this.GetToolID() + '" src="' + this.IconsPath() + this.ToolBar.IconPrefix + this.Title + '.gif" title="' + this.Alt + '">';
o += '<br/>'+this.Label;
o += '</div>'
return o;
}
ToolBarButton.prototype.GetToolID = function(item) {
if (!item) item = 'tool'
return this.Prefix == '' ? item+'_' + this.Title : item+'_['+this.Prefix+'][' + this.Title+']'
}
ToolBarButton.prototype.Init = function() {
img = document.getElementById(this.GetToolID());
this.imgObject = img;
this.Container = document.getElementById(this.GetToolID('div')) ? document.getElementById(this.GetToolID('div')) : false;
this.Container.btn = this;
img.btn = this;
this.SetOnMouseOver();
this.SetOnMouseOut();
this.SetOnClick();
if (this.Hidden) this.Hide();
}
ToolBarButton.prototype.SetOnMouseOver = function() {
this.Container.onmouseover = function() {
this.btn.imgObject.src = this.btn.IconsPath() + this.btn.ToolBar.IconPrefix + this.btn.Title + '_f2.gif';
};
}
ToolBarButton.prototype.SetOnMouseOut = function() {
this.Container.onmouseout = function() {
this.btn.imgObject.src = this.btn.IconsPath() + this.btn.ToolBar.IconPrefix + this.btn.Title + '.gif';
};
}
ToolBarButton.prototype.SetOnClick = function() {
this.Container.onmouseout = function() {
this.btn.imgObject.src = this.btn.IconsPath() + this.btn.ToolBar.IconPrefix + this.btn.Title + '.gif';
};
this.Container.inClick = false;
if (typeof(this.onClick) != 'function') {
this.Container.onclick = function() {
if (this.inClick) return;
this.inClick = true;
if (eval('typeof('+this.btn.Title+')') == 'function')
eval(this.btn.Title + '()');
this.inClick = false;
}
}
else {
this.Container.onclick = function() {
if (this.inClick) return;
this.inClick = true;
this.btn.onClick();
this.inClick = false;
}
}
// the following lines are correct, as long as mozilla understands 'pointer', but IE 'hand',
// do not change the order of these lines!
if (is.ie6up || is.gecko) {
this.Container.style.cursor = 'pointer';
}
else {
// somehow set cursor hand for IE 5/ 5.5
// this.imgObject.style = 'cursor: hand';
}
}
ToolBarButton.prototype.Disable = function() {
if ( !this.Enabled ) return;
this.imgObject.src = this.IconsPath() + this.ToolBar.IconPrefix + this.Title + '_f3.gif';
this.Container.onmouseover = null;
this.Container.onmouseout = null;
this.Container.onclick = null;
this.Container.style.cursor = 'default';
this.Enabled = false;
}
ToolBarButton.prototype.Enable = function() {
if (this.Enabled) return;
this.imgObject.src = this.IconsPath() + this.ToolBar.IconPrefix + this.Title + '.gif';
this.SetOnMouseOver();
this.SetOnMouseOut();
this.SetOnClick();
this.Enabled = true;
}
ToolBarButton.prototype.Hide = function() {
this.Container.style.display = 'none';
this.Hidden = true;
}
ToolBarButton.prototype.Show = function() {
this.Container.style.display = '';
this.Hidden = false;
}
/* ----------- */
function ToolBarSeparator(title) //extends ToolBarButton
{
this.Title = title;
}
ToolBarSeparator.prototype = new ToolBarButton;
ToolBarSeparator.prototype.GetHTML = function() {
- return '<div class="toolbar-button"><img id="' + this.GetToolID() + '" src="' + this.IconsPath() + 'tool_divider.gif"></div>';
+ var add_style = this.ToolBar.ButtonStyle ? 'style="'+this.ToolBar.ButtonStyle+'"' : '';
+ return '<div id="'+this.GetToolID('div')+'" class="toolbar-button" '+add_style+'><img id="' + this.GetToolID() + '" src="' + this.IconsPath() + 'tool_divider.gif"></div>';
}
ToolBarSeparator.prototype.Init = function() {
img = document.getElementById(this.ToolBar.IconPrefix + this.Title);
+ this.Container = document.getElementById(this.GetToolID('div')) ? document.getElementById(this.GetToolID('div')) : false;
this.imgObject = img;
img.btn = this;
}
ToolBarSeparator.prototype.Enable = function() { }
ToolBarSeparator.prototype.Disable = function() { }
/* ----------- */
function ToolBarMarkup(title, html) //extends ToolBarButton
{
this.Title = title;
this.HTML = html;
}
ToolBarMarkup.prototype = new ToolBarButton;
ToolBarMarkup.prototype.GetHTML = function() {
return this.HTML;
}
ToolBarMarkup.prototype.Init = function() { }
ToolBarMarkup.prototype.Enable = function() { }
ToolBarMarkup.prototype.Disable = function() { }
/* ----------- */
function ToolBar(icon_prefix, $module)
{
this.Module = $module ? $module : 'core';
this.IconPrefix = icon_prefix ? icon_prefix : 'tool_';
this.Buttons = new Array();
}
ToolBar.prototype.AddButton = function(a_button)
{
a_button.ToolBar = this;
this.Buttons[a_button.Title] = a_button;
}
ToolBar.prototype.Render = function($container)
{
if ($container) {
$container.innerHTML = ''; // container will contain only buttons
for (var i in this.Buttons) {
btn = this.Buttons[i];
$container.innerHTML += btn.GetHTML();
}
// init all buttons after because objects are not yet created directly after assigning to innerHTML
for (var i in this.Buttons) {
btn = this.Buttons[i];
btn.Init();
}
}
else {
for (var i in this.Buttons) {
btn = this.Buttons[i];
document.write( btn.GetHTML() );
btn.Init();
}
}
}
ToolBar.prototype.EnableButton = function(button_id) {
if(this.ButtonExists(button_id)) this.Buttons[button_id].Enable();
}
ToolBar.prototype.DisableButton = function(button_id) {
if(this.ButtonExists(button_id)) this.Buttons[button_id].Disable();
}
ToolBar.prototype.HideButton = function(button_id) {
if(this.ButtonExists(button_id)) this.Buttons[button_id].Hide();
}
ToolBar.prototype.ShowButton = function(button_id) {
if(this.ButtonExists(button_id)) this.Buttons[button_id].Show();
}
ToolBar.prototype.SetEnabled = function(button_id, $enabled) {
var $ret = $enabled ? this.EnableButton(button_id) : this.DisableButton(button_id);
}
ToolBar.prototype.SetVisible = function(button_id, $visible) {
var $ret = $visible ? this.ShowButton(button_id) : this.HideButton(button_id);
}
ToolBar.prototype.GetButtonImage = function(button_id) {
if( this.ButtonExists(button_id) ) return this.Buttons[button_id].imgObject;
}
ToolBar.prototype.ButtonExists = function(button_id) {
return typeof(this.Buttons[button_id]) == 'object';
}
Property changes on: branches/unlabeled/unlabeled-1.3.2/core/admin_templates/js/toolbar.js
___________________________________________________________________
Modified: cvs2svn:cvs-rev
## -1 +1 ##
-1.3.2.2
\ No newline at end of property
+1.3.2.3
\ No newline at end of property

Event Timeline