Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
erp5
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
preetwinder
erp5
Commits
2cb32e84
Commit
2cb32e84
authored
Jun 14, 2017
by
Xiaowu Zhang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
move loading icon into header
/reviewed-on
nexedi/erp5!340
parent
d5a9d47f
Changes
57
Hide whitespace changes
Inline
Side-by-side
Showing
57 changed files
with
507 additions
and
1036 deletions
+507
-1036
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_header_html.html
...lateItem/web_page_module/rjs_gadget_erp5_header_html.html
+1
-1
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_header_html.xml
...plateItem/web_page_module/rjs_gadget_erp5_header_html.xml
+2
-2
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_header_js.js
...TemplateItem/web_page_module/rjs_gadget_erp5_header_js.js
+22
-31
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_header_js.xml
...emplateItem/web_page_module/rjs_gadget_erp5_header_js.xml
+2
-2
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_nojqm_css.css
...emplateItem/web_page_module/rjs_gadget_erp5_nojqm_css.css
+18
-6
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_nojqm_css.xml
...emplateItem/web_page_module/rjs_gadget_erp5_nojqm_css.xml
+2
-2
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_page_history_js.js
...teItem/web_page_module/rjs_gadget_erp5_page_history_js.js
+2
-1
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_page_history_js.xml
...eItem/web_page_module/rjs_gadget_erp5_page_history_js.xml
+2
-2
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_page_search_js.js
...ateItem/web_page_module/rjs_gadget_erp5_page_search_js.js
+1
-0
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_page_search_js.xml
...teItem/web_page_module/rjs_gadget_erp5_page_search_js.xml
+2
-2
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_page_worklist_js.js
...eItem/web_page_module/rjs_gadget_erp5_page_worklist_js.js
+2
-1
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_page_worklist_js.xml
...Item/web_page_module/rjs_gadget_erp5_page_worklist_js.xml
+2
-2
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_pt_frontpage_js.js
...teItem/web_page_module/rjs_gadget_erp5_pt_frontpage_js.js
+1
-0
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_pt_frontpage_js.xml
...eItem/web_page_module/rjs_gadget_erp5_pt_frontpage_js.xml
+2
-2
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_pt_logoutform_js.js
...eItem/web_page_module/rjs_gadget_erp5_pt_logoutform_js.js
+4
-1
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_pt_logoutform_js.xml
...Item/web_page_module/rjs_gadget_erp5_pt_logoutform_js.xml
+2
-2
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_pt_preferencepage_js.js
...m/web_page_module/rjs_gadget_erp5_pt_preferencepage_js.js
+2
-1
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_pt_preferencepage_js.xml
.../web_page_module/rjs_gadget_erp5_pt_preferencepage_js.xml
+2
-2
bt5/erp5_web_renderjs_ui/SkinTemplateItem/portal_skins/erp5_web_renderjs_ui/erp5css.less.txt
...teItem/portal_skins/erp5_web_renderjs_ui/erp5css.less.txt
+29
-6
bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_check_box_field_zuite/testSimpleCheckBoxField.zpt
...erjs_ui_check_box_field_zuite/testSimpleCheckBoxField.zpt
+1
-16
bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_date_time_field_zuite/testDateTimeDefaultToNow.zpt
...rjs_ui_date_time_field_zuite/testDateTimeDefaultToNow.zpt
+1
-26
bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_date_time_field_zuite/testInvalidDateTime.zpt
...renderjs_ui_date_time_field_zuite/testInvalidDateTime.zpt
+2
-35
bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_date_time_field_zuite/testLeapYear.zpt
..._tests/renderjs_ui_date_time_field_zuite/testLeapYear.zpt
+2
-35
bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_date_time_field_zuite/testSetDateTimeZone.zpt
...renderjs_ui_date_time_field_zuite/testSetDateTimeZone.zpt
+2
-36
bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_date_time_field_zuite/testSetDateTimeZone2DigitsYear.zpt
..._date_time_field_zuite/testSetDateTimeZone2DigitsYear.zpt
+2
-36
bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_date_time_field_zuite/testSetTimeZoneWithoutDateTime.zpt
..._date_time_field_zuite/testSetTimeZoneWithoutDateTime.zpt
+2
-35
bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_list_field_zuite/testEmptyListField.zpt
...tests/renderjs_ui_list_field_zuite/testEmptyListField.zpt
+2
-20
bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_listbox_zuite/testComplexFilter.zpt
...tal_tests/renderjs_ui_listbox_zuite/testComplexFilter.zpt
+1
-22
bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_listbox_zuite/testFilter.zpt
...tem/portal_tests/renderjs_ui_listbox_zuite/testFilter.zpt
+4
-52
bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_listbox_zuite/testFilterItemAutoBuild.zpt
...sts/renderjs_ui_listbox_zuite/testFilterItemAutoBuild.zpt
+4
-62
bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_listbox_zuite/testFilterItemDelete.zpt
..._tests/renderjs_ui_listbox_zuite/testFilterItemDelete.zpt
+2
-33
bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_listbox_zuite/testFilterWithPager.zpt
...l_tests/renderjs_ui_listbox_zuite/testFilterWithPager.zpt
+1
-17
bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_listbox_zuite/testFilterWithPreviousNext.zpt
.../renderjs_ui_listbox_zuite/testFilterWithPreviousNext.zpt
+2
-35
bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_listbox_zuite/testSort.zpt
...eItem/portal_tests/renderjs_ui_listbox_zuite/testSort.zpt
+1
-16
bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_listbox_zuite/testSortItemAutoBuild.zpt
...tests/renderjs_ui_listbox_zuite/testSortItemAutoBuild.zpt
+2
-26
bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_listbox_zuite/testSortItemDelete.zpt
...al_tests/renderjs_ui_listbox_zuite/testSortItemDelete.zpt
+1
-17
bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_listbox_zuite/testSortItemEmpty.zpt
...tal_tests/renderjs_ui_listbox_zuite/testSortItemEmpty.zpt
+1
-10
bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_listbox_zuite/testSortWithPager.zpt
...tal_tests/renderjs_ui_listbox_zuite/testSortWithPager.zpt
+1
-17
bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_listbox_zuite/testSortWithPreviousNext.zpt
...ts/renderjs_ui_listbox_zuite/testSortWithPreviousNext.zpt
+1
-18
bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_multi_check_box_field_zuite/testEmptyMultiCheckBoxField.zpt
...lti_check_box_field_zuite/testEmptyMultiCheckBoxField.zpt
+1
-20
bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_multi_list_field_zuite/testEmptyMultiListField.zpt
...rjs_ui_multi_list_field_zuite/testEmptyMultiListField.zpt
+2
-20
bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_page_templates_zuite/testFormListSearchResetsPagination.zpt
...ge_templates_zuite/testFormListSearchResetsPagination.zpt
+3
-10
bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_page_templates_zuite/testFormListSortStoreState.zpt
...js_ui_page_templates_zuite/testFormListSortStoreState.zpt
+1
-11
bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_page_zuite/testPageSearchInputQuery.zpt
...tests/renderjs_ui_page_zuite/testPageSearchInputQuery.zpt
+1
-1
bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_relation_field_zuite/testMultiRelationFieldNonEditable.zpt
...elation_field_zuite/testMultiRelationFieldNonEditable.zpt
+1
-22
bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_relation_field_zuite/testProxyListBox.zpt
...sts/renderjs_ui_relation_field_zuite/testProxyListBox.zpt
+1
-21
bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_relation_field_zuite/testRelationField.zpt
...ts/renderjs_ui_relation_field_zuite/testRelationField.zpt
+2
-36
bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_relation_field_zuite/testRelationFieldCreate.zpt
...derjs_ui_relation_field_zuite/testRelationFieldCreate.zpt
+3
-38
bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_relation_field_zuite/testRelationFieldNonEditable.zpt
..._ui_relation_field_zuite/testRelationFieldNonEditable.zpt
+2
-38
bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_relation_field_zuite/testRelationFieldNotAllowCreation.zpt
...elation_field_zuite/testRelationFieldNotAllowCreation.zpt
+1
-21
bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_relation_field_zuite/testRelationFieldUnknownIcon.zpt
..._ui_relation_field_zuite/testRelationFieldUnknownIcon.zpt
+1
-21
bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_relation_field_zuite/testSimpleMultiRelationField.zpt
..._ui_relation_field_zuite/testSimpleMultiRelationField.zpt
+2
-37
bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_relation_field_zuite/testSimpleRelationFieldWithAccent.zpt
...elation_field_zuite/testSimpleRelationFieldWithAccent.zpt
+2
-38
bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_router_zuite/testCommandSelectionNextJumpToNextDocument.zpt
...uter_zuite/testCommandSelectionNextJumpToNextDocument.zpt
+2
-10
bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_router_zuite/testCommandSelectionPreviousJumpToPreviousDocument.zpt
...te/testCommandSelectionPreviousJumpToPreviousDocument.zpt
+2
-10
bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_translate_zuite/testPageSearch.zpt
...rtal_tests/renderjs_ui_translate_zuite/testPageSearch.zpt
+1
-1
bt5/erp5_web_renderjs_ui_test/SkinTemplateItem/portal_skins/erp5_web_renderjs_ui_test/Zuite_CommonTemplateForRenderjsUi.zpt
...eb_renderjs_ui_test/Zuite_CommonTemplateForRenderjsUi.zpt
+344
-51
No files found.
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_header_html.html
View file @
2cb32e84
...
...
@@ -38,7 +38,7 @@
<script
src=
"gadget_erp5_header.js"
type=
"text/javascript"
></script>
<script
id=
"header-title-link-template"
type=
"text/x-handlebars-template"
>
<
a
data
-
i18n
=
"
{{title}}
"
class
=
"
ui-btn ui-btn-icon-left ui-icon-{{icon}}
"
href
=
"
{{url}}
"
accesskey
=
"
u
"
>
{{
title
}}
<
/a>
</script>
<script
id=
"header-title-template"
type=
"text/x-handlebars-template"
>
<
span
data
-
i18n
=
"
{{title}}
"
>
{{
title
}}
<
/span>
</script>
<script
id=
"header-title-template"
type=
"text/x-handlebars-template"
>
<
span
data
-
i18n
=
"
{{title}}
"
class
=
"
ui-btn-icon-left ui-icon-{{icon}}
"
>
{{
title
}}
<
/span>
</script>
<script
id=
"header-link-template"
type=
"text/x-handlebars-template"
>
<
a
role
=
"
button
"
data
-
i18n
=
"
{{title}}
"
href
=
"
{{url}}
"
class
=
"
responsive ui-btn ui-icon-{{icon}} ui-btn-icon-left ui-first-child ui-last-child {{class}}
"
>
{{
title
}}
<
/a
>
...
...
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_header_html.xml
View file @
2cb32e84
...
...
@@ -234,7 +234,7 @@
</item>
<item>
<key>
<string>
serial
</string>
</key>
<value>
<string>
95
4.5917.19875.4037
9
</string>
</value>
<value>
<string>
95
9.56503.39390.2926
9
</string>
</value>
</item>
<item>
<key>
<string>
state
</string>
</key>
...
...
@@ -252,7 +252,7 @@
</tuple>
<state>
<tuple>
<float>
14
74563958.55
</float>
<float>
14
96749467.74
</float>
<string>
UTC
</string>
</tuple>
</state>
...
...
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_header_js.js
View file @
2cb32e84
...
...
@@ -158,6 +158,9 @@
if
(
options
.
hasOwnProperty
(
"
page_title
"
))
{
state
.
title_text
=
options
.
page_title
;
}
if
(
options
.
hasOwnProperty
(
"
page_icon
"
))
{
state
.
title_icon
=
options
.
page_icon
;
}
for
(
i
=
0
;
i
<
possible_main_link_list
.
length
;
i
+=
1
)
{
if
(
options
.
hasOwnProperty
(
possible_main_link_list
[
i
][
0
]))
{
state
.
title_icon
=
possible_main_link_list
[
i
][
2
];
...
...
@@ -219,19 +222,29 @@
var
gadget
=
this
,
right_link
,
right_button
,
default_title_icon
=
""
,
default_right_icon
=
""
,
title_link
,
promise_list
=
[];
// Main title
if
(
modification_dict
.
hasOwnProperty
(
'
title_text
'
)
||
if
(
modification_dict
.
hasOwnProperty
(
'
error
'
)
||
modification_dict
.
hasOwnProperty
(
'
loaded
'
)
||
modification_dict
.
hasOwnProperty
(
'
submitted
'
)
||
modification_dict
.
hasOwnProperty
(
'
title_text
'
)
||
modification_dict
.
hasOwnProperty
(
'
title_icon
'
)
||
modification_dict
.
hasOwnProperty
(
'
title_url
'
))
{
if
(
gadget
.
state
.
error
)
{
default_title_icon
=
"
exclamation
"
;
}
else
if
(
!
gadget
.
state
.
loaded
)
{
default_title_icon
=
"
spinner
"
;
}
else
if
(
!
gadget
.
state
.
submitted
)
{
default_title_icon
=
"
spinner
"
;
}
// Updating globally the page title. Does not follow RenderJS philosophy, but, it is enough for now
document
.
title
=
gadget
.
state
.
title_text
;
title_link
=
{
title
:
gadget
.
state
.
title_text
,
icon
:
gadget
.
state
.
title_icon
,
icon
:
default_title_icon
||
gadget
.
state
.
title_icon
,
url
:
gadget
.
state
.
title_url
};
if
(
title_link
.
url
===
undefined
)
{
...
...
@@ -261,38 +274,22 @@
}
// Handle right link
if
(
modification_dict
.
hasOwnProperty
(
'
error
'
)
||
modification_dict
.
hasOwnProperty
(
'
load
ed
'
)
||
if
(
modification_dict
.
hasOwnProperty
(
'
loaded
'
)
||
modification_dict
.
hasOwnProperty
(
'
submitt
ed
'
)
||
modification_dict
.
hasOwnProperty
(
'
modified
'
)
||
modification_dict
.
hasOwnProperty
(
'
right_link_title
'
)
||
modification_dict
.
hasOwnProperty
(
'
right_link_icon
'
)
||
modification_dict
.
hasOwnProperty
(
'
right_link_url
'
)
||
modification_dict
.
hasOwnProperty
(
'
right_link_class
'
)
||
modification_dict
.
hasOwnProperty
(
'
right_button_title
'
)
||
modification_dict
.
hasOwnProperty
(
'
right_button_icon
'
)
||
modification_dict
.
hasOwnProperty
(
'
submitted
'
))
{
if
(
gadget
.
state
.
error
)
{
default_right_icon
=
"
exclamation
"
;
}
else
if
(
!
gadget
.
state
.
loaded
)
{
default_right_icon
=
"
spinner
"
;
// Show default loading information
right_link
=
{
title
:
"
Loading
"
,
icon
:
default_right_icon
,
url
:
""
,
class
:
"
ui-disabled ui-icon-spin
"
};
}
else
if
(
!
gadget
.
state
.
submitted
)
{
default_right_icon
=
"
spinner
"
;
}
else
if
(
gadget
.
state
.
modified
)
{
modification_dict
.
hasOwnProperty
(
'
right_button_icon
'
))
{
if
(
gadget
.
state
.
modified
)
{
default_right_icon
=
"
warning
"
;
}
if
(
gadget
.
state
.
right_link_title
!==
undefined
)
{
right_link
=
{
title
:
gadget
.
state
.
right_link_title
,
icon
:
default_right_icon
||
gadget
.
state
.
right_link_icon
,
icon
:
gadget
.
state
.
right_link_icon
,
url
:
gadget
.
state
.
right_link_url
,
class
:
gadget
.
state
.
right_link_class
};
...
...
@@ -303,20 +300,14 @@
icon
:
default_right_icon
||
gadget
.
state
.
right_button_icon
,
name
:
gadget
.
state
.
right_button_name
};
if
(
gadget
.
state
.
error
)
{
if
(
gadget
.
state
.
error
||
!
gadget
.
state
.
loaded
||
!
gadget
.
state
.
submitted
)
{
right_button
.
class
=
"
ui-disabled
"
;
}
}
if
(
right_button
!==
undefined
)
{
if
(
right_button
.
icon
===
'
spinner
'
)
{
right_button
.
class
=
"
ui-disabled ui-icon-spin
"
;
}
promise_list
.
push
(
gadget
.
translateHtml
(
header_button_template
(
right_button
)));
}
else
if
(
right_link
!==
undefined
)
{
if
(
right_link
.
icon
===
'
spinner
'
)
{
right_link
.
class
=
"
ui-disabled ui-icon-spin
"
;
}
promise_list
.
push
(
gadget
.
translateHtml
(
header_link_template
(
right_link
)));
}
else
{
promise_list
.
push
(
""
);
...
...
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_header_js.xml
View file @
2cb32e84
...
...
@@ -230,7 +230,7 @@
</item>
<item>
<key>
<string>
serial
</string>
</key>
<value>
<string>
9
55.23807.51206.64836
</string>
</value>
<value>
<string>
9
61.16515.8085.37905
</string>
</value>
</item>
<item>
<key>
<string>
state
</string>
</key>
...
...
@@ -248,7 +248,7 @@
</tuple>
<state>
<tuple>
<float>
1
479483026.71
</float>
<float>
1
502120300.4
</float>
<string>
UTC
</string>
</tuple>
</state>
...
...
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_nojqm_css.css
View file @
2cb32e84
...
...
@@ -794,16 +794,26 @@ div[data-gadget-scope='header'] .ui-header h1 {
}
}
div
[
data-gadget-scope
=
'header'
]
.ui-header
h1
>
span
{
padding-left
:
42
pt
;
padding-left
:
24
pt
;
}
@media
not
screen
and
(
min-width
:
45em
)
{
div
[
data-gadget-scope
=
'header'
]
.ui-header
h1
>
span
::before
{
width
:
1em
;
margin-right
:
6pt
;
}
@media
only
screen
and
(
min-width
:
45em
)
and
(
max-width
:
85em
)
{
div
[
data-gadget-scope
=
'header'
]
.ui-header
h1
>
span
{
padding-left
:
30pt
;
padding-left
:
16pt
;
}
div
[
data-gadget-scope
=
'header'
]
.ui-header
h1
>
span
::before
{
margin-right
:
14pt
;
}
}
@media
not
screen
and
(
m
ax-width
:
8
5em
)
{
@media
not
screen
and
(
m
in-width
:
4
5em
)
{
div
[
data-gadget-scope
=
'header'
]
.ui-header
h1
>
span
{
padding-left
:
24pt
;
padding-left
:
12pt
;
}
div
[
data-gadget-scope
=
'header'
]
.ui-header
h1
>
span
::before
{
margin-right
:
6pt
;
}
}
div
[
data-gadget-scope
=
'header'
]
.ui-header
h1
a
{
...
...
@@ -823,7 +833,9 @@ div[data-gadget-scope='header'] .ui-header h1 a::before {
}
@media
not
screen
and
(
max-width
:
85em
)
{
div
[
data-gadget-scope
=
'header'
]
.ui-header
h1
a
::before
{
padding-left
:
24pt
;
width
:
12pt
;
margin-left
:
24pt
;
margin-right
:
6pt
;
}
}
@media
not
screen
and
(
min-width
:
45em
)
{
...
...
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_nojqm_css.xml
View file @
2cb32e84
...
...
@@ -242,7 +242,7 @@
</item>
<item>
<key>
<string>
serial
</string>
</key>
<value>
<string>
96
0.55964.9157.39662
</string>
</value>
<value>
<string>
96
1.17965.4420.33945
</string>
</value>
</item>
<item>
<key>
<string>
state
</string>
</key>
...
...
@@ -260,7 +260,7 @@
</tuple>
<state>
<tuple>
<float>
150
0555425.98
</float>
<float>
150
2207402.57
</float>
<string>
UTC
</string>
</tuple>
</state>
...
...
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_page_history_js.js
View file @
2cb32e84
...
...
@@ -29,7 +29,8 @@
id_list
=
options
.
id_list
||
[];
return
gadget
.
updateHeader
({
page_title
:
'
History
'
page_title
:
'
History
'
,
page_icon
:
'
history
'
})
.
push
(
function
()
{
var
i
,
...
...
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_page_history_js.xml
View file @
2cb32e84
...
...
@@ -230,7 +230,7 @@
</item>
<item>
<key>
<string>
serial
</string>
</key>
<value>
<string>
95
5.20852.55883.22442
</string>
</value>
<value>
<string>
95
9.26374.14159.14984
</string>
</value>
</item>
<item>
<key>
<string>
state
</string>
</key>
...
...
@@ -248,7 +248,7 @@
</tuple>
<state>
<tuple>
<float>
14
79305774.67
</float>
<float>
14
97280330.0
</float>
<string>
UTC
</string>
</tuple>
</state>
...
...
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_page_search_js.js
View file @
2cb32e84
...
...
@@ -37,6 +37,7 @@
var
gadget
=
this
,
header_dict
=
{
page_title
:
'
Search
'
,
page_icon
:
'
search
'
,
filter_action
:
true
};
...
...
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_page_search_js.xml
View file @
2cb32e84
...
...
@@ -230,7 +230,7 @@
</item>
<item>
<key>
<string>
serial
</string>
</key>
<value>
<string>
95
2.57378.47936.47257
</string>
</value>
<value>
<string>
95
9.26374.14159.14984
</string>
</value>
</item>
<item>
<key>
<string>
state
</string>
</key>
...
...
@@ -248,7 +248,7 @@
</tuple>
<state>
<tuple>
<float>
14
69805908.0
7
</float>
<float>
14
97280369.1
7
</float>
<string>
UTC
</string>
</tuple>
</state>
...
...
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_page_worklist_js.js
View file @
2cb32e84
...
...
@@ -29,7 +29,8 @@
var
gadget
=
this
;
return
gadget
.
updateHeader
({
page_title
:
'
Worklist
'
page_title
:
'
Worklist
'
,
page_icon
:
'
clipboard
'
})
.
push
(
function
()
{
return
gadget
.
jio_getAttachment
(
...
...
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_page_worklist_js.xml
View file @
2cb32e84
...
...
@@ -230,7 +230,7 @@
</item>
<item>
<key>
<string>
serial
</string>
</key>
<value>
<string>
960.5
609.6230.11571
</string>
</value>
<value>
<string>
960.5
7179.36956.61457
</string>
</value>
</item>
<item>
<key>
<string>
state
</string>
</key>
...
...
@@ -248,7 +248,7 @@
</tuple>
<state>
<tuple>
<float>
1
498036637.82
</float>
<float>
1
502119961.78
</float>
<string>
UTC
</string>
</tuple>
</state>
...
...
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_pt_frontpage_js.js
View file @
2cb32e84
...
...
@@ -43,6 +43,7 @@
var
gadget
=
this
,
header_dict
=
{
page_title
:
'
Modules
'
,
page_icon
:
'
puzzle-piece
'
,
filter_action
:
true
};
...
...
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_pt_frontpage_js.xml
View file @
2cb32e84
...
...
@@ -230,7 +230,7 @@
</item>
<item>
<key>
<string>
serial
</string>
</key>
<value>
<string>
95
4.44756.57059.689
4
</string>
</value>
<value>
<string>
95
9.26374.14159.1498
4
</string>
</value>
</item>
<item>
<key>
<string>
state
</string>
</key>
...
...
@@ -248,7 +248,7 @@
</tuple>
<state>
<tuple>
<float>
14
76893530.25
</float>
<float>
14
97280148.2
</float>
<string>
UTC
</string>
</tuple>
</state>
...
...
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_pt_logoutform_js.js
View file @
2cb32e84
...
...
@@ -18,7 +18,10 @@
/////////////////////////////////////////////////////////////////
.
declareMethod
(
"
render
"
,
function
()
{
var
gadget
=
this
;
return
gadget
.
updateHeader
({
page_title
:
'
Logout
'
})
return
gadget
.
updateHeader
({
page_title
:
'
Logout
'
,
page_icon
:
'
power-off
'
})
.
push
(
function
()
{
return
gadget
.
translateHtml
(
gadget
.
element
.
innerHTML
);
})
...
...
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_pt_logoutform_js.xml
View file @
2cb32e84
...
...
@@ -230,7 +230,7 @@
</item>
<item>
<key>
<string>
serial
</string>
</key>
<value>
<string>
95
4.47195.16803.17902
</string>
</value>
<value>
<string>
95
9.26374.14159.14984
</string>
</value>
</item>
<item>
<key>
<string>
state
</string>
</key>
...
...
@@ -248,7 +248,7 @@
</tuple>
<state>
<tuple>
<float>
14
76953978.0
</float>
<float>
14
97280467.65
</float>
<string>
UTC
</string>
</tuple>
</state>
...
...
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_pt_preferencepage_js.js
View file @
2cb32e84
...
...
@@ -25,6 +25,7 @@
user
=
"
Who are you?
"
;
return
gadget
.
updateHeader
({
page_title
:
'
Preferences
'
,
page_icon
:
'
gear
'
,
save_action
:
true
})
.
push
(
function
()
{
...
...
@@ -52,7 +53,7 @@
gadget
.
getSetting
(
"
default_selected_language
"
),
gadget
.
translate
(
"
User
"
),
gadget
.
translate
(
"
Language
"
)
]);
})
.
push
(
function
(
results
)
{
...
...
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_pt_preferencepage_js.xml
View file @
2cb32e84
...
...
@@ -230,7 +230,7 @@
</item>
<item>
<key>
<string>
serial
</string>
</key>
<value>
<string>
95
5.51162.4768.35123
</string>
</value>
<value>
<string>
95
9.65495.56765.15342
</string>
</value>
</item>
<item>
<key>
<string>
state
</string>
</key>
...
...
@@ -248,7 +248,7 @@
</tuple>
<state>
<tuple>
<float>
1
482760580.76
</float>
<float>
1
502120025.73
</float>
<string>
UTC
</string>
</tuple>
</state>
...
...
bt5/erp5_web_renderjs_ui/SkinTemplateItem/portal_skins/erp5_web_renderjs_ui/erp5css.less.txt
View file @
2cb32e84
...
...
@@ -44,6 +44,15 @@
@headertitleleftlargemargin: @main-margin-size-desktop + @margin-size * 3;
@headertitleleftsmallmargin: @main-margin-size-smartphone + @main-margin-size-desktop;
@headertitlemiddlewidth: @double-margin-size;
@headertitleleftmiddlemargin: @main-margin-size-desktop;
@headertitlerightsmallmargin: @margin-size * 3 - @headertitlemiddlewidth;
@headertitlespanleftlargemargin: @double-margin-size + 2;
@headertitlespanleftsmallmargin: @margin-size;
@headertitlespanleftlargepadding: @quadruple-margin-size;
@headertitlespanleftmiddlepadding: @triple-margin-size - 2;
@headertitlespanleftsmallpadding: @double-margin-size;
// XXX desktop: 12em
@panelwidth: @margin-size * 30;
...
...
@@ -921,12 +930,24 @@ div[data-gadget-scope='header'] .ui-header {
// Title which is not a link
& > span {
padding-left: @headertitleleftlargemargin;
@media @smartphone {
padding-left: @headertitleleftsmallmargin;
padding-left: @headertitlespanleftlargepadding;
&::before {
width:1em;
margin-right:@headertitlespanleftsmallmargin;
}
@media @desktop {
padding-left: @main-margin-size-desktop;
@media @tablet {
padding-left: @headertitlespanleftmiddlepadding;
&::before {
margin-right:@headertitlespanleftlargemargin;
}
}
@media @smartphone {
padding-left: @headertitlespanleftsmallpadding;
&::before {
margin-right:@headertitlespanleftsmallmargin;
}
}
}
// Clickable title
...
...
@@ -945,7 +966,9 @@ div[data-gadget-scope='header'] .ui-header {
}
@media @desktop {
padding-left: @main-margin-size-desktop;
width: @headertitlemiddlewidth;
margin-left: @headertitleleftmiddlemargin;
margin-right: @headertitlerightsmallmargin;
}
width: @headertitleleftlargemargin;
@media @smartphone {
...
...
bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_check_box_field_zuite/testSimpleCheckBoxField.zpt
View file @
2cb32e84
...
...
@@ -66,23 +66,8 @@
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplateForRenderjsUi/macros/save"
/>
<tr>
<td>
click
</td>
<td>
//a[@data-i18n='Views']
</td>
<td></td>
</tr>
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplateForRenderjsUi/macros/go_to_foo_relation_field_view"
/>
<tr>
<td>
waitForElementPresent
</td>
<td>
//a[@data-i18n='Relation Fields']
</td>
<td></td>
</tr>
<tr>
<td>
click
</td>
<td>
//a[@data-i18n='Relation Fields']
</td>
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
...
...
bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_date_time_field_zuite/testDateTimeDefaultToNow.zpt
View file @
2cb32e84
...
...
@@ -134,32 +134,7 @@
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//a[@data-i18n='Views']
</td>
<td></td>
</tr>
<tr>
<td>
click
</td>
<td>
//a[@data-i18n='Views']
</td>
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//a[@data-i18n='DateTimeField']
</td>
<td></td>
</tr>
<tr>
<td>
click
</td>
<td>
//a[@data-i18n='DateTimeField']
</td>
<td></td>
</tr>
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplateForRenderjsUi/macros/go_to_bar_datetime_field_view"
/>
<tr>
<td>
waitForElementPresent
</td>
...
...
bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_date_time_field_zuite/testInvalidDateTime.zpt
View file @
2cb32e84
...
...
@@ -42,27 +42,8 @@
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplateForRenderjsUi/macros/submit_dialog"
/>
<tr>
<td>
waitForElementPresent
</td>
<td>
//a[@data-i18n='Views']
</td>
<td></td>
</tr>
<tr>
<td>
click
</td>
<td>
//a[@data-i18n='Views']
</td>
<td></td>
</tr>
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplateForRenderjsUi/macros/go_to_bar_datetime_field_view"
/>
<tr>
<td>
waitForElementPresent
</td>
<td>
//a[@data-i18n='DateTimeField']
</td>
<td></td>
</tr>
<tr>
<td>
click
</td>
<td>
//a[@data-i18n='DateTimeField']
</td>
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
...
...
@@ -94,22 +75,8 @@
<td></td>
</tr>
<tr>
<td>
click
</td>
<td>
//a[@data-i18n='Views']
</td>
<td></td>
</tr>
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplateForRenderjsUi/macros/go_to_bar_datetime_field_view"
/>
<tr>
<td>
waitForElementPresent
</td>
<td>
//a[@data-i18n='DateTimeField']
</td>
<td></td>
</tr>
<tr>
<td>
click
</td>
<td>
//a[@data-i18n='DateTimeField']
</td>
<td></td>
</tr>
<tr>
...
...
bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_date_time_field_zuite/testLeapYear.zpt
View file @
2cb32e84
...
...
@@ -42,27 +42,8 @@
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplateForRenderjsUi/macros/submit_dialog"
/>
<tr>
<td>
waitForElementPresent
</td>
<td>
//a[@data-i18n='Views']
</td>
<td></td>
</tr>
<tr>
<td>
click
</td>
<td>
//a[@data-i18n='Views']
</td>
<td></td>
</tr>
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplateForRenderjsUi/macros/go_to_bar_datetime_field_view"
/>
<tr>
<td>
waitForElementPresent
</td>
<td>
//a[@data-i18n='DateTimeField']
</td>
<td></td>
</tr>
<tr>
<td>
click
</td>
<td>
//a[@data-i18n='DateTimeField']
</td>
<td></td>
</tr>
<tr>
...
...
@@ -86,22 +67,8 @@
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplateForRenderjsUi/macros/save"
/>
<tr>
<td>
click
</td>
<td>
//a[@data-i18n='Views']
</td>
<td></td>
</tr>
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplateForRenderjsUi/macros/go_to_bar_datetime_field_view"
/>
<tr>
<td>
waitForElementPresent
</td>
<td>
//a[@data-i18n='DateTimeField']
</td>
<td></td>
</tr>
<tr>
<td>
click
</td>
<td>
//a[@data-i18n='DateTimeField']
</td>
<td></td>
</tr>
<tr>
...
...
bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_date_time_field_zuite/testSetDateTimeZone.zpt
View file @
2cb32e84
...
...
@@ -42,27 +42,8 @@
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplateForRenderjsUi/macros/submit_dialog"
/>
<tr>
<td>
waitForElementPresent
</td>
<td>
//a[@data-i18n='Views']
</td>
<td></td>
</tr>
<tr>
<td>
click
</td>
<td>
//a[@data-i18n='Views']
</td>
<td></td>
</tr>
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplateForRenderjsUi/macros/go_to_bar_datetime_field_view"
/>
<tr>
<td>
waitForElementPresent
</td>
<td>
//a[@data-i18n='DateTimeField']
</td>
<td></td>
</tr>
<tr>
<td>
click
</td>
<td>
//a[@data-i18n='DateTimeField']
</td>
<td></td>
</tr>
<tr>
...
...
@@ -91,23 +72,8 @@
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplateForRenderjsUi/macros/save"
/>
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplateForRenderjsUi/macros/go_to_bar_datetime_field_view"
/>
<tr>
<td>
click
</td>
<td>
//a[@data-i18n='Views']
</td>
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//a[@data-i18n='DateTimeField']
</td>
<td></td>
</tr>
<tr>
<td>
click
</td>
<td>
//a[@data-i18n='DateTimeField']
</td>
<td></td>
</tr>
<tr>
...
...
bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_date_time_field_zuite/testSetDateTimeZone2DigitsYear.zpt
View file @
2cb32e84
...
...
@@ -42,27 +42,8 @@
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplateForRenderjsUi/macros/submit_dialog"
/>
<tr>
<td>
waitForElementPresent
</td>
<td>
//a[@data-i18n='Views']
</td>
<td></td>
</tr>
<tr>
<td>
click
</td>
<td>
//a[@data-i18n='Views']
</td>
<td></td>
</tr>
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplateForRenderjsUi/macros/go_to_bar_datetime_field_view"
/>
<tr>
<td>
waitForElementPresent
</td>
<td>
//a[@data-i18n='DateTimeField']
</td>
<td></td>
</tr>
<tr>
<td>
click
</td>
<td>
//a[@data-i18n='DateTimeField']
</td>
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
...
...
@@ -103,22 +84,7 @@
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplateForRenderjsUi/macros/save"
/>
<tr>
<td>
click
</td>
<td>
//a[@data-i18n='Views']
</td>
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//a[@data-i18n='DateTimeField']
</td>
<td></td>
</tr>
<tr>
<td>
click
</td>
<td>
//a[@data-i18n='DateTimeField']
</td>
<td></td>
</tr>
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplateForRenderjsUi/macros/go_to_bar_datetime_field_view"
/>
<tr>
...
...
bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_date_time_field_zuite/testSetTimeZoneWithoutDateTime.zpt
View file @
2cb32e84
...
...
@@ -42,27 +42,8 @@
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplateForRenderjsUi/macros/submit_dialog"
/>
<tr>
<td>
waitForElementPresent
</td>
<td>
//a[@data-i18n='Views']
</td>
<td></td>
</tr>
<tr>
<td>
click
</td>
<td>
//a[@data-i18n='Views']
</td>
<td></td>
</tr>
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplateForRenderjsUi/macros/go_to_bar_datetime_field_view"
/>
<tr>
<td>
waitForElementPresent
</td>
<td>
//a[@data-i18n='DateTimeField']
</td>
<td></td>
</tr>
<tr>
<td>
click
</td>
<td>
//a[@data-i18n='DateTimeField']
</td>
<td></td>
</tr>
<tr>
...
...
@@ -79,22 +60,8 @@
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplateForRenderjsUi/macros/save"
/>
<tr>
<td>
click
</td>
<td>
//a[@data-i18n='Views']
</td>
<td></td>
</tr>
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplateForRenderjsUi/macros/go_to_bar_datetime_field_view"
/>
<tr>
<td>
waitForElementPresent
</td>
<td>
//a[@data-i18n='DateTimeField']
</td>
<td></td>
</tr>
<tr>
<td>
click
</td>
<td>
//a[@data-i18n='DateTimeField']
</td>
<td></td>
</tr>
<tr>
...
...
bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_list_field_zuite/testEmptyListField.zpt
View file @
2cb32e84
...
...
@@ -47,26 +47,8 @@
</tr>
<!-- Go to test form -->
<tr>
<td>
waitForElementPresent
</td>
<td>
//a[@data-i18n='Views']
</td>
<td></td>
</tr>
<tr>
<td>
click
</td>
<td>
//a[@data-i18n='Views']
</td>
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//a[@data-i18n='Dummy List Field Report']
</td>
<td></td>
</tr>
<tr>
<td>
click
</td>
<td>
//a[@data-i18n='Dummy List Field Report']
</td>
<td></td>
</tr>
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplateForRenderjsUi/macros/go_to_foo_dummy_list_field_view"
/>
<!-- Run test form & check -->
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplateForRenderjsUi/macros/submit_dialog"
/>
...
...
bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_listbox_zuite/testComplexFilter.zpt
View file @
2cb32e84
...
...
@@ -51,30 +51,9 @@
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//button[text()='Filter']
</td>
<td></td>
</tr>
<tr>
<td>
click
</td>
<td>
//button[text()='Filter']
</td>
<td></td>
</tr>
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplateForRenderjsUi/macros/triggle_filter_and"
/>
<tr>
<td>
waitForElementPresent
</td>
<td>
//select[@name='heard_about']
</td>
<td></td>
</tr>
<tr>
<td>
verifyValue
</td>
<td>
//select[@name='heard_about']
</td>
<td>
AND
</td>
</tr>
<tr>
...
...
bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_listbox_zuite/testFilter.zpt
View file @
2cb32e84
...
...
@@ -51,30 +51,7 @@
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//button[text()='Filter']
</td>
<td></td>
</tr>
<tr>
<td>
click
</td>
<td>
//button[text()='Filter']
</td>
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//select[@name='heard_about']
</td>
<td></td>
</tr>
<tr>
<td>
verifyValue
</td>
<td>
//select[@name='heard_about']
</td>
<td>
AND
</td>
</tr>
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplateForRenderjsUi/macros/triggle_filter_and"
/>
<tr>
...
...
@@ -123,29 +100,7 @@
<td></td>
</tr>
<tr>
<td>
click
</td>
<td>
//button[text()='Filter']
</td>
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//select[@name='heard_about']
</td>
<td></td>
</tr>
<tr>
<td>
verifyValue
</td>
<td>
//select[@name='heard_about']
</td>
<td>
AND
</td>
</tr>
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplateForRenderjsUi/macros/triggle_filter_and"
/>
<tr>
<td>
waitForElementPresent
</td>
...
...
@@ -210,11 +165,8 @@
</tr>
<tr>
<td>
click
</td>
<td>
//button[text()='Filter']
</td>
<td></td>
</tr>
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplateForRenderjsUi/macros/triggle_filter_and"
/>
<tr>
...
...
bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_listbox_zuite/testFilterItemAutoBuild.zpt
View file @
2cb32e84
...
...
@@ -52,30 +52,8 @@
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//button[text()='Filter']
</td>
<td></td>
</tr>
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplateForRenderjsUi/macros/triggle_filter_and"
/>
<tr>
<td>
click
</td>
<td>
//button[text()='Filter']
</td>
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//select[@name='heard_about']
</td>
<td></td>
</tr>
<tr>
<td>
verifyValue
</td>
<td>
//select[@name='heard_about']
</td>
<td>
AND
</td>
</tr>
<tr>
...
...
@@ -142,26 +120,7 @@
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplateForRenderjsUi/macros/wait_for_content_loaded"
/>
<tr>
<td>
click
</td>
<td>
//button[text()='Filter']
</td>
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//select[@name='heard_about']
</td>
<td></td>
</tr>
<tr>
<td>
verifyValue
</td>
<td>
//select[@name='heard_about']
</td>
<td>
AND
</td>
</tr>
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplateForRenderjsUi/macros/triggle_filter_and"
/>
<tr>
...
...
@@ -210,11 +169,8 @@
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplateForRenderjsUi/macros/wait_for_content_loaded"
/>
<tr>
<td>
click
</td>
<td>
//button[text()='Filter']
</td>
<td></td>
</tr>
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplateForRenderjsUi/macros/triggle_filter_or"
/>
...
...
@@ -238,20 +194,6 @@
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//select[@name='heard_about']
</td>
<td></td>
</tr>
<tr>
<td>
verifyValue
</td>
<td>
//select[@name='heard_about']
</td>
<td>
OR
</td>
</tr>
<tr>
<td>
focus
</td>
<td>
//div[@class="filter_item_container"]/div[2]//button
</td>
...
...
bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_listbox_zuite/testFilterItemDelete.zpt
View file @
2cb32e84
...
...
@@ -51,30 +51,8 @@
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//button[text()='Filter']
</td>
<td></td>
</tr>
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplateForRenderjsUi/macros/triggle_filter_and"
/>
<tr>
<td>
click
</td>
<td>
//button[text()='Filter']
</td>
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//select[@name='heard_about']
</td>
<td></td>
</tr>
<tr>
<td>
verifyValue
</td>
<td>
//select[@name='heard_about']
</td>
<td>
AND
</td>
</tr>
<tr>
...
...
@@ -180,18 +158,9 @@
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplateForRenderjsUi/macros/wait_for_content_loaded"
/>
<tr>
<td>
waitForElementPresent
</td>
<td>
//button[text()='Filter']
</td>
<td></td>
</tr>
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplateForRenderjsUi/macros/triggle_filter_or"
/>
<tr>
<td>
click
</td>
<td>
//button[text()='Filter']
</td>
<td></td>
</tr>
<tr>
...
...
bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_listbox_zuite/testFilterWithPager.zpt
View file @
2cb32e84
...
...
@@ -51,24 +51,8 @@
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//button[text()='Filter']
</td>
<td></td>
</tr>
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplateForRenderjsUi/macros/triggle_filter_and"
/>
<tr>
<td>
click
</td>
<td>
//button[text()='Filter']
</td>
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//select[@name='heard_about']
</td>
<td></td>
</tr>
<tr>
<td>
select
</td>
...
...
bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_listbox_zuite/testFilterWithPreviousNext.zpt
View file @
2cb32e84
...
...
@@ -51,30 +51,8 @@
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//button[text()='Filter']
</td>
<td></td>
</tr>
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplateForRenderjsUi/macros/triggle_filter_and"
/>
<tr>
<td>
click
</td>
<td>
//button[text()='Filter']
</td>
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//select[@name='heard_about']
</td>
<td></td>
</tr>
<tr>
<td>
verifyValue
</td>
<td>
//select[@name='heard_about']
</td>
<td>
AND
</td>
</tr>
...
...
@@ -169,19 +147,8 @@
<td></td>
</tr>
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplateForRenderjsUi/macros/triggle_filter_and"
/>
<tr>
<td>
waitForElementPresent
</td>
<td>
//button[text()='Filter']
</td>
<td></td>
</tr>
<tr>
<td>
click
</td>
<td>
//button[text()='Filter']
</td>
<td></td>
</tr>
<tr>
...
...
bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_listbox_zuite/testSort.zpt
View file @
2cb32e84
...
...
@@ -49,23 +49,8 @@
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplateForRenderjsUi/macros/clear_query"
/>
<tr>
<td>
waitForElementPresent
</td>
<td>
//button[@data-i18n='Sort']
</td>
<td></td>
</tr>
<tr>
<td>
click
</td>
<td>
//button[@data-i18n='Sort']
</td>
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//button[@class='plus ui-btn-c ui-override-theme ui-btn ui-icon-plus ui-btn-icon-left ui-corner-all']
</td>
<td></td>
</tr>
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplateForRenderjsUi/macros/triggle_sort"
/>
...
...
bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_listbox_zuite/testSortItemAutoBuild.zpt
View file @
2cb32e84
...
...
@@ -47,23 +47,8 @@
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplateForRenderjsUi/macros/clear_query"
/>
<tr>
<td>
waitForElementPresent
</td>
<td>
//button[@data-i18n='Sort']
</td>
<td></td>
</tr>
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplateForRenderjsUi/macros/triggle_sort"
/>
<tr>
<td>
click
</td>
<td>
//button[@data-i18n='Sort']
</td>
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//button[@class='plus ui-btn-c ui-override-theme ui-btn ui-icon-plus ui-btn-icon-left ui-corner-all']
</td>
<td></td>
</tr>
...
...
@@ -118,17 +103,8 @@
<!-- Wait for the Filters to be applied -->
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplateForRenderjsUi/macros/wait_for_content_loaded"
/>
<tr>
<td>
waitForElementPresent
</td>
<td>
//button[@data-i18n='Sort']
</td>
<td></td>
</tr>
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplateForRenderjsUi/macros/triggle_sort"
/>
<tr>
<td>
click
</td>
<td>
//button[@data-i18n='Sort']
</td>
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
...
...
bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_listbox_zuite/testSortItemDelete.zpt
View file @
2cb32e84
...
...
@@ -47,24 +47,8 @@
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplateForRenderjsUi/macros/clear_query"
/>
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplateForRenderjsUi/macros/triggle_sort"
/>
<tr>
<td>
waitForElementPresent
</td>
<td>
//button[@data-i18n='Sort']
</td>
<td></td>
</tr>
<tr>
<td>
click
</td>
<td>
//button[@data-i18n='Sort']
</td>
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//button[@class='plus ui-btn-c ui-override-theme ui-btn ui-icon-plus ui-btn-icon-left ui-corner-all']
</td>
<td></td>
</tr>
...
...
bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_listbox_zuite/testSortItemEmpty.zpt
View file @
2cb32e84
...
...
@@ -45,17 +45,8 @@
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//button[@data-i18n='Sort']
</td>
<td></td>
</tr>
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplateForRenderjsUi/macros/triggle_sort"
/>
<tr>
<td>
click
</td>
<td>
//button[@data-i18n='Sort']
</td>
<td></td>
</tr>
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplateForRenderjsUi/macros/submit_search_filter"
/>
...
...
bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_listbox_zuite/testSortWithPager.zpt
View file @
2cb32e84
...
...
@@ -47,23 +47,7 @@
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplateForRenderjsUi/macros/clear_query"
/>
<tr>
<td>
waitForElementPresent
</td>
<td>
//button[@data-i18n='Sort']
</td>
<td></td>
</tr>
<tr>
<td>
click
</td>
<td>
//button[@data-i18n='Sort']
</td>
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//button[@class='plus ui-btn-c ui-override-theme ui-btn ui-icon-plus ui-btn-icon-left ui-corner-all']
</td>
<td></td>
</tr>
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplateForRenderjsUi/macros/triggle_sort"
/>
<tr>
...
...
bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_listbox_zuite/testSortWithPreviousNext.zpt
View file @
2cb32e84
...
...
@@ -46,24 +46,7 @@
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplateForRenderjsUi/macros/clear_query"
/>
<tr>
<td>
waitForElementPresent
</td>
<td>
//button[@data-i18n='Sort']
</td>
<td></td>
</tr>
<tr>
<td>
click
</td>
<td>
//button[@data-i18n='Sort']
</td>
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//button[@class='plus ui-btn-c ui-override-theme ui-btn ui-icon-plus ui-btn-icon-left ui-corner-all']
</td>
<td></td>
</tr>
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplateForRenderjsUi/macros/triggle_sort"
/>
<tr>
...
...
bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_multi_check_box_field_zuite/testEmptyMultiCheckBoxField.zpt
View file @
2cb32e84
...
...
@@ -47,26 +47,7 @@
</tr>
<!-- Go to test form -->
<tr>
<td>
waitForElementPresent
</td>
<td>
//a[@data-i18n='Views']
</td>
<td></td>
</tr>
<tr>
<td>
click
</td>
<td>
//a[@data-i18n='Views']
</td>
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//a[@data-i18n='Dummy Multicheckbox Field Report']
</td>
<td></td>
</tr>
<tr>
<td>
click
</td>
<td>
//a[@data-i18n='Dummy Multicheckbox Field Report']
</td>
<td></td>
</tr>
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplateForRenderjsUi/macros/go_to_bar_dummy_multicheckbox_field_report_view"
/>
<!-- Run test form & check -->
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplateForRenderjsUi/macros/submit_dialog"
/>
...
...
bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_multi_list_field_zuite/testEmptyMultiListField.zpt
View file @
2cb32e84
...
...
@@ -47,26 +47,8 @@
</tr>
<!-- Go to test form -->
<tr>
<td>
waitForElementPresent
</td>
<td>
//a[@data-i18n='Views']
</td>
<td></td>
</tr>
<tr>
<td>
click
</td>
<td>
//a[@data-i18n='Views']
</td>
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//a[@data-i18n='Dummy Multilist Field Report']
</td>
<td></td>
</tr>
<tr>
<td>
click
</td>
<td>
//a[@data-i18n='Dummy Multilist Field Report']
</td>
<td></td>
</tr>
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplateForRenderjsUi/macros/go_to_foo_dummy_multilist_field_report_view"
/>
<!-- Run test form & check -->
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplateForRenderjsUi/macros/submit_dialog"
/>
...
...
bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_page_templates_zuite/testFormListSearchResetsPagination.zpt
View file @
2cb32e84
...
...
@@ -59,16 +59,9 @@
<td>
//a[@data-i18n='Next']
</td>
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//button[@class="responsive ui-btn ui-icon-spinner ui-btn-icon-left ui-first-child ui-last-child ui-disabled ui-icon-spin"]
</td>
<td></td>
</tr>
<tr>
<td>
waitForElementNotPresent
</td>
<td>
//button[@class="responsive ui-btn ui-icon-spinner ui-btn-icon-left ui-first-child ui-last-child ui-disabled ui-icon-spin"]
</td>
<td></td>
</tr>
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplateForRenderjsUi/macros/wait_for_content_loaded"
/>
<tal:block
tal:define=
"search_query python: 'Title 10'"
>
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplateForRenderjsUi/macros/search_in_form_list"
/>
</tal:block>
...
...
bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_page_templates_zuite/testFormListSortStoreState.zpt
View file @
2cb32e84
...
...
@@ -88,17 +88,7 @@
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//button[@class="responsive ui-btn ui-icon-spinner ui-btn-icon-left ui-first-child ui-last-child ui-disabled ui-icon-spin"]
</td>
<td></td>
</tr>
<tr>
<td>
waitForElementNotPresent
</td>
<td>
//button[@class="responsive ui-btn ui-icon-spinner ui-btn-icon-left ui-first-child ui-last-child ui-disabled ui-icon-spin"]
</td>
<td></td>
</tr>
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplateForRenderjsUi/macros/wait_for_content_loaded"
/>
<!-- go back to module from stored state -->
<tr>
...
...
bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_page_zuite/testPageSearchInputQuery.zpt
View file @
2cb32e84
...
...
@@ -47,7 +47,7 @@
<td>
//div[@data-gadget-url='${runner_url}gadget_erp5_panel.html']//div[@data-gadget-url='${runner_url}gadget_erp5_searchfield.html']//button[@type='submit']
</td>
<td></td>
</tr>
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplateForRenderjsUi/macros/wait_for_content_loaded"
/>
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplateForRenderjsUi/macros/wait_for_content_loaded
_in_menu_page
"
/>
<!-- Verify that panel search query is empty but main search input is not -->
<tr>
...
...
bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_relation_field_zuite/testMultiRelationFieldNonEditable.zpt
View file @
2cb32e84
...
...
@@ -53,28 +53,7 @@
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//a[@data-i18n='Views']
</td>
<td></td>
</tr>
<tr>
<td>
click
</td>
<td>
//a[@data-i18n='Views']
</td>
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//a[@data-i18n='Relation Fields']
</td>
<td></td>
</tr>
<tr>
<td>
click
</td>
<td>
//a[@data-i18n='Relation Fields']
</td>
<td></td>
</tr>
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplateForRenderjsUi/macros/go_to_foo_relation_field_view"
/>
<tr>
<td>
waitForElementPresent
</td>
...
...
bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_relation_field_zuite/testProxyListBox.zpt
View file @
2cb32e84
...
...
@@ -126,28 +126,8 @@
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//a[@data-i18n='Views']
</td>
<td></td>
</tr>
<tr>
<td>
click
</td>
<td>
//a[@data-i18n='Views']
</td>
<td></td>
</tr>
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplateForRenderjsUi/macros/go_to_foo_relation_field_view"
/>
<tr>
<td>
waitForElementPresent
</td>
<td>
//a[@data-i18n='Relation Fields']
</td>
<td></td>
</tr>
<tr>
<td>
click
</td>
<td>
//a[@data-i18n='Relation Fields']
</td>
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
...
...
bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_relation_field_zuite/testRelationField.zpt
View file @
2cb32e84
...
...
@@ -54,28 +54,8 @@
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//a[@data-i18n='Views']
</td>
<td></td>
</tr>
<tr>
<td>
click
</td>
<td>
//a[@data-i18n='Views']
</td>
<td></td>
</tr>
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplateForRenderjsUi/macros/go_to_foo_relation_field_view"
/>
<tr>
<td>
waitForElementPresent
</td>
<td>
//a[@data-i18n='Relation Fields']
</td>
<td></td>
</tr>
<tr>
<td>
click
</td>
<td>
//a[@data-i18n='Relation Fields']
</td>
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
...
...
@@ -109,22 +89,8 @@
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplateForRenderjsUi/macros/save"
/>
<tr>
<td>
click
</td>
<td>
//a[@data-i18n='Views']
</td>
<td></td>
</tr>
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplateForRenderjsUi/macros/go_to_foo_relation_field_view"
/>
<tr>
<td>
waitForElementPresent
</td>
<td>
//a[@data-i18n='Relation Fields']
</td>
<td></td>
</tr>
<tr>
<td>
click
</td>
<td>
//a[@data-i18n='Relation Fields']
</td>
<td></td>
</tr>
<tr>
...
...
bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_relation_field_zuite/testRelationFieldCreate.zpt
View file @
2cb32e84
...
...
@@ -53,28 +53,8 @@
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//a[@data-i18n='Views']
</td>
<td></td>
</tr>
<tr>
<td>
click
</td>
<td>
//a[@data-i18n='Views']
</td>
<td></td>
</tr>
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplateForRenderjsUi/macros/go_to_foo_relation_field_view"
/>
<tr>
<td>
waitForElementPresent
</td>
<td>
//a[@data-i18n='Relation Fields']
</td>
<td></td>
</tr>
<tr>
<td>
click
</td>
<td>
//a[@data-i18n='Relation Fields']
</td>
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
...
...
@@ -149,26 +129,11 @@
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplateForRenderjsUi/macros/save"
/>
<tr>
<td>
click
</td>
<td>
//a[@data-i18n="Views"]
</td>
<td></td>
</tr>
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplateForRenderjsUi/macros/go_to_foo_relation_field_view"
/>
<tr>
<td>
waitForElementPresent
</td>
<td>
//a[@data-i18n='Relation Fields']
</td>
<td></td>
</tr>
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplateForRenderjsUi/macros/wait_for_content_loaded"
/>
<tr>
<td>
click
</td>
<td>
//a[@data-i18n='Relation Fields']
</td>
<td></td>
</tr>
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplateForRenderjsUi/macros/wait_for_content_loaded"
/>
<tr>
<td>
waitForElementPresent
</td>
...
...
bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_relation_field_zuite/testRelationFieldNonEditable.zpt
View file @
2cb32e84
...
...
@@ -53,28 +53,8 @@
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//a[@data-i18n='Views']
</td>
<td></td>
</tr>
<tr>
<td>
click
</td>
<td>
//a[@data-i18n='Views']
</td>
<td></td>
</tr>
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplateForRenderjsUi/macros/go_to_foo_relation_field_view"
/>
<tr>
<td>
waitForElementPresent
</td>
<td>
//a[@data-i18n='Relation Fields']
</td>
<td></td>
</tr>
<tr>
<td>
click
</td>
<td>
//a[@data-i18n='Relation Fields']
</td>
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
...
...
@@ -149,24 +129,8 @@
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplateForRenderjsUi/macros/save"
/>
<tr>
<td>
click
</td>
<td>
//a[@data-i18n="Views"]
</td>
<td></td>
</tr>
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplateForRenderjsUi/macros/go_to_foo_relation_field_view"
/>
<tr>
<td>
waitForElementPresent
</td>
<td>
//a[@data-i18n='Relation Fields']
</td>
<td></td>
</tr>
<tr>
<td>
click
</td>
<td>
//a[@data-i18n='Relation Fields']
</td>
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
...
...
bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_relation_field_zuite/testRelationFieldNotAllowCreation.zpt
View file @
2cb32e84
...
...
@@ -53,28 +53,8 @@
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//a[@data-i18n='Views']
</td>
<td></td>
</tr>
<tr>
<td>
click
</td>
<td>
//a[@data-i18n='Views']
</td>
<td></td>
</tr>
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplateForRenderjsUi/macros/go_to_foo_relation_field_view"
/>
<tr>
<td>
waitForElementPresent
</td>
<td>
//a[@data-i18n='Relation Fields']
</td>
<td></td>
</tr>
<tr>
<td>
click
</td>
<td>
//a[@data-i18n='Relation Fields']
</td>
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
...
...
bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_relation_field_zuite/testRelationFieldUnknownIcon.zpt
View file @
2cb32e84
...
...
@@ -53,28 +53,8 @@
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//a[@data-i18n='Views']
</td>
<td></td>
</tr>
<tr>
<td>
click
</td>
<td>
//a[@data-i18n='Views']
</td>
<td></td>
</tr>
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplateForRenderjsUi/macros/go_to_foo_relation_field_view"
/>
<tr>
<td>
waitForElementPresent
</td>
<td>
//a[@data-i18n='Relation Fields']
</td>
<td></td>
</tr>
<tr>
<td>
click
</td>
<td>
//a[@data-i18n='Relation Fields']
</td>
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
...
...
bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_relation_field_zuite/testSimpleMultiRelationField.zpt
View file @
2cb32e84
...
...
@@ -53,28 +53,8 @@
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//a[@data-i18n='Views']
</td>
<td></td>
</tr>
<tr>
<td>
click
</td>
<td>
//a[@data-i18n='Views']
</td>
<td></td>
</tr>
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplateForRenderjsUi/macros/go_to_foo_relation_field_view"
/>
<tr>
<td>
waitForElementPresent
</td>
<td>
//a[@data-i18n='Relation Fields']
</td>
<td></td>
</tr>
<tr>
<td>
click
</td>
<td>
//a[@data-i18n='Relation Fields']
</td>
<td></td>
</tr>
<tr>
...
...
@@ -228,23 +208,8 @@
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplateForRenderjsUi/macros/save"
/>
<tr>
<td>
click
</td>
<td>
//a[@data-i18n='Views']
</td>
<td></td>
</tr>
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplateForRenderjsUi/macros/go_to_foo_relation_field_view"
/>
<tr>
<td>
waitForElementPresent
</td>
<td>
//a[@data-i18n='Relation Fields']
</td>
<td></td>
</tr>
<tr>
<td>
click
</td>
<td>
//a[@data-i18n='Relation Fields']
</td>
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
...
...
bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_relation_field_zuite/testSimpleRelationFieldWithAccent.zpt
View file @
2cb32e84
...
...
@@ -53,28 +53,8 @@
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//a[@data-i18n='Views']
</td>
<td></td>
</tr>
<tr>
<td>
click
</td>
<td>
//a[@data-i18n='Views']
</td>
<td></td>
</tr>
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplateForRenderjsUi/macros/go_to_foo_relation_field_view"
/>
<tr>
<td>
waitForElementPresent
</td>
<td>
//a[@data-i18n='Relation Fields']
</td>
<td></td>
</tr>
<tr>
<td>
click
</td>
<td>
//a[@data-i18n='Relation Fields']
</td>
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
...
...
@@ -146,24 +126,8 @@
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplateForRenderjsUi/macros/save"
/>
<tr>
<td>
click
</td>
<td>
//a[@data-i18n="Views"]
</td>
<td></td>
</tr>
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplateForRenderjsUi/macros/go_to_foo_relation_field_view"
/>
<tr>
<td>
waitForElementPresent
</td>
<td>
//a[@data-i18n='Relation Fields']
</td>
<td></td>
</tr>
<tr>
<td>
click
</td>
<td>
//a[@data-i18n='Relation Fields']
</td>
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
...
...
bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_router_zuite/testCommandSelectionNextJumpToNextDocument.zpt
View file @
2cb32e84
...
...
@@ -111,16 +111,8 @@
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//button[@class="responsive ui-btn ui-icon-spinner ui-btn-icon-left ui-first-child ui-last-child ui-disabled ui-icon-spin"]
</td>
<td></td>
</tr>
<tr>
<td>
waitForElementNotPresent
</td>
<td>
//button[@class="responsive ui-btn ui-icon-spinner ui-btn-icon-left ui-first-child ui-last-child ui-disabled ui-icon-spin"]
</td>
<td></td>
</tr>
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplateForRenderjsUi/macros/wait_for_content_loaded"
/>
<!-- Go to the first element -->
<tr>
...
...
bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_router_zuite/testCommandSelectionPreviousJumpToPreviousDocument.zpt
View file @
2cb32e84
...
...
@@ -117,16 +117,8 @@
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//button[@class="responsive ui-btn ui-icon-spinner ui-btn-icon-left ui-first-child ui-last-child ui-disabled ui-icon-spin"]
</td>
<td></td>
</tr>
<tr>
<td>
waitForElementNotPresent
</td>
<td>
//button[@class="responsive ui-btn ui-icon-spinner ui-btn-icon-left ui-first-child ui-last-child ui-disabled ui-icon-spin"]
</td>
<td></td>
</tr>
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplateForRenderjsUi/macros/wait_for_content_loaded"
/>
<tr>
<td>
waitForTextPresent
</td>
<td>
Title 3
</td>
...
...
bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_translate_zuite/testPageSearch.zpt
View file @
2cb32e84
...
...
@@ -29,7 +29,7 @@
</tr>
<tal:block
tal:define=
"search_query python: 'translated_portal_type: "Web Script"'"
>
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplateForRenderjsUi/macros/search_in_form_list"
/>
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplateForRenderjsUi/macros/search_in_form_list
_without_header_url
"
/>
</tal:block>
...
...
bt5/erp5_web_renderjs_ui_test/SkinTemplateItem/portal_skins/erp5_web_renderjs_ui_test/Zuite_CommonTemplateForRenderjsUi.zpt
View file @
2cb32e84
...
...
@@ -15,12 +15,20 @@
</tr>
<!-- First loader while calling Base_edit -->
<tr>
<td>waitForElementPresent</td>
<td>//
button[@class="responsive ui-btn ui-icon-spinner ui-btn-icon-left ui-first-child ui-last-child ui-disabled ui-icon-spin"
]</td>
<td>//
h1[@class="ui-title"]//a[contains(@class, "ui-icon-spinner")
]</td>
<td></td>
</tr>
<!-- Save Button is disabled -->
<tr>
<td>verifyElementPresent</td>
<td>//button[@data-i18n="Save"][contains(@class, "ui-disabled")]</td>
<td></td>
</tr>
<tr>
<td>waitForTextPresent</td>
<td>Data updated.</td>
...
...
@@ -30,19 +38,27 @@
<!-- Second loader while updating the page -->
<tr>
<td>waitForElementPresent</td>
<td>//button[@class="responsive ui-btn ui-icon-spinner ui-btn-icon-left ui-first-child ui-last-child ui-disabled ui-icon-spin"]</td>
<td>//h1[@class="ui-title"]//a[contains(@class, "ui-icon-spinner")]</td>
<td></td>
</tr>
<!-- Save Button is disabled -->
<tr>
<td>verifyElementPresent</td>
<td>//button[@data-i18n="Save"][contains(@class, "ui-disabled")]</td>
<td></td>
</tr>
<tr>
<td>waitForElementNotPresent</td>
<td>//
button[@class="responsive ui-btn ui-icon-spinner ui-btn-icon-left ui-first-child ui-last-child ui-disabled ui-icon-spin"
]</td>
<td>//
h1[@class="ui-title"]//a[contains(@class, "ui-icon-spinner")
]</td>
<td></td>
</tr>
<tr>
<td>
waitFor
ElementPresent</td>
<td>//button[@
class="responsive ui-btn ui-icon-check ui-btn-icon-left ui-first-child ui-last-child "
]</td>
<td>
verify
ElementPresent</td>
<td>//button[@
data-i18n="Save"][contains(@class, "ui-icon-check")
]</td>
<td></td>
</tr>
</tal:block>
...
...
@@ -52,51 +68,40 @@
<tal:block metal:define-macro="clear_query">
<tr>
<td>waitForElementPresent</td>
<td>//div[contains(@data-gadget-url, 'gadget_erp5_pt_form_list.html')]//input[@name='search']</td>
<td></td>
</tr>
<tr>
<td>waitForElementPresent</td>
<td>//a[@data-i18n='Previous']</td>
<td></td>
</tr>
<tr>
<td>type</td>
<td>//div[contains(@data-gadget-url, 'gadget_erp5_pt_form_list.html')]//input[@name='search']</td>
<td></td>
<td>waitForElementPresent</td>
<td>//div[contains(@data-gadget-url, 'gadget_erp5_pt_form_list.html')]//input[@name='search']</td>
<td></td>
</tr>
<tr>
<td>waitForElement
Not
Present</td>
<td>//
button[@class="responsive ui-btn ui-icon-spinner ui-btn-icon-left ui-first-child ui-last-child ui-disabled ui-icon-spin"
]</td>
<td>waitForElementPresent</td>
<td>//
a[@data-i18n='Previous'
]</td>
<td></td>
</tr>
<tr>
<td>click
</td>
<td>//div[contains(@data-gadget-url, 'gadget_erp5_pt_form_list.html')]//div[@data-gadget-scope='erp5_searchfield']//button[contains(@class, 'search_button')
]</td>
<td></td>
<td>type
</td>
<td>//div[contains(@data-gadget-url, 'gadget_erp5_pt_form_list.html')]//input[@name='search'
]</td>
<td></td>
</tr>
<tr>
<td>waitForElementPresent</td>
<td>//button[@
class="responsive ui-btn ui-icon-spinner ui-btn-icon-left ui-first-child ui-last-child ui-disabled ui-icon-spin"
]</td>
<td>//button[@
data-i18n="Filter"][contains(@class, "ui-icon-warning")
]</td>
<td></td>
</tr>
<tr>
<td>
waitForElementNotPresent
</td>
<td>//
button[@class="responsive ui-btn ui-icon-spinner ui-btn-icon-left ui-first-child ui-last-child ui-disabled ui-icon-spin"
]</td>
<td>
click
</td>
<td>//
div[contains(@data-gadget-url, 'gadget_erp5_pt_form_list.html')]//div[@data-gadget-scope='erp5_searchfield']//button[contains(@class, 'search_button')
]</td>
<td></td>
</tr>
<tal:block metal:use-macro="here/Zuite_CommonTemplateForRenderjsUi/macros/wait_for_content_loaded" />
</tal:block>
<tal:block metal:define-macro="submit_search_filter">
<tr>
<td>waitForElementPresent</td>
<td>//button[@class='plus ui-btn-c ui-override-theme ui-btn ui-icon-plus ui-btn-icon-left ui-corner-all']</td>
...
...
@@ -104,9 +109,9 @@
</tr>
<tr>
<td>waitForElementPresent</td>
<td>//button[@data-i18n='Submit']</td>
<td></td>
<td>waitForElementPresent</td>
<td>//button[@data-i18n='Submit']</td>
<td></td>
</tr>
<tr>
...
...
@@ -115,17 +120,7 @@
<td></td>
</tr>
<tr>
<td>waitForElementPresent</td>
<td>//button[@class="responsive ui-btn ui-icon-spinner ui-btn-icon-left ui-first-child ui-last-child ui-disabled ui-icon-spin"]</td>
<td></td>
</tr>
<tr>
<td>waitForElementNotPresent</td>
<td>//button[@class="responsive ui-btn ui-icon-spinner ui-btn-icon-left ui-first-child ui-last-child ui-disabled ui-icon-spin"]</td>
<td></td>
</tr>
<tal:block metal:use-macro="here/Zuite_CommonTemplateForRenderjsUi/macros/wait_for_content_loaded" />
</tal:block>
...
...
@@ -180,18 +175,34 @@
<td>//div[contains(@data-gadget-url, 'gadget_erp5_pt_form_list.html')]//div[@data-gadget-scope='erp5_searchfield']//button[contains(@class, 'search_button')]</td>
<td></td>
</tr>
<tal:block metal:use-macro="here/Zuite_CommonTemplateForRenderjsUi/macros/wait_for_content_loaded" />
</tal:block>
<tal:block metal:define-macro="search_in_form_list_without_header_url">
<tr>
<td>waitForElementPresent</td>
<td>//
button[@class="responsive ui-btn ui-icon-spinner ui-btn-icon-left ui-first-child ui-last-child ui-disabled ui-icon-spin"
]</td>
<td>//
div[contains(@data-gadget-url, 'gadget_erp5_pt_form_list.html')]//input[@name='search'
]</td>
<td></td>
</tr>
<tr>
<td>waitForElementNotPresent</td>
<td>//button[@class="responsive ui-btn ui-icon-spinner ui-btn-icon-left ui-first-child ui-last-child ui-disabled ui-icon-spin"]</td>
<td>type</td>
<td>//div[contains(@data-gadget-url, 'gadget_erp5_pt_form_list.html')]//input[@name='search']</td>
<td tal:content="search_query"></td>
</tr>
<tr>
<td>click</td>
<td>//div[contains(@data-gadget-url, 'gadget_erp5_pt_form_list.html')]//div[@data-gadget-scope='erp5_searchfield']//button[contains(@class, 'search_button')]</td>
<td></td>
</tr>
<tal:block metal:use-macro="here/Zuite_CommonTemplateForRenderjsUi/macros/wait_for_content_loaded_in_menu_page" />
</tal:block>
<tal:block metal:define-macro="check_search_in_form_list">
<tr>
...
...
@@ -207,17 +218,40 @@
</tal:block>
<tal:block metal:define-macro="wait_for_content_loaded">
<tr>
<td>waitForElementPresent</td>
<td>//
button[@class="responsive ui-btn ui-icon-spinner ui-btn-icon-left ui-first-child ui-last-child ui-disabled ui-icon-spin"
]</td>
<td>//
h1[@class="ui-title"]//a[contains(@class, "ui-icon-spinner")
]</td>
<td></td>
</tr>
<tr>
<td>waitForElementNotPresent</td>
<td>//
button[@class="responsive ui-btn ui-icon-spinner ui-btn-icon-left ui-first-child ui-last-child ui-disabled ui-icon-spin"
]</td>
<td>//
h1[@class="ui-title"]//a[contains(@class, "ui-icon-spinner")
]</td>
<td></td>
</tr>
</tal:block>
<tal:block metal:define-macro="wait_for_content_loaded_in_menu_page">
<tr>
<td>waitForElementPresent</td>
<td>//h1[@class="ui-title"]//span[contains(@class, "ui-icon-spinner")]</td>
<td></td>
</tr>
<tr>
<td>waitForElementNotPresent</td>
<td>//h1[@class="ui-title"]//span[contains(@class, "ui-icon-spinner")]</td>
<td></td>
</tr>
</tal:block>
<tal:block metal:define-macro="toggle_editable_mode">
<tr>
...
...
@@ -247,5 +281,264 @@
<td></td>
</tr>
</tal:block>
<tal:block metal:define-macro="go_to_foo_relation_field_view">
<tr>
<td>waitForElementPresent</td>
<td>//div[contains(@class, 'ui-header')]//a[@data-i18n='Views']</td>
<td></td>
</tr>
<tr>
<td>click</td>
<td>//div[contains(@class, 'ui-header')]//a[@data-i18n='Views']</td>
<td></td>
</tr>
<tr>
<td>waitForElementPresent</td>
<td>//ul[@class='document-listview']//a[@data-i18n='Relation Fields']</td>
<td></td>
</tr>
<tr>
<td>click</td>
<td>//ul[@class='document-listview']//a[@data-i18n='Relation Fields']</td>
<td></td>
</tr>
<tr>
<td>waitForElementPresent</td>
<td>//input[@name='field_my_id']</td>
<td></td>
</tr>
</tal:block>
<tal:block metal:define-macro="go_to_foo_dummy_list_field_view">
<tr>
<td>waitForElementPresent</td>
<td>//div[contains(@class, 'ui-header')]//a[@data-i18n='Views']</td>
<td></td>
</tr>
<tr>
<td>click</td>
<td>//div[contains(@class, 'ui-header')]//a[@data-i18n='Views']</td>
<td></td>
</tr>
<tr>
<td>waitForElementPresent</td>
<td>//ul[@class='document-listview']//a[@data-i18n='Dummy List Field Report']</td>
<td></td>
</tr>
<tr>
<td>click</td>
<td>//ul[@class='document-listview']//a[@data-i18n='Dummy List Field Report']</td>
<td></td>
</tr>
<tr>
<td>waitForElementPresent</td>
<td>//div[contains(@data-gadget-url, 'gadget_erp5_pt_form_dialog.html')]</td>
<td></td>
</tr>
</tal:block>
<tal:block metal:define-macro="go_to_bar_datetime_field_view">
<tr>
<td>waitForElementPresent</td>
<td>//div[contains(@class, 'ui-header')]//a[@data-i18n='Views']</td>
<td></td>
</tr>
<tr>
<td>click</td>
<td>//div[contains(@class, 'ui-header')]//a[@data-i18n='Views']</td>
<td></td>
</tr>
<tr>
<td>waitForElementPresent</td>
<td>//ul[@class='document-listview']//a[@data-i18n='DateTimeField']</td>
<td></td>
</tr>
<tr>
<td>click</td>
<td>//ul[@class='document-listview']//a[@data-i18n='DateTimeField']</td>
<td></td>
</tr>
<tr>
<td>waitForElementPresent</td>
<td>//input[@name='field_my_start_date']</td>
<td></td>
</tr>
</tal:block>
<tal:block metal:define-macro="go_to_bar_dummy_multicheckbox_field_report_view">
<tr>
<td>waitForElementPresent</td>
<td>//div[contains(@class, 'ui-header')]//a[@data-i18n='Views']</td>
<td></td>
</tr>
<tr>
<td>click</td>
<td>//div[contains(@class, 'ui-header')]//a[@data-i18n='Views']</td>
<td></td>
</tr>
<tr>
<td>waitForElementPresent</td>
<td>//ul[@class='document-listview']//a[@data-i18n='Dummy Multicheckbox Field Report']</td>
<td></td>
</tr>
<tr>
<td>click</td>
<td>//ul[@class='document-listview']//a[@data-i18n='Dummy Multicheckbox Field Report']</td>
<td></td>
</tr>
<tr>
<td>waitForElementPresent</td>
<td>//div[contains(@data-gadget-url, 'gadget_erp5_pt_form_dialog.html')]</td>
<td></td>
</tr>
</tal:block>
<tal:block metal:define-macro="go_to_foo_dummy_multilist_field_report_view">
<tr>
<td>waitForElementPresent</td>
<td>//div[contains(@class, 'ui-header')]//a[@data-i18n='Views']</td>
<td></td>
</tr>
<tr>
<td>click</td>
<td>//div[contains(@class, 'ui-header')]//a[@data-i18n='Views']</td>
<td></td>
</tr>
<tr>
<td>waitForElementPresent</td>
<td>//ul[@class='document-listview']//a[@data-i18n='Dummy Multilist Field Report']</td>
<td></td>
</tr>
<tr>
<td>click</td>
<td>//ul[@class='document-listview']//a[@data-i18n='Dummy Multilist Field Report']</td>
<td></td>
</tr>
<tr>
<td>waitForElementPresent</td>
<td>//div[contains(@data-gadget-url, 'gadget_erp5_pt_form_dialog.html')]</td>
<td></td>
</tr>
</tal:block>
<tal:block metal:define-macro="triggle_filter_and">
<tr>
<td>waitForElementPresent</td>
<td>//button[text()='Filter']</td>
<td></td>
</tr>
<tr>
<td>click</td>
<td>//button[text()='Filter']</td>
<td></td>
</tr>
<tr>
<td>waitForElementPresent</td>
<td>//select[@name='heard_about']</td>
<td></td>
</tr>
<tr>
<td>verifyValue</td>
<td>//select[@name='heard_about']</td>
<td>AND</td>
</tr>
</tal:block>
<tal:block metal:define-macro="triggle_filter_or">
<tr>
<td>waitForElementPresent</td>
<td>//button[text()='Filter']</td>
<td></td>
</tr>
<tr>
<td>click</td>
<td>//button[text()='Filter']</td>
<td></td>
</tr>
<tr>
<td>waitForElementPresent</td>
<td>//select[@name='heard_about']</td>
<td></td>
</tr>
<tr>
<td>verifyValue</td>
<td>//select[@name='heard_about']</td>
<td>OR</td>
</tr>
</tal:block>
<tal:block metal:define-macro="triggle_sort">
<tr>
<td>waitForElementPresent</td>
<td>//button[@data-i18n='Sort']</td>
<td></td>
</tr>
<tr>
<td>click</td>
<td>//button[@data-i18n='Sort']</td>
<td></td>
</tr>
<tr>
<td>waitForElementPresent</td>
<td>//button[@class='plus ui-btn-c ui-override-theme ui-btn ui-icon-plus ui-btn-icon-left ui-corner-all']</td>
<td></td>
</tr>
</tal:block>
</tal:block>
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment