gateway: 입구의 지도를 iframe으로 변경
This commit is contained in:
@@ -0,0 +1,57 @@
|
||||
<?php
|
||||
|
||||
namespace sammo;
|
||||
|
||||
include "lib.php";
|
||||
include "func.php";
|
||||
|
||||
?>
|
||||
<!DOCTYPE html>
|
||||
<html lang="ko">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>최근 지도</title>
|
||||
<?= WebUtil::printJS('../d_shared/common_path.js') ?>
|
||||
<script>
|
||||
var serverNick = '<?= $runningServer['korName'] ?>';
|
||||
</script>
|
||||
<?= WebUtil::printJS('js/vendors.js') ?>
|
||||
<?= WebUtil::printJS('d_shared/base_map.js') ?>
|
||||
<?= WebUtil::printJS('js/recent_map.js') ?>
|
||||
|
||||
<?= WebUtil::printCSS('../d_shared/common.css') ?>
|
||||
<?= WebUtil::printCSS('../e_lib/bootstrap.min.css') ?>
|
||||
<?= WebUtil::printCSS('css/common.css') ?>
|
||||
<?= WebUtil::printCSS('css/map.css') ?>
|
||||
<style>
|
||||
html {
|
||||
width: 700px;
|
||||
}
|
||||
|
||||
body {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
overflow: hidden;
|
||||
width: 700px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="card" style="width:700px;">
|
||||
<h3 class="card-header">
|
||||
<?= UniqueConst::$serverName ?> 현황
|
||||
</h3>
|
||||
<div class='map-container' style='position:relative;'>
|
||||
<?= getMapHtml($mapTheme) ?>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
+9
-9
@@ -1,5 +1,5 @@
|
||||
import axios from 'axios';
|
||||
import jQuery from 'jquery';
|
||||
import $ from 'jquery';
|
||||
import { extend, isNumber } from 'lodash';
|
||||
import { convColorValue, convertDictById, convertSet } from './common_legacy';
|
||||
import { InvalidResponse } from './defs';
|
||||
@@ -110,7 +110,7 @@ function is_touch_device(): boolean {
|
||||
type loadMapOption = {
|
||||
isDetailMap?: boolean, //복잡 지도, 단순 지도
|
||||
clickableAll?: boolean, //어떤 경우든 클릭을 가능하게 함. 해당 동작의 동작 가능성 여부와는 별도.
|
||||
selectCallback?: (city: MapCityParsed) => void, //callback을 지정시 clickable과 관계 없이 해당 함수를 실행.
|
||||
selectCallback?: (city: MapCityParsed) => void, //callback을 지정시 clickable과 관계 없이 해당 함수를 실행.
|
||||
hrefTemplate?: string, //도시가 클릭가능할 경우 지정할 href값. {0}은 도시 id로 변환됨
|
||||
useCachedMap?: boolean, //맵 캐시를 사용
|
||||
|
||||
@@ -124,14 +124,14 @@ type loadMapOption = {
|
||||
targetJson?: string,
|
||||
reqType?: 'get' | 'post',
|
||||
dynamicMapTheme?: boolean,
|
||||
callback?: (a: unknown, rawObejct: unknown) => void,
|
||||
callback?: (a: MapCityDrawable, rawObejct: MapRawResult) => void,
|
||||
|
||||
//기타 보조 값
|
||||
startYear?: number,
|
||||
}
|
||||
|
||||
export async function reloadWorldMap(option: loadMapOption, drawTarget = '.world_map'): Promise<void> {
|
||||
const $world_map = jQuery(drawTarget);
|
||||
const $world_map = $(drawTarget);
|
||||
|
||||
if ($world_map.length == 0) {
|
||||
return;
|
||||
@@ -140,7 +140,7 @@ export async function reloadWorldMap(option: loadMapOption, drawTarget = '.world
|
||||
const defaultOption: loadMapOption = {
|
||||
isDetailMap: true, //복잡 지도, 단순 지도
|
||||
clickableAll: false, //어떤 경우든 클릭을 가능하게 함. 해당 동작의 동작 가능성 여부와는 별도.
|
||||
selectCallback: undefined, //callback을 지정시 clickable과 관계 없이 해당 함수를 실행.
|
||||
selectCallback: undefined, //callback을 지정시 clickable과 관계 없이 해당 함수를 실행.
|
||||
hrefTemplate: '#', //도시가 클릭가능할 경우 지정할 href값. {0}은 도시 id로 변환됨
|
||||
useCachedMap: false, //맵 캐시를 사용
|
||||
|
||||
@@ -439,7 +439,7 @@ export async function reloadWorldMap(option: loadMapOption, drawTarget = '.world
|
||||
if(myCity){
|
||||
$world_map.find(`.city_base_${myCity} .city_filler`).addClass('my_city');
|
||||
}
|
||||
|
||||
|
||||
|
||||
return obj;
|
||||
}
|
||||
@@ -499,7 +499,7 @@ export async function reloadWorldMap(option: loadMapOption, drawTarget = '.world
|
||||
if(myCity){
|
||||
$world_map.find(`.city_base_${myCity} .city_filler`).addClass('my_city');
|
||||
}
|
||||
|
||||
|
||||
|
||||
return obj;
|
||||
}
|
||||
@@ -729,7 +729,7 @@ export async function reloadWorldMap(option: loadMapOption, drawTarget = '.world
|
||||
|
||||
const response = await responseP;
|
||||
|
||||
const rawObject = response.data;
|
||||
const rawObject: MapRawResult = response.data;
|
||||
|
||||
const computedResult = await checkReturnObject(rawObject)
|
||||
.then(setMapBackground)
|
||||
@@ -783,7 +783,7 @@ export async function reloadWorldMap(option: loadMapOption, drawTarget = '.world
|
||||
}
|
||||
|
||||
window.reloadWorldMap = reloadWorldMap;
|
||||
$(function () {
|
||||
$(function ($) {
|
||||
if (is_touch_device()) {
|
||||
$('.map_body .map_toggle_single_tap').show();
|
||||
}
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
import $ from 'jquery';
|
||||
import 'bootstrap';
|
||||
import { reloadWorldMap } from './map';
|
||||
|
||||
declare global{
|
||||
interface Window{
|
||||
fitIframe:()=>void;
|
||||
}
|
||||
}
|
||||
|
||||
$(function($){
|
||||
void reloadWorldMap({
|
||||
targetJson: "j_map_recent.php",
|
||||
reqType: 'get',
|
||||
dynamicMapTheme: true,
|
||||
callback: function(data, rawObject) {
|
||||
const historyRaw = rawObject as unknown as {
|
||||
history: string
|
||||
};
|
||||
$('.card-body').html(historyRaw.history);
|
||||
|
||||
if(window.parent !== window){
|
||||
setTimeout(()=>{
|
||||
window.parent.fitIframe();
|
||||
}, 1);
|
||||
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user