core: getJSFiles -> getJSPlugins

- 각각 js를 불러오기보다.. 초기화 함수를 직접 호출
- lazy loading은 어차피 나중에 새로 만들거니까 안 함.
This commit is contained in:
2021-08-30 01:14:20 +09:00
parent 68b00733e3
commit 7590c0241a
30 changed files with 94 additions and 85 deletions
-1
View File
@@ -36,7 +36,6 @@ $nation = $db->queryFirstRow('SELECT nation,name,level,color,chief_set from nati
<?=WebUtil::printJS('../d_shared/common_path.js')?> <?=WebUtil::printJS('../d_shared/common_path.js')?>
<?=WebUtil::printJS('dist_js/vendors.js')?> <?=WebUtil::printJS('dist_js/vendors.js')?>
<?=WebUtil::printJS('dist_js/common.js')?> <?=WebUtil::printJS('dist_js/common.js')?>
<?=WebUtil::printJS('../e_lib/select2/select2.full.min.js')?>
<?=WebUtil::printJS('dist_js/bossInfo.js')?> <?=WebUtil::printJS('dist_js/bossInfo.js')?>
<?=WebUtil::printCSS('../e_lib/bootstrap.min.css')?> <?=WebUtil::printCSS('../e_lib/bootstrap.min.css')?>
<?=WebUtil::printCSS('../e_lib/select2/select2.min.css')?> <?=WebUtil::printCSS('../e_lib/select2/select2.min.css')?>
+3 -7
View File
@@ -64,7 +64,7 @@ if(!$commandObj->hasPermissionToReserve()){
die_redirect(); die_redirect();
} }
$jsList = $commandObj->getJSFiles(); $jsList = $commandObj->getJSPlugins();
$cssList = $commandObj->getCSSFiles(); $cssList = $commandObj->getCSSFiles();
?> ?>
@@ -78,7 +78,6 @@ $cssList = $commandObj->getCSSFiles();
<?=WebUtil::printJS('../d_shared/common_path.js')?> <?=WebUtil::printJS('../d_shared/common_path.js')?>
<?=WebUtil::printJS('dist_js/vendors.js')?> <?=WebUtil::printJS('dist_js/vendors.js')?>
<?=WebUtil::printJS('dist_js/common.js')?> <?=WebUtil::printJS('dist_js/common.js')?>
<?=WebUtil::printJS('../e_lib/select2/select2.full.min.js')?>
<?=WebUtil::printJS('d_shared/base_map.js')?> <?=WebUtil::printJS('d_shared/base_map.js')?>
<?=WebUtil::printJS('dist_js/processing.js')?> <?=WebUtil::printJS('dist_js/processing.js')?>
<script> <script>
@@ -87,12 +86,8 @@ window.serverID = '<?=UniqueConst::$serverID?>';
window.command = '<?=$commandType?>'; window.command = '<?=$commandType?>';
window.turnList = [<?=join(', ',$turnList)?>]; window.turnList = [<?=join(', ',$turnList)?>];
window.isChiefTurn = <?=$isChiefTurn?'true':'false'?>; window.isChiefTurn = <?=$isChiefTurn?'true':'false'?>;
var jsPlugins = <?=Json::encode($jsList)?>;
</script> </script>
<?php
foreach($jsList as $js){
print(WebUtil::printJS($js));
}
?>
<?=WebUtil::printCSS('../e_lib/bootstrap.min.css')?> <?=WebUtil::printCSS('../e_lib/bootstrap.min.css')?>
<?=WebUtil::printCSS('../e_lib/select2/select2.min.css')?> <?=WebUtil::printCSS('../e_lib/select2/select2.min.css')?>
<?=WebUtil::printCSS('../e_lib/select2/select2-bootstrap4.css')?> <?=WebUtil::printCSS('../e_lib/select2/select2-bootstrap4.css')?>
@@ -101,6 +96,7 @@ foreach($jsList as $js){
<?=WebUtil::printCSS('css/main.css')?> <?=WebUtil::printCSS('css/main.css')?>
<?=WebUtil::printCSS('css/map.css')?> <?=WebUtil::printCSS('css/map.css')?>
<?=WebUtil::printCSS('css/processing.css')?> <?=WebUtil::printCSS('css/processing.css')?>
<?php <?php
foreach($cssList as $css){ foreach($cssList as $css){
print(WebUtil::printCSS($css)); print(WebUtil::printCSS($css));
+12 -12
View File
@@ -32,7 +32,7 @@ abstract class BaseCommand{
protected $env = null; protected $env = null;
/** @var \sammo\General */ /** @var \sammo\General */
protected $destGeneralObj = null; protected $destGeneralObj = null;
protected ?array $destCity = null; protected ?array $destCity = null;
protected ?array $destNation = null; protected ?array $destNation = null;
@@ -70,7 +70,7 @@ abstract class BaseCommand{
$this->env = $env; $this->env = $env;
$this->arg = $arg; $this->arg = $arg;
$this->init(); $this->init();
if ($this->argTest()) { if ($this->argTest()) {
$this->isArgValid = true; $this->isArgValid = true;
@@ -92,7 +92,7 @@ abstract class BaseCommand{
$this->reasonNotMinConditionMet = null; $this->reasonNotMinConditionMet = null;
$this->reasonNoPermissionToReserve = null; $this->reasonNoPermissionToReserve = null;
} }
protected function setCity(){ protected function setCity(){
$this->resetTestCache(); $this->resetTestCache();
$db = DB::db(); $db = DB::db();
@@ -126,7 +126,7 @@ abstract class BaseCommand{
$this->nation = $this->generalObj->getStaticNation(); $this->nation = $this->generalObj->getStaticNation();
return; return;
} }
$defaultValues = [ $defaultValues = [
'nation'=>0, 'nation'=>0,
'name'=>'재야', 'name'=>'재야',
@@ -137,7 +137,7 @@ abstract class BaseCommand{
'gold'=>0, 'gold'=>0,
'rice'=>2000, 'rice'=>2000,
'tech'=>0, 'tech'=>0,
'gennum'=>1 'gennum'=>1
]; ];
if($this->nation && $this->nation['nation'] === $nationID){ if($this->nation && $this->nation['nation'] === $nationID){
@@ -211,7 +211,7 @@ abstract class BaseCommand{
'gold'=>0, 'gold'=>0,
'rice'=>2000, 'rice'=>2000,
'tech'=>0, 'tech'=>0,
'gennum'=>1 'gennum'=>1
]; ];
$db = DB::db(); $db = DB::db();
@@ -229,7 +229,7 @@ abstract class BaseCommand{
} }
} }
abstract protected function argTest():bool; abstract protected function argTest():bool;
public function getArg():?array{ public function getArg():?array{
return $this->arg; return $this->arg;
} }
@@ -239,7 +239,7 @@ abstract class BaseCommand{
} }
public function getNationID(){ public function getNationID(){
return $this->generalObj->getNationID(); return $this->generalObj->getNationID();
} }
public function getOfficerLevel(){ public function getOfficerLevel(){
@@ -264,7 +264,7 @@ abstract class BaseCommand{
//null : can't calculate //null : can't calculate
return 0; return 0;
} }
static public function getName():string { static public function getName():string {
return static::$actionName; return static::$actionName;
} }
@@ -363,7 +363,7 @@ abstract class BaseCommand{
$this->cachedMinConditionMet = true; $this->cachedMinConditionMet = true;
return $this->reasonNotMinConditionMet; return $this->reasonNotMinConditionMet;
} }
public function testFullConditionMet():?string{ public function testFullConditionMet():?string{
@@ -401,7 +401,7 @@ abstract class BaseCommand{
$this->cachedFullConditionMet = true; $this->cachedFullConditionMet = true;
return $this->reasonNotFullConditionMet; return $this->reasonNotFullConditionMet;
} }
public function getTermString():string{ public function getTermString():string{
@@ -475,7 +475,7 @@ abstract class BaseCommand{
abstract public function run():bool; abstract public function run():bool;
public function getJSFiles():array { public function getJSPlugins():array {
return []; return [];
} }
public function getCSSFiles():array { public function getCSSFiles():array {
+2 -2
View File
@@ -166,10 +166,10 @@ class che_강행 extends Command\GeneralCommand
return true; return true;
} }
public function getJSFiles(): array public function getJSPlugins(): array
{ {
return [ return [
'dist_js/defaultSelectCityByMap.js' 'defaultSelectCityByMap'
]; ];
} }
+1 -1
View File
@@ -196,7 +196,7 @@ class che_건국 extends Command\GeneralCommand
return true; return true;
} }
public function getJSFiles(): array public function getJSPlugins(): array
{ {
return [ return [
'dist_js/colorSelect.js' 'dist_js/colorSelect.js'
+2 -2
View File
@@ -174,10 +174,10 @@ class che_이동 extends Command\GeneralCommand
return true; return true;
} }
public function getJSFiles(): array public function getJSPlugins(): array
{ {
return [ return [
'dist_js/defaultSelectCityByMap.js' 'defaultSelectCityByMap'
]; ];
} }
+1 -1
View File
@@ -231,7 +231,7 @@ class che_징병 extends Command\GeneralCommand
return true; return true;
} }
public function getJSFiles(): array public function getJSPlugins(): array
{ {
return [ return [
'dist_js/recruitCrewForm.js' 'dist_js/recruitCrewForm.js'
+2 -2
View File
@@ -222,10 +222,10 @@ class che_첩보 extends Command\GeneralCommand
return true; return true;
} }
public function getJSFiles(): array public function getJSPlugins(): array
{ {
return [ return [
'dist_js/defaultSelectCityByMap.js' 'defaultSelectCityByMap'
]; ];
} }
+2 -2
View File
@@ -236,10 +236,10 @@ class che_출병 extends Command\GeneralCommand
return true; return true;
} }
public function getJSFiles(): array public function getJSPlugins(): array
{ {
return [ return [
'dist_js/defaultSelectCityByMap.js' 'defaultSelectCityByMap'
]; ];
} }
+2 -2
View File
@@ -332,10 +332,10 @@ class che_화계 extends Command\GeneralCommand
return true; return true;
} }
public function getJSFiles(): array public function getJSPlugins(): array
{ {
return [ return [
'dist_js/defaultSelectCityByMap.js' 'defaultSelectCityByMap'
]; ];
} }
@@ -151,7 +151,7 @@ class che_국기변경 extends Command\NationCommand
return true; return true;
} }
public function getJSFiles(): array public function getJSPlugins(): array
{ {
return [ return [
'dist_js/colorSelect.js' 'dist_js/colorSelect.js'
@@ -157,7 +157,7 @@ class che_국호변경 extends Command\NationCommand
return true; return true;
} }
public function getJSFiles(): array public function getJSPlugins(): array
{ {
return [ return [
'dist_js/colorSelect.js' 'dist_js/colorSelect.js'
+2 -2
View File
@@ -196,10 +196,10 @@ class che_급습 extends Command\NationCommand
return true; return true;
} }
public function getJSFiles(): array public function getJSPlugins(): array
{ {
return [ return [
'dist_js/defaultSelectNationByMap.js' 'defaultSelectNationByMap'
]; ];
} }
@@ -246,10 +246,10 @@ class che_물자원조 extends Command\NationCommand{
return true; return true;
} }
public function getJSFiles(): array public function getJSPlugins(): array
{ {
return [ return [
'dist_js/defaultSelectNationByMap.js' 'defaultSelectNationByMap'
]; ];
} }
+2 -2
View File
@@ -157,10 +157,10 @@ class che_발령 extends Command\NationCommand{
return true; return true;
} }
public function getJSFiles(): array public function getJSPlugins(): array
{ {
return [ return [
'dist_js/defaultSelectCityByMap.js' 'defaultSelectCityByMap'
]; ];
} }
@@ -159,10 +159,10 @@ class che_백성동원 extends Command\NationCommand{
return true; return true;
} }
public function getJSFiles(): array public function getJSPlugins(): array
{ {
return [ return [
'dist_js/defaultSelectCityByMap.js' 'defaultSelectCityByMap'
]; ];
} }
@@ -223,10 +223,10 @@ class che_불가침제의 extends Command\NationCommand
return true; return true;
} }
public function getJSFiles(): array public function getJSPlugins(): array
{ {
return [ return [
'dist_js/defaultSelectNationByMap.js' 'defaultSelectNationByMap'
]; ];
} }
@@ -170,10 +170,10 @@ class che_불가침파기제의 extends Command\NationCommand{
return true; return true;
} }
public function getJSFiles(): array public function getJSPlugins(): array
{ {
return [ return [
'dist_js/defaultSelectNationByMap.js' 'defaultSelectNationByMap'
]; ];
} }
@@ -192,10 +192,10 @@ class che_선전포고 extends Command\NationCommand
return true; return true;
} }
public function getJSFiles(): array public function getJSPlugins(): array
{ {
return [ return [
'dist_js/defaultSelectNationByMap.js' 'defaultSelectNationByMap'
]; ];
} }
+2 -2
View File
@@ -182,10 +182,10 @@ class che_수몰 extends Command\NationCommand{
return true; return true;
} }
public function getJSFiles(): array public function getJSPlugins(): array
{ {
return [ return [
'dist_js/defaultSelectCityByMap.js' 'defaultSelectCityByMap'
]; ];
} }
@@ -199,10 +199,10 @@ class che_이호경식 extends Command\NationCommand
return true; return true;
} }
public function getJSFiles(): array public function getJSPlugins(): array
{ {
return [ return [
'dist_js/defaultSelectNationByMap.js' 'defaultSelectNationByMap'
]; ];
} }
@@ -168,10 +168,10 @@ class che_종전제의 extends Command\NationCommand{
return true; return true;
} }
public function getJSFiles(): array public function getJSPlugins(): array
{ {
return [ return [
'dist_js/defaultSelectNationByMap.js' 'defaultSelectNationByMap'
]; ];
} }
+2 -2
View File
@@ -229,10 +229,10 @@ class che_천도 extends Command\NationCommand
return true; return true;
} }
public function getJSFiles(): array public function getJSPlugins(): array
{ {
return [ return [
'dist_js/defaultSelectCityByMap.js' 'defaultSelectCityByMap'
]; ];
} }
+2 -2
View File
@@ -195,10 +195,10 @@ class che_초토화 extends Command\NationCommand{
return true; return true;
} }
public function getJSFiles(): array public function getJSPlugins(): array
{ {
return [ return [
'dist_js/defaultSelectCityByMap.js' 'defaultSelectCityByMap'
]; ];
} }
@@ -218,10 +218,10 @@ class che_피장파장 extends Command\NationCommand{
return true; return true;
} }
public function getJSFiles(): array public function getJSPlugins(): array
{ {
return [ return [
'dist_js/defaultSelectNationByMap.js' 'defaultSelectNationByMap'
]; ];
} }
+2 -2
View File
@@ -205,10 +205,10 @@ class che_허보 extends Command\NationCommand
return true; return true;
} }
public function getJSFiles(): array public function getJSPlugins(): array
{ {
return [ return [
'dist_js/defaultSelectCityByMap.js' 'defaultSelectCityByMap'
]; ];
} }
+6 -1
View File
@@ -4,6 +4,11 @@ import { convertFormData } from './util/convertFormData';
import { InvalidResponse } from './defs'; import { InvalidResponse } from './defs';
import { unwrap_any } from './util/unwrap_any'; import { unwrap_any } from './util/unwrap_any';
import { setAxiosXMLHttpRequest } from './util/setAxiosXMLHttpRequest'; import { setAxiosXMLHttpRequest } from './util/setAxiosXMLHttpRequest';
import { exportWindow } from './util/exportWindow';
import Popper from 'popper.js';
exportWindow(Popper, 'Popper');
import 'bootstrap';
import 'select2/dist/js/select2.full.js'
type GeneralSelectorItem = { type GeneralSelectorItem = {
id: string|number, id: string|number,
@@ -54,7 +59,7 @@ async function changePermission(isAmbassador: boolean, rawGeneralList: GeneralSe
$(function () { $(function () {
setAxiosXMLHttpRequest(); setAxiosXMLHttpRequest();
$('#selectAmbassador').select2({ $('#selectAmbassador').select2({
theme: 'bootstrap4', theme: 'bootstrap4',
placeholder: "", placeholder: "",
+5 -11
View File
@@ -1,12 +1,9 @@
import { reloadWorldMap } from "./map"; import { reloadWorldMap } from "./map";
import { unwrap_any } from "./util/unwrap_any"; import { unwrap_any } from "./util/unwrap_any";
/*import $ from 'jquery';
import 'select2';*///TODO: processing
export function defaultSelectCityByMap(): void {
export function loadPlugin(): void {
const $target = $("#destCityID"); const $target = $("#destCityID");
console.log('target', $target); console.log('city', $target);
void reloadWorldMap({ void reloadWorldMap({
isDetailMap: false, isDetailMap: false,
clickableAll: true, clickableAll: true,
@@ -14,15 +11,12 @@ export function loadPlugin(): void {
useCachedMap: true, useCachedMap: true,
selectCallback: function (city) { selectCallback: function (city) {
const currVal = unwrap_any<string>($target.val()); const currVal = unwrap_any<string>($target.val());
$target.val(city.id).trigger("change"); $target.val(city.id);
$target.trigger("change");
if ($target.val() === null) { if ($target.val() === null) {
$target.val(currVal).trigger("change"); $target.val(currVal).trigger("change").blur();
} }
return false; return false;
} }
}); });
} }
$(function () {
loadPlugin();
});
+3 -8
View File
@@ -1,10 +1,9 @@
import { reloadWorldMap } from "./map"; import { reloadWorldMap } from "./map";
import { unwrap_any } from "./util/unwrap_any"; import { unwrap_any } from "./util/unwrap_any";
/*import $ from 'jquery';
import 'select2';*///TODO: processing
export function loadPlugin(): void{ export function defaultSelectNationByMap(): void{
const $target = $("#destNationID"); const $target = $("#destNationID");
console.log('nation', $target);
void reloadWorldMap({ void reloadWorldMap({
isDetailMap: false, isDetailMap: false,
clickableAll: true, clickableAll: true,
@@ -22,8 +21,4 @@ export function loadPlugin(): void{
return false; return false;
} }
}); });
} }
$(function() {
loadPlugin();
});
+23 -3
View File
@@ -1,15 +1,23 @@
//import $ from 'jquery'; import $ from 'jquery';
//import 'bootstrap'; exportWindow($, '$');
import { exportWindow } from './util/exportWindow';
import axios from 'axios'; import axios from 'axios';
//import 'select2'; import Popper from 'popper.js';
exportWindow(Popper, 'Popper');
import 'bootstrap';
import 'select2/dist/js/select2.full.js'
import { setAxiosXMLHttpRequest } from './util/setAxiosXMLHttpRequest'; import { setAxiosXMLHttpRequest } from './util/setAxiosXMLHttpRequest';
import { convertFormData } from './util/convertFormData'; import { convertFormData } from './util/convertFormData';
import { InvalidResponse } from './defs'; import { InvalidResponse } from './defs';
import { unwrap_any } from './util/unwrap_any'; import { unwrap_any } from './util/unwrap_any';
import { DataFormat, IdTextPair, OptionData } from 'select2'; import { DataFormat, IdTextPair, OptionData } from 'select2';
import { unwrap } from "./util/unwrap"; import { unwrap } from "./util/unwrap";
import { defaultSelectCityByMap } from './defaultSelectCityByMap';
import { defaultSelectNationByMap } from './defaultSelectNationByMap';
declare const isChiefTurn: boolean; declare const isChiefTurn: boolean;
declare const jsPlugins: string[];
declare global { declare global {
interface Window { interface Window {
submitAction: () => Promise<void>; submitAction: () => Promise<void>;
@@ -275,4 +283,16 @@ $(function ($) {
} }
}); });
const pluginMap:Record<string, ()=>void> = {
'defaultSelectCityByMap': defaultSelectCityByMap,
'defaultSelectNationByMap': defaultSelectNationByMap,
};
for (const jsPlugin of jsPlugins) {
if (jsPlugin in pluginMap) {
pluginMap[jsPlugin]()
}
else{
console.error(`'${jsPlugin}' is not supported`);
}
}
}); });