Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
jenkins
提交
259a8817
J
jenkins
项目概览
xxadev
/
jenkins
与 Fork 源项目一致
从无法访问的项目Fork
通知
3
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
J
jenkins
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
259a8817
编写于
7月 29, 2011
作者:
K
Kohsuke Kawaguchi
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
I think this is simpler.
上级
353bbfa5
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
9 addition
and
21 deletion
+9
-21
ui-samples-plugin/src/main/resources/jenkins/plugins/ui_samples/ModularizeViewScript/index.groovy
...kins/plugins/ui_samples/ModularizeViewScript/index.groovy
+9
-21
未找到文件。
ui-samples-plugin/src/main/resources/jenkins/plugins/ui_samples/ModularizeViewScript/index.groovy
浏览文件 @
259a8817
...
...
@@ -20,39 +20,27 @@ namespace("/lib/samples").sample(title:_("Define View Fragments Elsewhere")) {
// I defined this class here just to make the sample concise.
// this class can be defined anywhere, and typically you'd do this somewhere in your src/main/groovy
static
class
SomeGenerator
{
JellyBuilder
b
uilder
;
JellyBuilder
b
;
FormTagLib
f
;
SomeGenerator
(
JellyBuilder
builder
)
{
this
.
b
uilder
=
builder
this
.
b
=
builder
f
=
builder
.
namespace
(
FormTagLib
.
class
)
}
// this wrapper makes it so that we don't have to explicitly call with "builder."
// the 'with' method in GDK doesn't work nicely because it does DELEGATE_FIRST resolution,
// and you can accidentally pick up variables defined in the ancestor JellyContexts.
def
generate
(
Closure
closure
)
{
closure
=
closure
.
clone
();
closure
.
delegate
=
builder
;
return
closure
.
call
();
}
def
generateSomeFragment
()
{
generate
{
h2
(
"Two"
)
// this call is a shorthand for builder.h2("Two")
b
.
h2
(
"Two"
)
b
.
div
(
style:
"background-color:gray; padding:2em"
)
{
p
(
"Hello"
)
// once inside a closure, no explicit 'b.' reference is needed. this is just like other Groovy builders
div
(
style:
"background-color:gray; padding:2em"
)
{
// calling other methods
generateMoreFragment
(
"Testing generation"
);
}
// calling other methods
generateMoreFragment
(
"Testing generation"
);
}
}
def
generateMoreFragment
(
String
msg
)
{
generate
{
h2
(
msg
);
f
.
textarea
();
}
b
.
h2
(
msg
);
f
.
textarea
();
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录