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
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Matevz Golob
erp5
Commits
cf7e940c
Commit
cf7e940c
authored
Jun 16, 2016
by
Xiaowu Zhang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
erp5_web_renderjs_ui: reimplement multi relation
parent
3eb87be0
Changes
12
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
2502 additions
and
502 deletions
+2502
-502
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_multirelationstringfield_html.html
...module/rjs_gadget_erp5_multirelationstringfield_html.html
+93
-6
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_multirelationstringfield_js.js
...age_module/rjs_gadget_erp5_multirelationstringfield_js.js
+363
-403
bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_zuite/relationfield_zuite/testMultiRelationFieldCreate.zpt
...uite/relationfield_zuite/testMultiRelationFieldCreate.zpt
+133
-30
bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_zuite/relationfield_zuite/testMultiRelationFieldSearchWithListbox.xml
...onfield_zuite/testMultiRelationFieldSearchWithListbox.xml
+58
-0
bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_zuite/relationfield_zuite/testMultiRelationFieldSearchWithListbox.zpt
...onfield_zuite/testMultiRelationFieldSearchWithListbox.zpt
+353
-0
bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_zuite/relationfield_zuite/testMultiRelationFieldUnknownIcon.xml
...relationfield_zuite/testMultiRelationFieldUnknownIcon.xml
+58
-0
bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_zuite/relationfield_zuite/testMultiRelationFieldUnknownIcon.zpt
...relationfield_zuite/testMultiRelationFieldUnknownIcon.zpt
+212
-0
bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_zuite/relationfield_zuite/testMultiRelationFieldWithNonSavedPageContent.xml
...d_zuite/testMultiRelationFieldWithNonSavedPageContent.xml
+58
-0
bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_zuite/relationfield_zuite/testMultiRelationFieldWithNonSavedPageContent.zpt
...d_zuite/testMultiRelationFieldWithNonSavedPageContent.zpt
+499
-0
bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_zuite/relationfield_zuite/testProxyListBox.xml
...enderjs_ui_zuite/relationfield_zuite/testProxyListBox.xml
+58
-0
bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_zuite/relationfield_zuite/testProxyListBox.zpt
...enderjs_ui_zuite/relationfield_zuite/testProxyListBox.zpt
+526
-0
bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_zuite/relationfield_zuite/testSimpleMultiRelationField.zpt
...uite/relationfield_zuite/testSimpleMultiRelationField.zpt
+91
-63
No files found.
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_multirelationstringfield_html.html
View file @
cf7e940c
...
...
@@ -5,19 +5,106 @@
<meta
name=
"viewport"
content=
"width=device-width, user-scalable=no"
/>
<title>
ERP5 MultiRelationstringfield
</title>
<!-- renderjs -->
<script
src=
"rsvp.js"
type=
"text/javascript"
></script>
<script
src=
"renderjs.js"
type=
"text/javascript"
></script>
<script
src=
"URI.js"
type=
"text/javascript"
></script>
<!-- custom script -->
<script
src=
"gadget_erp5_field_multirelationstring.js"
type=
"text/javascript"
></script>
<script
src=
"handlebars.js"
type=
"text/javascript"
></script>
<script
src=
"gadget_global.js"
type=
"text/javascript"
></script>
<script
src=
"gadget_erp5_field_multirelationstring.js"
type=
"text/javascript"
></script>
<script
id=
"create-template"
type=
"text/x-handlebars-template"
>
<
div
class
=
"
ui-controlgroup ui-controlgroup-horizontal ui-corner-all
"
>
<
div
class
=
"
ui-controlgroup-controls
"
>
<
li
class
=
"
ui-first-child ui-last-child ui-input-text
"
>
Create
:{{
text
}}
<
/li
>
<
/div
>
</script>
<script
id=
"single-input-template"
type=
"text/x-handlebars-template"
>
<
fieldset
class
=
'
single_input add_after
'
>
<
div
class
=
"
ui-input-text ui-body-inherit ui-corner-all ui-shadow-inset ui-input-has-clear ui-input-has-icon
"
>
<
input
type
=
'
text
'
autocomplete
=
"
off
"
data
-
enhanced
=
"
true
"
>
<
a
href
=
"
#
"
tabindex
=
"
-1
"
class
=
"
ui-hidden-accessible
"
>&
nbsp
;
<
/a
>
<
div
class
=
"
ui-tag-list ui-tag-list-inset
"
><
/div
>
<
ul
class
=
"
ui-listview ui-corner-all search_ul
"
><
/ul
>
<
/div
>
<
a
href
=
'
#
'
tabindex
=
"
-1
"
class
=
"
ui-btn ui-corner-all ui-btn-icon-notext ui-icon-plane ui-shadow-inset ui-btn-inline ui-disabled
"
>
Jump
to
this
document
<
/a
>
<
/fieldset
>
</script>
<script
id=
"multi-input-template"
type=
"text/x-handlebars-template"
>
<
div
class
=
"
container
"
>
{{
#
each
input
}}
<
fieldset
class
=
"
single_input
"
>
<
div
class
=
"
ui-input-text ui-body-inherit ui-corner-all ui-shadow-inset ui-input-has-clear ui-input-has-icon {{../readonly}}
"
>
{{
#
if
create_object
}}
<
input
type
=
'
text
'
title
=
"
{{title}}
"
name
=
"
{{name}}
"
autocomplete
=
"
off
"
data
-
enhanced
=
"
true
"
value
=
"
{{value}}
"
data
-
create
-
object
=
"
{{create_object}}
"
>
{{
else
}}
<
input
type
=
'
text
'
title
=
"
{{title}}
"
name
=
"
{{name}}
"
autocomplete
=
"
off
"
data
-
enhanced
=
"
true
"
value
=
"
{{value}}
"
>
{{
/
if
}}
<
a
href
=
"
#
"
tabindex
=
"
-1
"
class
=
"
ui-hidden-accessible
"
>&
nbsp
;
<
/a
>
<
div
class
=
"
ui-tag-list ui-tag-list-inset
"
>
{{
#
if
create_object
}}
<
div
class
=
"
ui-controlgroup ui-controlgroup-horizontal ui-corner-all
"
>
<
div
class
=
"
ui-controlgroup-controls
"
>
<
li
class
=
"
ui-first-child ui-last-child ui-input-text
"
>
Create
:{{
create_object
}}
<
/li
>
<
/div
>
<
/div
>
{{
/
if
}}
<
/div
>
<
ul
class
=
"
ui-listview ui-corner-all search_ul
"
><
/ul
>
<
/div
>
{{
#
if
create_object
}}
<
a
href
=
'
#
'
tabindex
=
"
-1
"
class
=
"
ui-btn ui-corner-all ui-btn-icon-notext ui-icon-plus ui-shadow-inset ui-btn-inline ui-disabled
"
>
Jump
to
this
document
<
/a
>
{{
else
}}
{{
#
if
error_text
}}
<
a
href
=
'
#
'
tabindex
=
"
-1
"
class
=
"
ui-btn ui-corner-all ui-btn-icon-notext ui-icon-warning ui-shadow-inset ui-btn-inline ui-disabled
"
>
Jump
to
this
document
<
/a
>
{{
else
}}
{{
#
if
jump_unknown
}}
<
a
href
=
'
#
'
tabindex
=
"
-1
"
class
=
"
ui-btn ui-corner-all ui-btn-icon-notext ui-icon-warning ui-shadow-inset ui-btn-inline ui-disabled
"
>
Jump
to
this
document
<
/a
>
{{
else
}}
{{
#
if
href
}}
{{
#
if
..
/
allow_jump
}}
<
a
href
=
{{
href
}}
tabindex
=
"
-1
"
class
=
"
ui-btn ui-corner-all ui-btn-icon-notext ui-icon-plane ui-shadow-inset ui-btn-inline
"
>
Jump
to
this
document
<
/a
>
{{
else
}}
<
a
href
=
'
#
'
tabindex
=
"
-1
"
class
=
"
ui-btn ui-corner-all ui-btn-icon-notext ui-icon-plane ui-shadow-inset ui-btn-inline ui-disabled
"
>
Jump
to
this
document
<
/a
>
{{
/
if
}}
{{
else
}}
<
a
href
=
'
#
'
tabindex
=
"
-1
"
class
=
"
ui-btn ui-corner-all ui-btn-icon-notext ui-icon-plane ui-shadow-inset ui-btn-inline ui-disabled
"
>
Jump
to
this
document
<
/a
>
{{
/
if
}}
{{
/if}
}
{{
/
if
}}
{{
/if}
}
<
/fieldset
>
{{
/
each
}}
<
/div
>
</script>
<script
id=
"relation-listview-template"
type=
"text/x-handlebars-template"
>
{{
#
if
list
.
length
}}
<
li
class
=
"
ui-autocomplete ui-li ui-li-divider ui-bar-inherit ui-first-child
"
role
=
"
heading
"
>
Select
from
the
{{
list
.
length
}}
Search
Results
<
/li
>
{{
#
each
list
}}
<
li
class
=
"
ui-li-static ui-body-inherit ui-icon-mail-forward ui-btn-icon-right
"
data
-
relative
-
url
=
{{
id
}}
>
{{
value
}}
<
/li
>
{{
/
each
}}
{{
#
each
type
}}
<
li
class
=
"
ui-li-static ui-body-inherit ui-bar-inherit ui-icon-plus ui-btn-icon-right
"
data
-
create
-
object
=
"
{{this}}
"
name
=
"
{{this}}
"
>
Create
New
{{
this
}}:
{{..
/
value
}}
<
/li
>
{{
/
each
}}
{{
else
}}
<
li
class
=
"
ui-autocomplete ui-li ui-li-divider ui-bar-inherit ui-first-child
"
role
=
"
heading
"
>
No
result
<
/li
>
{{
#
each
type
}}
<
li
class
=
"
ui-li-static ui-body-inherit ui-bar-inherit ui-icon-plus ui-btn-icon-right
"
data
-
create
-
object
=
"
{{this}}
"
name
=
"
{{this}}
"
>
Create
New
{{
this
}}:
{{..
/
value
}}
<
/li
>
{{
/
each
}}
{{
/if}
}
<
li
class
=
"
ui-li-static ui-body-inherit ui-last-child ui-bar-inherit ui-icon-search ui-btn-icon-right
"
data
-
explore
=
true
>
Explore
the
Search
Result
List
<
/li
>
</script>
</head>
<body>
<div>
<div
class=
"div_field"
>
</div>
</body>
</html>
\ No newline at end of file
bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_multirelationstringfield_js.js
View file @
cf7e940c
This diff is collapsed.
Click to expand it.
bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_zuite/relationfield_zuite/testMultiRelationFieldCreate.zpt
View file @
cf7e940c
...
...
@@ -90,118 +90,221 @@
<tr>
<td>
waitForElementPresent
</td>
<td>
//
div[@data-gadget-scope='field_my_bar_category_title_list
']
</td>
<td>
//
input[@name='field_my_foo_category_title
']
</td>
<td></td>
</tr>
<tr>
<td>
type
</td>
<td>
//input[@name='
subfield_my_bar_category_title_list_0
']
</td>
<td>
A new foo
</td>
<td>
//input[@name='
field_my_foo_category_title
']
</td>
<td>
a1
</td>
</tr>
<tr>
<td>
fireEvent
</td>
<td>
//input[@name='
subfield_my_bar_category_title_list_0
']
</td>
<td>
//input[@name='
field_my_foo_category_title
']
</td>
<td>
input
</td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//
div[@class='subfield_my_bar_category_title_list_0']/div/div/div/div/a[@class='ui-first-child ui-last-child ui-btn ui-corner-all ui-btn-inherit ui-btn-active ui-btn-icon-right ui-icon-delete
']
</td>
<td>
//
li[@data-relative-url='portal_categories/foo_category/a/a1
']
</td>
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//input[@name='subfield_my_bar_category_title_list_1']
</td>
<td>
fireEvent
</td>
<td>
//input[@name='field_my_foo_category_title']
</td>
<td>
blur
</td>
</tr>
<tr>
<td>
click
</td>
<td>
//li[@data-relative-url='portal_categories/foo_category/a/a1']
</td>
<td></td>
</tr>
<tr>
<td>
type
</td>
<td>
//
input[@name='subfield_my_bar_category_title_list_1']
</td>
<td>
A
nother new f
oo
</td>
<td>
//
div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[1]//input
</td>
<td>
A
New F
oo
</td>
</tr>
<tr>
<td>
fireEvent
</td>
<td>
//
input[@name='subfield_my_bar_category_title_list_1']
</td>
<td>
//
div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[1]//input
</td>
<td>
input
</td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//div[@class='subfield_my_bar_category_title_list_1']/div/div/div/div/a[@class='ui-first-child ui-last-child ui-btn ui-corner-all ui-btn-inherit ui-btn-active ui-btn-icon-right ui-icon-delete']
</td>
<td>
//li[@name="Foo"]
<td></td>
</tr>
<tr>
<td>
fireEvent
</td>
<td>
//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[1]//input
</td>
<td>
blur
</td>
</tr>
<tr>
<td>
click
</td>
<td>
//li[@name="Foo"]
<td></td>
</tr>
<tr>
<td>
verifyText
</td>
<td>
//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[1]//div[@class="ui-tag-list ui-tag-list-inset"]//li
</td>
<td>
Create:Foo
</td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[2]
</td>
<td></td>
</tr>
<tr>
<td>
verifyElementPresent
</td>
<td>
//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[1]//a[contains(@class, "ui-icon-plus")]
</td>
<td></td>
</tr>
<tr>
<td>
type
</td>
<td>
//
input[@name='field_my_foo_category_title']
</td>
<td>
a1
</td>
<td>
//
div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[2]//input
</td>
<td>
Another Foo
</td>
</tr>
<tr>
<td>
fireEvent
</td>
<td>
//
input[@name='field_my_foo_category_title']
</td>
<td>
//
div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[2]//input
</td>
<td>
input
</td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//li[@
data-relative-url='portal_categories/foo_category/a/a1']
</td>
<td>
//li[@
name="Foo"]
<td></td>
</tr>
<tr>
<td>
fireEvent
</td>
<td>
//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[2]//input
</td>
<td>
blur
</td>
</tr>
<tr>
<td>
click
</td>
<td>
//li[@
data-relative-url='portal_categories/foo_category/a/a1']
</td>
<td>
//li[@
name="Foo"]
<td></td>
</tr>
<tr>
<td>
verifyText
</td>
<td>
//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[2]//div[@class="ui-tag-list ui-tag-list-inset"]//li
</td>
<td>
Create:Foo
</td>
</tr>
<tr>
<td>
verifyElementPresent
</td>
<td>
//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[2]//a[contains(@class, "ui-icon-plus")]
</td>
<td></td>
</tr>
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplateForRenderjsUi/macros/save"
/>
<tr>
<td>
verifyValue
</td>
<td>
//
input[@name='subfield_my_bar_category_title_list_0']
</td>
<td>
A new foo
</td>
<td>
waitForElementPresent
</td>
<td>
//
div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[1]//input
</td>
<td></td>
</tr>
<tr>
<td>
verifyValue
</td>
<td>
//
input[@name='subfield_my_bar_category_title_list_1']
</td>
<td>
A
nother new f
oo
</td>
<td>
//
div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[1]//input
</td>
<td>
A
New F
oo
</td>
</tr>
<tr>
<td>
verifyValue
</td>
<td>
//
input[@name='field_my_foo_category_title']
</td>
<td>
a1
</td>
<td>
//
div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[2]//input
</td>
<td>
Another Foo
</td>
</tr>
<!--
<tr>
<td>
click
</td>
<td>//div[@
class='subfield_my_bar_category_title_list_0']/a
</td>
<td>
//div[@
data-gadget-scope='field_my_bar_category_title_list']//fieldset[1]//a[contains(@class, "ui-icon-plane")]
</td>
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>//a[@data-i18n=
'Jump'
]</td>
<td>
//a[@data-i18n=
"Editable"
]
</td>
<td></td>
</tr>
<tr>
<td>verifyValue</td>
<td>//input[@name='field_my_title']</td>
<td>A new foo</td>
<td>
verifyText
</td>
<td>
//div[@data-gadget-scope="field_my_title"]//p
</td>
<td>
A New Foo
</td>
</tr>
<tr>
<td>
click
</td>
<td>
//a[@data-i18n="Foo: A New Foo"]
</td>
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[2]//a[contains(@class, "ui-icon-plane")]
</td>
<td></td>
</tr>
<tr>
<td>
click
</td>
<td>
//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[2]//a[contains(@class, "ui-icon-plane")]
</td>
<td></td>
</tr>
-->
<tr>
<td>
waitForElementPresent
</td>
<td>
//a[@data-i18n="Editable"]
</td>
<td></td>
</tr>
<tr>
<td>
verifyText
</td>
<td>
//div[@data-gadget-scope="field_my_title"]//p
</td>
<td>
Another Foo
</td>
</tr>
</tbody></table>
</body>
...
...
bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_zuite/relationfield_zuite/testMultiRelationFieldSearchWithListbox.xml
0 → 100644
View file @
cf7e940c
<?xml version="1.0"?>
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"ZopePageTemplate"
module=
"Products.PageTemplates.ZopePageTemplate"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
_bind_names
</string>
</key>
<value>
<object>
<klass>
<global
name=
"NameAssignments"
module=
"Shared.DC.Scripts.Bindings"
/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key>
<string>
_asgns
</string>
</key>
<value>
<dictionary>
<item>
<key>
<string>
name_subpath
</string>
</key>
<value>
<string>
traverse_subpath
</string>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key>
<string>
content_type
</string>
</key>
<value>
<string>
text/html
</string>
</value>
</item>
<item>
<key>
<string>
expand
</string>
</key>
<value>
<int>
0
</int>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
testMultiRelationFieldSearchWithListbox
</string>
</value>
</item>
<item>
<key>
<string>
output_encoding
</string>
</key>
<value>
<string>
utf-8
</string>
</value>
</item>
<item>
<key>
<string>
title
</string>
</key>
<value>
<unicode></unicode>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_zuite/relationfield_zuite/testMultiRelationFieldSearchWithListbox.zpt
0 → 100644
View file @
cf7e940c
<html
xmlns:tal=
"http://xml.zope.org/namespaces/tal"
xmlns:metal=
"http://xml.zope.org/namespaces/metal"
>
<head>
<meta
http-equiv=
"Content-Type"
content=
"text/html; charset=UTF-8"
>
<title>
Test RenderJS UI
</title>
</head>
<body>
<table
cellpadding=
"1"
cellspacing=
"1"
border=
"1"
>
<thead>
<tr><td
rowspan=
"1"
colspan=
"3"
>
Test RenderJS UI
</td></tr>
</thead><tbody>
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplate/macros/init"
/>
<!-- Clean Up -->
<tr>
<td>
open
</td>
<td>
${base_url}/foo_module/ListBoxZuite_reset
</td>
<td></td>
</tr>
<tr>
<td>
assertTextPresent
</td>
<td>
Reset Successfully.
</td>
<td></td>
</tr>
<!-- Initialize -->
<tr>
<td>
open
</td>
<td>
${base_url}/web_site_module/renderjs_runner/#/foo_module
</td>
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//a[@data-i18n='Add']
</td>
<td></td>
</tr>
<tr>
<td>
click
</td>
<td>
link=Add
</td>
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//button[@data-i18n='Proceed']
</td>
<td></td>
</tr>
<tr>
<td>
select
</td>
<td>
//select[@name='field_your_portal_type']
</td>
<td>
label=Foo
</td>
</tr>
<tr>
<td>
click
</td>
<td>
//button[@data-i18n='Proceed']
</td>
<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>
storeLocation
</td>
<td>
url
</td>
<td></td>
</tr>
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplate/macros/wait_for_activities"
/>
<tr>
<td>
open
</td>
<td>
${url}
</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>
<tr>
<td>
waitForElementPresent
</td>
<td>
//input[@name='field_my_foo_category_title']
</td>
<td></td>
</tr>
<tr>
<td>
type
</td>
<td>
//input[@name='field_my_foo_category_title']
</td>
<td>
a1
</td>
</tr>
<tr>
<td>
fireEvent
</td>
<td>
//input[@name='field_my_foo_category_title']
</td>
<td>
input
</td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//li[@data-relative-url='portal_categories/foo_category/a/a1']
</td>
<td></td>
</tr>
<tr>
<td>
fireEvent
</td>
<td>
//input[@name='field_my_foo_category_title']
</td>
<td>
blur
</td>
</tr>
<tr>
<td>
click
</td>
<td>
//li[@data-relative-url='portal_categories/foo_category/a/a1']
</td>
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[1]//input
</td>
<td></td>
</tr>
<tr>
<td>
type
</td>
<td>
//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[1]//input
</td>
<td>
A New Foo
</td>
</tr>
<tr>
<td>
fireEvent
</td>
<td>
//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[1]//input
</td>
<td>
input
</td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//li[@name="Foo"]
<td></td>
</tr>
<tr>
<td>
fireEvent
</td>
<td>
//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[1]//input
</td>
<td>
blur
</td>
</tr>
<tr>
<td>
click
</td>
<td>
//li[@name="Foo"]
<td></td>
</tr>
<tr>
<td>
verifyText
</td>
<td>
//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[1]//div[@class="ui-tag-list ui-tag-list-inset"]//li
</td>
<td>
Create:Foo
</td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[2]//input
</td>
<td></td>
</tr>
<tr>
<td>
verifyElementPresent
</td>
<td>
//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[2]//input
</td>
<td></td>
</tr>
<tr>
<td>
type
</td>
<td>
//input[@name="field_my_title"]
</td>
<td>
TEST
</td>
</tr>
<tr>
<td>
click
</td>
<td>
//input[@name="field_my_frozen"]
</td>
<td></td>
</tr>
<tr>
<td>
assertChecked
</td>
<td>
//input[@name="field_my_frozen"]
</td>
<td></td>
</tr>
<tr>
<td>
type
</td>
<td>
//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[2]//input
</td>
<td>
search
</td>
</tr>
<tr>
<td>
fireEvent
</td>
<td>
//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[2]//input
</td>
<td>
input
</td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//li[@data-explore="true"]
</td>
<td></td>
</tr>
<tr>
<td>
fireEvent
</td>
<td>
//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[2]//input
</td>
<td>
blur
</td>
</tr>
<tr>
<td>
click
</td>
<td>
//li[@data-explore="true"]
</td>
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//input[@name="search"]
</td>
<td></td>
</tr>
<tr>
<td>
type
</td>
<td>
//input[@name="search"]
</td>
<td></td>
</tr>
<tr>
<td>
click
</td>
<td>
//input[@class="search_button"]
</td>
<td></td>
</tr>
<tr>
<td>
waitForElementNotPresent
</td>
<td>
//a[@data-i18n="Previous"]
</td>
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//a[@data-i18n="Previous"]
</td>
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//tbody/tr[1]
</td>
<td></td>
</tr>
<tr>
<td>
click
</td>
<td>
//tbody/tr[1]//a
</td>
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//input[@name="field_my_title"]
</td>
<td></td>
</tr>
<tr>
<td>
verifyValue
</td>
<td>
//input[@name="field_my_title"]
</td>
<td>
TEST
</td>
</tr>
<tr>
<td>
assertChecked
</td>
<td>
//input[@name="field_my_frozen"]
</td>
<td></td>
</tr>
<tr>
<td>
verifyValue
</td>
<td>
//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[1]//input
</td>
<td>
A New Foo
</td>
</tr>
<tr>
<td>
verifyText
</td>
<td>
//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[1]//div[@class="ui-tag-list ui-tag-list-inset"]//li
</td>
<td>
Create:Foo
</td>
</tr>
<tr>
<td>
verifyValue
</td>
<td>
//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[2]//input
</td>
<td>
2
</td>
</tr>
<tr>
<td>
verifyElementPresent
</td>
<td>
//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[3]
</td>
<td></td>
</tr>
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplateForRenderjsUi/macros/save"
/>
</tbody></table>
</body>
</html>
\ No newline at end of file
bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_zuite/relationfield_zuite/testMultiRelationFieldUnknownIcon.xml
0 → 100644
View file @
cf7e940c
<?xml version="1.0"?>
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"ZopePageTemplate"
module=
"Products.PageTemplates.ZopePageTemplate"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
_bind_names
</string>
</key>
<value>
<object>
<klass>
<global
name=
"NameAssignments"
module=
"Shared.DC.Scripts.Bindings"
/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key>
<string>
_asgns
</string>
</key>
<value>
<dictionary>
<item>
<key>
<string>
name_subpath
</string>
</key>
<value>
<string>
traverse_subpath
</string>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key>
<string>
content_type
</string>
</key>
<value>
<string>
text/html
</string>
</value>
</item>
<item>
<key>
<string>
expand
</string>
</key>
<value>
<int>
0
</int>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
testMultiRelationFieldUnknownIcon
</string>
</value>
</item>
<item>
<key>
<string>
output_encoding
</string>
</key>
<value>
<string>
utf-8
</string>
</value>
</item>
<item>
<key>
<string>
title
</string>
</key>
<value>
<unicode></unicode>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_zuite/relationfield_zuite/testMultiRelationFieldUnknownIcon.zpt
0 → 100644
View file @
cf7e940c
<html
xmlns:tal=
"http://xml.zope.org/namespaces/tal"
xmlns:metal=
"http://xml.zope.org/namespaces/metal"
>
<head>
<meta
http-equiv=
"Content-Type"
content=
"text/html; charset=UTF-8"
>
<title>
Test RenderJS UI
</title>
</head>
<body>
<table
cellpadding=
"1"
cellspacing=
"1"
border=
"1"
>
<thead>
<tr><td
rowspan=
"1"
colspan=
"3"
>
Test RenderJS UI
</td></tr>
</thead><tbody>
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplate/macros/init"
/>
<!-- Clean Up -->
<tr>
<td>
open
</td>
<td>
${base_url}/foo_module/ListBoxZuite_reset
</td>
<td></td>
</tr>
<tr>
<td>
assertTextPresent
</td>
<td>
Reset Successfully.
</td>
<td></td>
</tr>
<!-- Initialize -->
<tr>
<td>
open
</td>
<td>
${base_url}/web_site_module/renderjs_runner/#/foo_module
</td>
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//a[@data-i18n='Add']
</td>
<td></td>
</tr>
<tr>
<td>
click
</td>
<td>
link=Add
</td>
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//button[@data-i18n='Proceed']
</td>
<td></td>
</tr>
<tr>
<td>
select
</td>
<td>
//select[@name='field_your_portal_type']
</td>
<td>
label=Foo
</td>
</tr>
<tr>
<td>
click
</td>
<td>
//button[@data-i18n='Proceed']
</td>
<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>
storeLocation
</td>
<td>
url
</td>
<td></td>
</tr>
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplate/macros/wait_for_activities"
/>
<tr>
<td>
open
</td>
<td>
${url}
</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>
<tr>
<td>
waitForElementPresent
</td>
<td>
//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[1]//input
</td>
<td></td>
</tr>
<tr>
<td>
type
</td>
<td>
//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[1]//input
</td>
<td>
unknowntext
</td>
</tr>
<tr>
<td>
fireEvent
</td>
<td>
//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[1]//input
</td>
<td>
input
</td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//li[@name="Foo"]
<td></td>
</tr>
<tr>
<td>
fireEvent
</td>
<td>
//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[1]//input
</td>
<td>
blur
</td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[2]//input
</td>
<td></td>
</tr>
<tr>
<td>
verifyElementPresent
</td>
<td>
//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[2]//input
</td>
<td></td>
</tr>
<tr>
<td>
type
</td>
<td>
//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[2]//input
</td>
<td>
search
</td>
</tr>
<tr>
<td>
fireEvent
</td>
<td>
//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[2]//input
</td>
<td>
input
</td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//li[@data-explore="true"]
</td>
<td></td>
</tr>
<tr>
<td>
fireEvent
</td>
<td>
//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[2]//input
</td>
<td>
blur
</td>
</tr>
<tr>
<td>
click
</td>
<td>
//li[@data-explore="true"]
</td>
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//input[@name="search"]
</td>
<td></td>
</tr>
<tr>
<td>
click
</td>
<td>
//h1[@class="ui-title"]//a
</td>
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[1]//a[contains(@class, "ui-icon-warning")]
</td>
<td></td>
</tr>
<tr>
<td>
verifyElementPresent
</td>
<td>
//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[1]//a[contains(@class, "ui-icon-warning")]
</td>
<td></td>
</tr>
</tbody></table>
</body>
</html>
\ No newline at end of file
bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_zuite/relationfield_zuite/testMultiRelationFieldWithNonSavedPageContent.xml
0 → 100644
View file @
cf7e940c
<?xml version="1.0"?>
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"ZopePageTemplate"
module=
"Products.PageTemplates.ZopePageTemplate"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
_bind_names
</string>
</key>
<value>
<object>
<klass>
<global
name=
"NameAssignments"
module=
"Shared.DC.Scripts.Bindings"
/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key>
<string>
_asgns
</string>
</key>
<value>
<dictionary>
<item>
<key>
<string>
name_subpath
</string>
</key>
<value>
<string>
traverse_subpath
</string>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key>
<string>
content_type
</string>
</key>
<value>
<string>
text/html
</string>
</value>
</item>
<item>
<key>
<string>
expand
</string>
</key>
<value>
<int>
0
</int>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
testMultiRelationFieldWithNonSavedPageContent
</string>
</value>
</item>
<item>
<key>
<string>
output_encoding
</string>
</key>
<value>
<string>
utf-8
</string>
</value>
</item>
<item>
<key>
<string>
title
</string>
</key>
<value>
<unicode></unicode>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_zuite/relationfield_zuite/testMultiRelationFieldWithNonSavedPageContent.zpt
0 → 100644
View file @
cf7e940c
<html
xmlns:tal=
"http://xml.zope.org/namespaces/tal"
xmlns:metal=
"http://xml.zope.org/namespaces/metal"
>
<head>
<meta
http-equiv=
"Content-Type"
content=
"text/html; charset=UTF-8"
>
<title>
Test RenderJS UI
</title>
</head>
<body>
<table
cellpadding=
"1"
cellspacing=
"1"
border=
"1"
>
<thead>
<tr><td
rowspan=
"1"
colspan=
"3"
>
Test RenderJS UI
</td></tr>
</thead><tbody>
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplate/macros/init"
/>
<!-- Clean Up -->
<tr>
<td>
open
</td>
<td>
${base_url}/foo_module/ListBoxZuite_reset
</td>
<td></td>
</tr>
<tr>
<td>
assertTextPresent
</td>
<td>
Reset Successfully.
</td>
<td></td>
</tr>
<!-- Initialize -->
<tr>
<td>
open
</td>
<td>
${base_url}/web_site_module/renderjs_runner/#/foo_module
</td>
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//a[@data-i18n='Add']
</td>
<td></td>
</tr>
<tr>
<td>
click
</td>
<td>
link=Add
</td>
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//button[@data-i18n='Proceed']
</td>
<td></td>
</tr>
<tr>
<td>
select
</td>
<td>
//select[@name='field_your_portal_type']
</td>
<td>
label=Foo
</td>
</tr>
<tr>
<td>
click
</td>
<td>
//button[@data-i18n='Proceed']
</td>
<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>
storeLocation
</td>
<td>
url
</td>
<td></td>
</tr>
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplate/macros/wait_for_activities"
/>
<tr>
<td>
open
</td>
<td>
${url}
</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>
<tr>
<td>
waitForElementPresent
</td>
<td>
//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[1]//input
</td>
<td></td>
</tr>
<tr>
<td>
type
</td>
<td>
//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[1]//input
</td>
<td>
A New Foo
</td>
</tr>
<tr>
<td>
fireEvent
</td>
<td>
//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[1]//input
</td>
<td>
input
</td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//li[@name="Foo"]
<td></td>
</tr>
<tr>
<td>
fireEvent
</td>
<td>
//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[1]//input
</td>
<td>
blur
</td>
</tr>
<tr>
<td>
click
</td>
<td>
//li[@name="Foo"]
<td></td>
</tr>
<tr>
<td>
verifyText
</td>
<td>
//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[1]//div[@class="ui-tag-list ui-tag-list-inset"]//li
</td>
<td>
Create:Foo
</td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[2]//input
</td>
<td></td>
</tr>
<tr>
<td>
verifyElementPresent
</td>
<td>
//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[2]//input
</td>
<td></td>
</tr>
<tr>
<td>
type
</td>
<td>
//input[@name="field_my_title"]
</td>
<td>
TEST
</td>
</tr>
<tr>
<td>
type
</td>
<td>
//input[@name="field_my_foo_line_foo_category_title"]
</td>
<td>
TEST1
</td>
</tr>
<tr>
<td>
fireEvent
</td>
<td>
//input[@name="field_my_foo_line_foo_category_title"]
</td>
<td>
input
</td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//li[@name='Category']
</td>
<td></td>
</tr>
<tr>
<td>
fireEvent
</td>
<td>
//input[@name="field_my_foo_line_foo_category_title"]
</td>
<td>
blur
</td>
</tr>
<tr>
<td>
click
</td>
<td>
//li[@name='Category']
</td>
<td></td>
</tr>
<tr>
<td>
waitForTextPresent
</td>
<td>
Create:Category
</td>
<td></td>
</tr>
<tr>
<td>
click
</td>
<td>
//input[@name="field_my_frozen"]
</td>
<td></td>
</tr>
<tr>
<td>
assertChecked
</td>
<td>
//input[@name="field_my_frozen"]
</td>
<td></td>
</tr>
<tr>
<td>
type
</td>
<td>
//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[2]//input
</td>
<td>
search
</td>
</tr>
<tr>
<td>
fireEvent
</td>
<td>
//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[2]//input
</td>
<td>
input
</td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//li[@data-explore="true"]
</td>
<td></td>
</tr>
<tr>
<td>
fireEvent
</td>
<td>
//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[2]//input
</td>
<td>
blur
</td>
</tr>
<tr>
<td>
click
</td>
<td>
//li[@data-explore="true"]
</td>
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//input[@name="search"]
</td>
<td></td>
</tr>
<tr>
<td>
click
</td>
<td>
//h1[@class="ui-title"]//a
</td>
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//input[@name="field_my_title"]
</td>
<td></td>
</tr>
<tr>
<td>
verifyValue
</td>
<td>
//input[@name="field_my_title"]
</td>
<td>
TEST
</td>
</tr>
<tr>
<td>
verifyValue
</td>
<td>
//input[@name="field_my_foo_line_foo_category_title"]
</td>
<td>
TEST1
</td>
</tr>
<tr>
<td>
verifyTextPresent
</td>
<td>
Create:Category
</td>
<td></td>
</tr>
<tr>
<td>
assertChecked
</td>
<td>
//input[@name="field_my_frozen"]
</td>
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[1]//input
</td>
<td></td>
</tr>
<tr>
<td>
verifyValue
</td>
<td>
//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[1]//input
</td>
<td>
A New Foo
</td>
</tr>
<tr>
<td>
verifyText
</td>
<td>
//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[1]//div[@class="ui-tag-list ui-tag-list-inset"]//li
</td>
<td>
Create:Foo
</td>
</tr>
<tr>
<td>
verifyValue
</td>
<td>
//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[2]//input
</td>
<td>
search
</td>
</tr>
<tr>
<td>
verifyElementNotPresent
</td>
<td>
//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[3]
</td>
<td></td>
</tr>
<tr>
<td>
fireEvent
</td>
<td>
//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[2]//input
</td>
<td>
input
</td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//li[@data-explore="true"]
</td>
<td></td>
</tr>
<tr>
<td>
fireEvent
</td>
<td>
//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[2]//input
</td>
<td>
blur
</td>
</tr>
<tr>
<td>
click
</td>
<td>
//li[@data-explore="true"]
</td>
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//input[@name="search"]
</td>
<td></td>
</tr>
<tr>
<td>
click
</td>
<td>
//a[@data-i18n="Modules"]
</td>
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//a[@data-i18n="Foos"]
</td>
<td></td>
</tr>
<tr>
<td>
click
</td>
<td>
//a[@data-i18n="Foos"]
</td>
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//tbody/tr[1]/th/a
</td>
<td></td>
</tr>
<tr>
<td>
click
</td>
<td>
//tbody/tr[1]/th/a
</td>
<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>
<tr>
<td>
waitForElementPresent
</td>
<td>
//a[@data-i18n='Actions']
</td>
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//a[@data-i18n='Editable']
</td>
<td></td>
</tr>
<tr>
<td>
click
</td>
<td>
//a[@data-i18n='Editable']
</td>
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//input[@name="field_my_title"]
</td>
<td></td>
</tr>
<tr>
<td>
verifyNotValue
</td>
<td>
//input[@name="field_my_title"]
</td>
<td>
TEST
</td>
</tr>
<tr>
<td>
verifyNotValue
</td>
<td>
//input[@name="field_my_foo_line_foo_category_title"]
</td>
<td>
TEST1
</td>
</tr>
<tr>
<td>
verifyTextNotPresent
</td>
<td>
Create:Category
</td>
<td></td>
</tr>
<tr>
<td>
assertNotChecked
</td>
<td>
//input[@name="field_my_frozen"]
</td>
<td></td>
</tr>
<tr>
<td>
verifyNotValue
</td>
<td>
//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[1]//input
</td>
<td>
A New Foo
</td>
</tr>
<tr>
<td>
verifyElementNotPresent
</td>
<td>
//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[1]//div[@class="ui-tag-list ui-tag-list-inset"]//li
</td>
<td></td>
</tr>
<tr>
<td>
verifyElementNotPresent
</td>
<td>
//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[2]
</td>
<td></td>
</tr>
</tbody></table>
</body>
</html>
\ No newline at end of file
bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_zuite/relationfield_zuite/testProxyListBox.xml
0 → 100644
View file @
cf7e940c
<?xml version="1.0"?>
<ZopeData>
<record
id=
"1"
aka=
"AAAAAAAAAAE="
>
<pickle>
<global
name=
"ZopePageTemplate"
module=
"Products.PageTemplates.ZopePageTemplate"
/>
</pickle>
<pickle>
<dictionary>
<item>
<key>
<string>
_bind_names
</string>
</key>
<value>
<object>
<klass>
<global
name=
"NameAssignments"
module=
"Shared.DC.Scripts.Bindings"
/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key>
<string>
_asgns
</string>
</key>
<value>
<dictionary>
<item>
<key>
<string>
name_subpath
</string>
</key>
<value>
<string>
traverse_subpath
</string>
</value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key>
<string>
content_type
</string>
</key>
<value>
<string>
text/html
</string>
</value>
</item>
<item>
<key>
<string>
expand
</string>
</key>
<value>
<int>
0
</int>
</value>
</item>
<item>
<key>
<string>
id
</string>
</key>
<value>
<string>
testProxyListBox
</string>
</value>
</item>
<item>
<key>
<string>
output_encoding
</string>
</key>
<value>
<string>
utf-8
</string>
</value>
</item>
<item>
<key>
<string>
title
</string>
</key>
<value>
<unicode></unicode>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_zuite/relationfield_zuite/testProxyListBox.zpt
0 → 100644
View file @
cf7e940c
<html
xmlns:tal=
"http://xml.zope.org/namespaces/tal"
xmlns:metal=
"http://xml.zope.org/namespaces/metal"
>
<head>
<meta
http-equiv=
"Content-Type"
content=
"text/html; charset=UTF-8"
>
<title>
Test RenderJS UI
</title>
</head>
<body>
<table
cellpadding=
"1"
cellspacing=
"1"
border=
"1"
>
<thead>
<tr><td
rowspan=
"1"
colspan=
"3"
>
Test RenderJS UI
</td></tr>
</thead><tbody>
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplate/macros/init"
/>
<!-- Clean Up -->
<tr>
<td>
open
</td>
<td>
${base_url}/foo_module/ListBoxZuite_reset
</td>
<td></td>
</tr>
<tr>
<td>
assertTextPresent
</td>
<td>
Reset Successfully.
</td>
<td></td>
</tr>
<tr>
<td>
open
</td>
<td>
${base_url}/web_site_module/renderjs_runner/#/foo_module
</td>
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//a[@data-i18n='Add']
</td>
<td></td>
</tr>
<tr>
<td>
click
</td>
<td>
link=Add
</td>
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//button[@data-i18n='Proceed']
</td>
<td></td>
</tr>
<tr>
<td>
select
</td>
<td>
//select[@name='field_your_portal_type']
</td>
<td>
label=Foo
</td>
</tr>
<tr>
<td>
click
</td>
<td>
//button[@data-i18n='Proceed']
</td>
<td></td>
</tr>
<tr>
<td>
waitForTextPresent
</td>
<td>
Save
</td>
<td></td>
</tr>
<tr>
<td>
assertTextPresent
</td>
<td>
Quantity
</td>
<td></td>
</tr>
<tr>
<td>
click
</td>
<td>
link=Add
</td>
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//button[@data-i18n='Proceed']
</td>
<td></td>
</tr>
<tr>
<td>
select
</td>
<td>
//select[@name='field_your_portal_type']
</td>
<td>
label=Foo Line
</td>
</tr>
<tr>
<td>
click
</td>
<td>
//button[@data-i18n='Proceed']
</td>
<td></td>
</tr>
<tr>
<td>
waitForTextPresent
</td>
<td>
Save
</td>
<td></td>
</tr>
<tr>
<td>
click
</td>
<td>
//h1[@class="ui-title"]/a
</td>
<td></td>
</tr>
<tr>
<td>
waitForTextPresent
</td>
<td>
Foo Category
</td>
<td></td>
</tr>
<tr>
<td>
click
</td>
<td>
link=Add
</td>
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//button[@data-i18n='Proceed']
</td>
<td></td>
</tr>
<tr>
<td>
select
</td>
<td>
//select[@name='field_your_portal_type']
</td>
<td>
label=Foo Line
</td>
</tr>
<tr>
<td>
click
</td>
<td>
//button[@data-i18n='Proceed']
</td>
<td></td>
</tr>
<tr>
<td>
waitForTextPresent
</td>
<td>
Save
</td>
<td></td>
</tr>
<tr>
<td>
storeLocation
</td>
<td>
url
</td>
<td></td>
</tr>
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplate/macros/wait_for_activities"
/>
<tr>
<td>
open
</td>
<td>
${url}
</td>
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//h1[@class="ui-title"]/a
</td>
<td></td>
</tr>
<tr>
<td>
click
</td>
<td>
//h1[@class="ui-title"]/a
</td>
<td></td>
</tr>
<tr>
<td>
waitForTextPresent
</td>
<td>
Foo Category
</td>
<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>
<tr>
<td>
waitForElementPresent
</td>
<td>
//input[@name='field_my_bar_category_title_list']
</td>
<td></td>
</tr>
<tr>
<td>
type
</td>
<td>
//input[@name='field_my_bar_category_title_list']
</td>
<td>
search
</td>
</tr>
<tr>
<td>
fireEvent
</td>
<td>
//input[@name='field_my_bar_category_title_list']
</td>
<td>
input
</td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//li[@data-explore="true"]
</td>
<td></td>
</tr>
<tr>
<td>
fireEvent
</td>
<td>
//input[@name='field_my_bar_category_title_list']
</td>
<td>
blur
</td>
</tr>
<tr>
<td>
click
</td>
<td>
//li[@data-explore="true"]
</td>
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//input[@name="search"]
</td>
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//th[@data-i18n="Title"]
</td>
<td></td>
</tr>
<tr>
<td>
verifyElementPresent
</td>
<td>
//th[@data-i18n="Title"]
</td>
<td></td>
</tr>
<tr>
<td>
verifyElementPresent
</td>
<td>
//th[@data-i18n="Quantity"]
</td>
<td></td>
</tr>
<tr>
<td>
click
</td>
<td>
//h1[@class="ui-title"]//a
</td>
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//input[@name="field_my_bar_category_id_list"]
</td>
<td></td>
</tr>
<tr>
<td>
type
</td>
<td>
//input[@name="field_my_bar_category_id_list"]
</td>
<td>
search
</td>
</tr>
<tr>
<td>
fireEvent
</td>
<td>
//input[@name='field_my_bar_category_id_list']
</td>
<td>
input
</td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//li[@data-explore="true"]
</td>
<td></td>
</tr>
<tr>
<td>
fireEvent
</td>
<td>
//input[@name='field_my_bar_category_id_list']
</td>
<td>
blur
</td>
</tr>
<tr>
<td>
click
</td>
<td>
//li[@data-explore="true"]
</td>
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//input[@name="search"]
</td>
<td></td>
</tr>
<tr>
<td>
verifyTextPresent
</td>
<td>
Select Template
</td>
<td></td>
</tr>
<tr>
<td>
type
</td>
<td>
//input[@name="search"]
</td>
<td></td>
</tr>
<tr>
<td>
click
</td>
<td>
//input[@class="search_button"]
</td>
<td></td>
</tr>
<tr>
<td>
waitForElementNotPresent
</td>
<td>
//a[@data-i18n="Previous"]
</td>
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//a[@data-i18n="Previous"]
</td>
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//tbody//tr[1]
</td>
<td></td>
</tr>
<tr>
<td>
verifyElementPresent
</td>
<td>
//tbody//tr[1]
</td>
<td></td>
</tr>
<tr>
<td>
verifyElementPresent
</td>
<td>
//tbody//tr[2]
</td>
<td></td>
</tr>
<tr>
<td>
verifyElementPresent
</td>
<td>
//tbody//tr[3]
</td>
<td></td>
</tr>
<tr>
<td>
select
</td>
<td>
//select
</td>
<td>
index=1
</td>
</tr>
<tr>
<td>
waitForElementNotPresent
</td>
<td>
//a[@data-i18n="Previous"]
</td>
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//a[@data-i18n="Previous"]
</td>
<td></td>
</tr>
<tr>
<td>
verifyValue
</td>
<td>
//select
</td>
<td>
Foo Listbox
</td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//tbody//tr[1]
</td>
<td></td>
</tr>
<tr>
<td>
verifyElementPresent
</td>
<td>
//tbody//tr[1]
</td>
<td></td>
</tr>
<tr>
<td>
verifyElementNotPresent
</td>
<td>
//tbody//tr[2]
</td>
<td></td>
</tr>
<tr>
<td>
select
</td>
<td>
//select
</td>
<td>
index=2
</td>
</tr>
<tr>
<td>
waitForElementNotPresent
</td>
<td>
//a[@data-i18n="Previous"]
</td>
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//a[@data-i18n="Previous"]
</td>
<td></td>
</tr>
<tr>
<td>
verifyValue
</td>
<td>
//select
</td>
<td>
Foo Line Listbox
</td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//tbody//tr[1]
</td>
<td></td>
</tr>
<tr>
<td>
verifyElementPresent
</td>
<td>
//tbody//tr[1]
</td>
<td></td>
</tr>
<tr>
<td>
verifyElementPresent
</td>
<td>
//tbody//tr[2]
</td>
<td></td>
</tr>
<tr>
<td>
verifyElementNotPresent
</td>
<td>
//tbody//tr[3]
</td>
<td></td>
</tr>
<tr>
<td>
type
</td>
<td>
//input[@name="search"]
</td>
<td>
id:2
</td>
</tr>
<tr>
<td>
click
</td>
<td>
//input[@class="search_button"]
</td>
<td></td>
</tr>
<tr>
<td>
waitForElementNotPresent
</td>
<td>
//a[@data-i18n="Previous"]
</td>
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//a[@data-i18n="Previous"]
</td>
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//tbody//tr[1]
</td>
<td></td>
</tr>
<tr>
<td>
verifyElementPresent
</td>
<td>
//tbody//tr[1]
</td>
<td></td>
</tr>
<tr>
<td>
verifyElementNotPresent
</td>
<td>
//tbody//tr[2]
</td>
<td></td>
</tr>
</tbody></table>
</body>
</html>
\ No newline at end of file
bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_zuite/relationfield_zuite/testSimpleMultiRelationField.zpt
View file @
cf7e940c
...
...
@@ -88,170 +88,198 @@
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//
div[@data-gadget-scope='field_my_bar_category_title_list'
]
</td>
<td>
//
input[@name="field_my_title"
]
</td>
<td></td>
</tr>
<tr>
<td>
type
</td>
<td>
//input[@name=
'subfield_my_bar_category_title_list_0'
]
</td>
<td>
T
itle 0
</td>
<td>
//input[@name=
"field_my_title"
]
</td>
<td>
T
EST
</td>
</tr>
<tr>
<td>
fireEvent
</td>
<td>
//input[@name='subfield_my_bar_category_title_list_0']
</td>
<td>
input
</td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//div[@class='subfield_my_bar_category_title_list_0']/div/div/div/div/a[@class='ui-first-child ui-last-child ui-btn ui-corner-all ui-btn-inherit ui-btn-active ui-btn-icon-right ui-icon-delete']
</td>
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//input[@name='subfield_my_bar_category_title_list_1']
</td>
<td>
Title 1
</td>
</tr>
<tr>
<td>
type
</td>
<td>
//input[@name='
subfield_my_bar_category_title_list_1
']
</td>
<td>
Title
1
</td>
<td>
//input[@name='
field_my_foo_category_title
']
</td>
<td>
a
1
</td>
</tr>
<tr>
<td>
fireEvent
</td>
<td>
//input[@name='
subfield_my_bar_category_title_list_1
']
</td>
<td>
//input[@name='
field_my_foo_category_title
']
</td>
<td>
input
</td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//
div[@class='subfield_my_bar_category_title_list_1']/div/div/div/div/a[@class='ui-first-child ui-last-child ui-btn ui-corner-all ui-btn-inherit ui-btn-active ui-btn-icon-right ui-icon-delete
']
</td>
<td>
//
li[@data-relative-url='portal_categories/foo_category/a/a1
']
</td>
<td></td>
</tr>
<tr>
<td>
type
</td>
<td>
//input[@name='field_my_foo_category_title']
</td>
<td>
a1
</td>
</tr>
<tr>
<td>
fireEvent
</td>
<td>
//input[@name='field_my_foo_category_title']
</td>
<td>
input
</td>
<td>
blur
</td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
click
</td>
<td>
//li[@data-relative-url='portal_categories/foo_category/a/a1']
</td>
<td></td>
</tr>
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplateForRenderjsUi/macros/save"
/>
<tr>
<td>
click
</td>
<td>
//li[@data-relative-url='portal_categories/foo_category/a/a1']
</td>
<td>
storeLocation
</td>
<td>
url
</td>
<td></td>
</tr>
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplateForRenderjsUi/macros/save"
/>
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplate/macros/wait_for_activities"
/>
<tr>
<td>
click
</td>
<td>
//a[@data-i18n='Views']
</td>
<td>
open
</td>
<td>
${url}
</td>
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//
a[@data-i18n='Relation Fields
']
</td>
<td>
//
div[@data-gadget-scope='field_my_bar_category_title_list
']
</td>
<td></td>
</tr>
<tr>
<td>
click
</td>
<td>
//a[@data-i18n='Relation Fields']
</td>
<td></td>
<td>
type
</td>
<td>
//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[1]//input
</td>
<td>
TEST
</td>
</tr>
<tr>
<td>
fireEvent
</td>
<td>
//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[1]//input
</td>
<td>
input
</td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//
div[@data-gadget-scope='field_my_bar_category_title_list']
</td>
<td>
//
li[@data-relative-url="foo_module/2"]
<td></td>
</tr>
<tr>
<td>
verifyValue
</td>
<td>
//
input[@name='field_my_foo_category_title']
</td>
<td>
a1
</td>
<td>
fireEvent
</td>
<td>
//
div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[1]//input
</td>
<td>
blur
</td>
</tr>
<tr>
<td>
verifyValue
</td>
<td>
//
input[@name='subfield_my_bar_category_title_list_0']
</td>
<td>
Title 0
</td>
<td>
click
</td>
<td>
//
li[@data-relative-url="foo_module/2"]
<td></td>
</tr>
<tr>
<td>
verifyValue
</td>
<td>
//
input[@name='subfield_my_bar_category_title_list_1'
]
</td>
<td>
Title 1
</td>
<td>
waitForElementPresent
</td>
<td>
//
div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[2
]
</td>
<td></td>
</tr>
<tr>
<td>
type
</td>
<td>
//
input[@name='subfield_my_bar_category_title_list_0']
</td>
<td>
T
itle 0
</td>
<td>
//
div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[2]//input
</td>
<td>
T
EST
</td>
</tr>
<tr>
<td>
fireEvent
</td>
<td>
//
input[@name='subfield_my_bar_category_title_list_0']
</td>
<td>
//
div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[2]//input
</td>
<td>
input
</td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>
//div[@class='subfield_my_bar_category_title_list_1']/a[@class='ui-btn ui-corner-all ui-btn-icon-notext ui-icon-plane ui-shadow-inset ui-btn-inline']
</td>
<td>
//li[@data-relative-url="foo_module/2"]
<td></td>
</tr>
<tr>
<td>
fireEvent
</td>
<td>
//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[2]//input
</td>
<td>
blur
</td>
</tr>
<tr>
<td>
click
</td>
<td>
//li[@data-relative-url="foo_module/2"]
<td></td>
</tr>
<tal:block
metal:use-macro=
"here/Zuite_CommonTemplateForRenderjsUi/macros/save"
/>
<tr>
<td>
verifyElementPresent
</td>
<td>
//
div[@class='subfield_my_bar_category_title_list_1']/a[@class='ui-btn ui-corner-all ui-btn-icon-notext ui-icon-plane ui-shadow-inset ui-btn-inline
']
</td>
<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>//
div[@class='subfield_my_bar_category_title_list_0']/a
</td>
<td>
//
a[@data-i18n='Relation Fields']
</td>
<td></td>
</tr>
<tr>
<td>
waitForElementPresent
</td>
<td>//
a[@data-i18n='Jump']
</td>
<td>
//
div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[1]//input
</td>
<td></td>
</tr>
<tr>
<td>
verifyValue
</td>
<td>
//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[1]//input
</td>
<td>
TEST
</td>
</tr>
<tr>
<td>
verifyValue
</td>
<td>//
input[@name='field_my_title']
</td>
<td>
A new foo
</td>
<td>
//
div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[2]//input
</td>
<td>
TEST
</td>
</tr>
-->
</tbody></table>
</body>
...
...
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