var thisWidget, $table; function getHeight() { return $(window).height() - 50 } function initWidgetView(a) { thisWidget = a, $("#btn_bookmark_Add").bind("click", function() { saveBookmark() }), ($table = $("#table")).bootstrapTable({ height: getHeight(), singleSelect: !0, pagination: !1, pageSize: 6, iconsPrefix: "fa", showHeader: !1, columns: [{ title: "", sortable: !0, editable: !1, align: "center", events: { "click .remove": function(a, t, o, r) { delBookMark(o.id) } }, formatter: function(a, t, o) { return '
' ) } }], onClickRow: function(a, t, o) { a = a.data; thisWidget.showExtent(a) } }), $(window).resize(function() { $table.bootstrapTable("refreshOptions", { height: getHeight() }) }), initBookMarkList() } var storageName = "mars3d_bookmark", arrBookmark = []; function initBookMarkList() { var lastcookie; window.parent.hasServer ? parent.sendAjax({ url: "v1/map/bookmark/list", type: "get", dataType: "json", contentType: "application/x-www-form-urlencoded", success: function(a) { for (var t = [], o = 0; o < a.length; o++) { var r = a[o]; r && t.push({ name: r.name, data: JSON.parse(r.center), id: r.id }) } showListData(arrBookmark = t) }, error: function(a, t, o) { alert("服务出错:" + a.statusText + ",代码 " + a.status) } }) : (lastcookie = haoutil.storage.get(storageName), null != lastcookie && (arrBookmark = eval(lastcookie)), null != arrBookmark && 0 != arrBookmark.length || (arrBookmark = []), showListData(arrBookmark)) } function saveBookmark() { null == arrBookmark && (arrBookmark = []); var o = $.trim($("#txt_bookmark_name").val()).replace("'", "").replace('"', ""); if (0 != o.length) { for (var a = arrBookmark.length - 1; 0 <= a; a--) if (arrBookmark[a].name == o) return void toastr.info("该名称已存在,请更换!"); thisWidget.getThisExtent(function(a, t) { arrBookmark.insert({ name: o, data: a, icon: t, id: (new Date).getTime() }, 0), window.parent.hasServer ? parent.sendAjax({ url: "v1/map/bookmark/add", data: JSON.stringify({ name: o, center: JSON.stringify(a) }), type: "post", dataType: "json", contentType: "application/json", success: function(a) { $("#txt_bookmark_name").val(""), initBookMarkList() } }) : (a = JSON.stringify(arrBookmark), haoutil.storage.add(storageName, a), $( "#txt_bookmark_name").val(""), initBookMarkList()) }) } else toastr.warning("请输入名称") } function delBookMark(o) { if (window.parent.hasServer) parent.sendAjax({ url: "v1/map/bookmark/" + o, type: "delete", dataType: "json", contentType: "application/json", success: function(a) { for (var t = arrBookmark.length - 1; 0 <= t; t--) if (arrBookmark[t].id == o) { arrBookmark.splice(t, 1), showListData(arrBookmark); break } } }); else for (var a = arrBookmark.length - 1; 0 <= a; a--) if (arrBookmark[a].id == o) { arrBookmark.splice(a, 1); var t = JSON.stringify(arrBookmark); haoutil.storage.add(storageName, t), showListData(arrBookmark); break } } function showListData(a) { var t = $table.bootstrapTable("getScrollPosition"); $table.bootstrapTable("load", a), $table.bootstrapTable("scrollTo", t) }