! function (e) {
e.widget("mgn.win8menu", {
options: {
page: 1,
defaultpage: 1,
callid: "",
local: ""
},
_create: function () {
this.options.page = void 0 !== localStorage['win8page'+this.options.local] ? localStorage['win8page'+this.options.local] : this.options.defaultpage;
var a = this.element;
a.empty(), a.addClass("demo-wrapper win8menu");
var t = e('
');
t.appendTo(a);
var i = e(''),
n = e('');
n.appendTo(i);
var d = e('');
d.appendTo(i), i.appendTo(t);
var s = e('');
s.appendTo(t);
var o = e(''),
l = e(''),
p = e('');
o.appendTo(s), l.appendTo(s), p.appendTo(s), this._render()
},
data_handler: function (a) {
var t = this.element.find(".col1"),
i = this.element.find(".col2"),
n = this.element.find(".col3");
t.hide(1), i.hide(1), n.hide(1), t.empty(), i.empty(), n.empty();
var d = this.element.find(".menu-head-title"),
s = this.element.find(".menu-breadcrumbs");
d.hide(1), s.hide(1);
a = JSON.parse(a), d.html(a.title);
var o = a.breadcrumbs;
s.empty();
for (var l = 0; l < o.length; l++) {
var p = o[l],
r = e("");
r.html(p.name), "0" === p.active ? (r.addClass("menu-breadcrumb-active"), r.attr("pageid", p.navigate), r.attr("owner", e(this.element).attr("id")), r.click(function () {
e("#" + e(this).attr("owner")).win8menu("getData", e(this).attr("pageid"))
})) : r.addClass("menu-breadcrumb-inactive"), r.appendTo(s), l < o.length - 1 && e('').appendTo(s)
}
e("
").appendTo(s), a = a.content;
for (var c = 0; c < a.length; c++) {
var r = e(''),
v = a[c];
if (r.addClass(v.size), r.addClass(v.style), r.addClass(v.animation), "1" === v.keep_row && r.addClass("last"), v.animation.indexOf("rotate3d") >= 0) {
var h = e(''),
m = e(''),
u = e('');
m.appendTo(h), u.appendTo(h), h.appendTo(r), e(v.first).appendTo(m), e(v.second).appendTo(u)
} else {
var m = e(""),
u = e("");
m.appendTo(r), u.appendTo(r), e(v.first).appendTo(m), e(v.second).appendTo(u)
}
"submenu" == v.type ? (r.attr("pageid", v.id), r.attr("owner", e(this.element).attr("id")), r.click(function () {
e("#" + e(this).attr("owner")).win8menu("getData", e(this).attr("pageid"))
})) : (r.attr("url", v.url), r.click(function () {
window.location.href = e(this).attr("url")
})), r.appendTo(1 == v.column ? t : 2 == v.column ? i : n)
}
t.fadeIn("slow"), i.fadeIn("slow"), n.fadeIn("slow"), d.fadeIn("slow"), s.fadeIn("slow")
},
getData: function (e) {
this.setOption("page", e), localStorage['win8page'+this.options.local] = e, ajax_callid = this.options.callid;
var a = {
p_request: "NATIVE=" + ajax_callid,
p_flow_id: $v("pFlowId"),
p_flow_step_id: $v("pFlowStepId"),
p_instance: $v("pInstance"),
x01: e
};
apex.jQuery.ajax({
mode: "abort",
port: "ajax_port_win8menu",
url: "wwv_flow.show",
data: a,
success: this.data_handler,
context: this
})
},
_render: function () {
this.getData(this.options.page)
},
setOption: function (e, a) {
return void 0 != a ? (this.options[e] = a, "page" == e && (localStorage['win8page'+this.options.local] = a), this) : this.options[e]
}
})
}(jQuery);