linkkf 로직수정중
This commit is contained in:
@@ -35,6 +35,12 @@
|
||||
<script src="https://cdn.jsdelivr.net/gh/gitbrent/bootstrap4-toggle@3.4.0/js/bootstrap4-toggle.min.js"></script>
|
||||
<!-- end 토글 -->
|
||||
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jquery-contextmenu/2.8.0/jquery.contextMenu.min.css">
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-contextmenu/2.8.0/jquery.contextMenu.min.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-contextmenu/2.8.0/jquery.ui.position.js"></script>
|
||||
|
||||
|
||||
</head>
|
||||
|
||||
<body class="body ">
|
||||
@@ -50,7 +56,8 @@
|
||||
</div>
|
||||
</main>
|
||||
<div class="loading" id="loading">
|
||||
<img src="/static/img/loading.gif" />
|
||||
<!-- <img src="/static/img/loading.gif" /> -->
|
||||
<img src="/static/img/loader.svg" />
|
||||
</div>
|
||||
{{ modals() }}
|
||||
</body>
|
||||
@@ -59,3 +66,5 @@
|
||||
<!-- 글로벌 버튼이 모두 나오고 처리-->
|
||||
<script src="{{ url_for('static', filename='js/sjva_global1.js') }}"></script>
|
||||
<script src="{{ url_for('static', filename='js/ff_global1.js') }}"></script>
|
||||
|
||||
<script src="{{ url_for('static', filename='js/ff_global_plugin.js') }}"></script>
|
||||
|
||||
@@ -8,13 +8,13 @@
|
||||
{{ macros.m_tab_head_end() }}
|
||||
</nav>
|
||||
<div class="tab-content" id="nav-tabContent">
|
||||
{{ macros.m_tab_content_start('이전', true) }}
|
||||
{{ macros.m_tab_content_start('old', true) }}
|
||||
<div>
|
||||
<textarea id="log" class="col-md-12" rows="30" charswidth="23" disabled style="background-color:#ffffff;visibility:hidden"></textarea>
|
||||
</div>
|
||||
{{ macros.m_tab_content_end() }}
|
||||
|
||||
{{ macros.m_tab_content_start('실시간', false) }}
|
||||
{{ macros.m_tab_content_start('new', false) }}
|
||||
<div>
|
||||
<textarea id="add" class="col-md-12" rows="30" charswidth="23" disabled style="background-color:#ffffff;visibility:visible"></textarea>
|
||||
</div>
|
||||
@@ -52,6 +52,7 @@ $(window).resize(function() {
|
||||
|
||||
var protocol = window.location.protocol;
|
||||
var socket = io.connect(protocol + "//" + document.domain + ":" + location.port + "/log");
|
||||
|
||||
socket.emit("start", {'package':'{{package}}'} );
|
||||
socket.on('on_start', function(data){
|
||||
document.getElementById("log").innerHTML += data.data;
|
||||
|
||||
@@ -25,11 +25,11 @@
|
||||
|
||||
<!-- 탭 -->
|
||||
{% macro m_tab_head_start() %}
|
||||
<div class="nav nav-tabs" id="nav-tab" role="tablist">
|
||||
<div class="nav nav-tabs" id="nav-tab" role="tablist">
|
||||
{% endmacro %}
|
||||
|
||||
{% macro m_tab_head_end() %}
|
||||
</div>
|
||||
</div>
|
||||
{% endmacro %}
|
||||
|
||||
{% macro m_tab_head(name, title, active) %}
|
||||
@@ -39,12 +39,25 @@
|
||||
<a class="nav-item nav-link" id="tab_{{name}}" data-toggle="tab" href="#{{name}}" role="tab">{{title}}</a>
|
||||
{% endif %}
|
||||
{% endmacro %}
|
||||
<!----------------------------------------------------------------->
|
||||
|
||||
|
||||
<!-- SETTING -->
|
||||
<!-- SETTING -->
|
||||
<!-- SETTING -->
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<!------------------------------------------------------------------>
|
||||
<!-- 설정 -->
|
||||
|
||||
<!-- SETTING 기본 틀-->
|
||||
{% macro setting_top(left='', padding='10') %}
|
||||
@@ -57,6 +70,16 @@
|
||||
<div class='col-sm-9'>
|
||||
{% endmacro %}
|
||||
|
||||
{% macro setting_top_big(left='', padding='10') %}
|
||||
<div class='row' style="padding-top: {{padding}}px; padding-bottom:{{padding}}px; align-items: center;">
|
||||
<div class='col-sm-3 set-left'>
|
||||
{% if left != '' %}
|
||||
<strong><h4>{{ left }}</h4></strong>
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class='col-sm-9'>
|
||||
{% endmacro %}
|
||||
|
||||
{% macro setting_bottom(desc=None, padding_top='5') %}
|
||||
{% if desc is not none %}
|
||||
<div style="padding-left:20px; padding-top:{{padding_top}}px;">
|
||||
@@ -247,18 +270,39 @@
|
||||
|
||||
|
||||
<!-- 스케쥴링 작동 버튼-->
|
||||
{% macro setting_global_scheduler_button(is_include, is_running, id='scheduler', left='스케쥴링 작동', desc=['On : 스케쥴링 시작','Off : 스케쥴링 중지']) %}
|
||||
{% macro global_setting_scheduler_button(is_include, is_running, id='scheduler', left='스케쥴링 작동', desc=['On : 스케쥴링 시작','Off : 스케쥴링 중지']) %}
|
||||
{{ setting_top(left) }}
|
||||
<div class="input-group col-sm-3">
|
||||
{% if is_include == True %}
|
||||
{% if is_include == True or is_include == "True" %}
|
||||
<input id="globalSchedulerSwitchBtn" name="globalSchedulerSwitchBtn" class="form-control form-control-sm" type="checkbox" data-toggle="toggle" checked>
|
||||
{% else %}
|
||||
<input id="globalSchedulerSwitchBtn" name="globalSchedulerSwitchBtn" class="form-control form-control-sm" type="checkbox" data-toggle="toggle">
|
||||
{% endif %}
|
||||
{% if is_running == True %}
|
||||
{% if is_running == True or is_running == "True" %}
|
||||
<span style="padding-left:10px; padding-top: 8px; font-weight: bold;">실행중</span>
|
||||
{% else %}
|
||||
{% if is_include == True %}
|
||||
{% if is_include == True or is_include == "True" %}
|
||||
<span style="padding-left:10px; padding-top: 8px; ">대기중</span>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
</div>
|
||||
{{ setting_bottom(desc) }}
|
||||
{% endmacro %}
|
||||
|
||||
|
||||
<!-- 스케쥴링 작동 버튼 페이지 -->
|
||||
{% macro global_setting_scheduler_button_page(is_include, is_running, id='scheduler', left='스케쥴링 작동', desc=['On : 스케쥴링 시작','Off : 스케쥴링 중지']) %}
|
||||
{{ setting_top(left) }}
|
||||
<div class="input-group col-sm-3">
|
||||
{% if is_include == True or is_include == "True" %}
|
||||
<input id="globalSchedulerSwitchPageBtn" name="globalSchedulerSwitchPageBtn" class="form-control form-control-sm" type="checkbox" data-toggle="toggle" checked>
|
||||
{% else %}
|
||||
<input id="globalSchedulerSwitchPageBtn" name="globalSchedulerSwitchPageBtn" class="form-control form-control-sm" type="checkbox" data-toggle="toggle">
|
||||
{% endif %}
|
||||
{% if is_running == True or is_running == "True" %}
|
||||
<span style="padding-left:10px; padding-top: 8px; font-weight: bold;">실행중</span>
|
||||
{% else %}
|
||||
{% if is_include == True or is_include == "True" %}
|
||||
<span style="padding-left:10px; padding-top: 8px; ">대기중</span>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
@@ -268,13 +312,116 @@
|
||||
|
||||
|
||||
|
||||
setting_gole
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- NOT SETTING -->
|
||||
<!-- NOT SETTING -->
|
||||
<!-- NOT SETTING -->
|
||||
<!-- SELECT Dummy
|
||||
option을 script로 넣을 때 사용
|
||||
예: 시스템 - 전체로그
|
||||
-->
|
||||
{% macro setting_select_empty(id, title, col='9', desc=None, value=None) %}
|
||||
{{ setting_top(title) }}
|
||||
<div class="input-group col-sm-{{col}}">
|
||||
<div id="{{id}}_div" name="{{id}}_div"></div>
|
||||
</div>
|
||||
{{ setting_bottom(desc) }}
|
||||
{% endmacro %}
|
||||
|
||||
|
||||
|
||||
{% macro setting_input_int(id, left, value='', min='', max='', placeholder='', desc=None) %}
|
||||
{{ setting_top(left) }}
|
||||
<div class="input-group col-sm-3">
|
||||
<input id="{{ id }}" name="{{ id }}" type="number" class="form-control form-control-sm"
|
||||
{% if min != '' %}
|
||||
min="{{ min }}"
|
||||
{% endif %}
|
||||
{% if max != '' %}
|
||||
max="{{ max }}"
|
||||
{% endif %}
|
||||
{% if placeholder != '' %}
|
||||
placeholder="{{ placeholder }}"
|
||||
{% endif %}
|
||||
value="{{ value }}">
|
||||
</div>
|
||||
{{ setting_bottom(desc) }}
|
||||
{% endmacro %}
|
||||
|
||||
|
||||
|
||||
<!-- 토글버튼형식 -->
|
||||
{% macro setting_checkbox(id, left, value, desc='') %}
|
||||
{{ setting_top(left) }}
|
||||
<div class="input-group col-sm-3">
|
||||
{% if value == True or value == 'True' or value == 'true' or value == 'On' %}
|
||||
<input id="{{ id }}" name="{{ id }}" class="form-control form-control-sm" type="checkbox" data-toggle="toggle" checked>
|
||||
{% else %}
|
||||
<input id="{{ id }}" name="{{ id }}" class="form-control form-control-sm" type="checkbox" data-toggle="toggle">
|
||||
{% endif %}
|
||||
</div>
|
||||
{{ setting_bottom(desc) }}
|
||||
{% endmacro %}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<!------------------------------------------------------------------>
|
||||
<!-- 설정 외 -->
|
||||
|
||||
<!-- 리스트 div로 꾸밀때 헤드 -->
|
||||
{% macro m_hr_head_top() %}
|
||||
<div class="d-inline-block"></div>
|
||||
<hr style="width: 100%; margin:0px; background-color:#808080;">
|
||||
{% endmacro %}
|
||||
|
||||
{% macro m_hr_head_bottom() %}
|
||||
<hr style="width: 100%; margin:0px; margin-bottom:10px; margin-top:2px; background-color:#808080; height:2px" />
|
||||
{% endmacro %}
|
||||
|
||||
|
||||
<!-- 버튼 그룹 -->
|
||||
{% macro m_button_group(buttons) %}
|
||||
<div class="btn-group btn-group-sm flex-wrap mr-2" role="group">
|
||||
@@ -304,6 +451,14 @@
|
||||
{{ setting_bottom(desc, padding_top='-5') }}
|
||||
{% endmacro %}
|
||||
|
||||
{% macro info_text_big(id, left, value='', desc=None) %}
|
||||
{{ setting_top_big(left) }}
|
||||
<div style="padding-left:20px; padding-top:-5px;">
|
||||
<span id={{id}}><h4>{{value}}</h4></span>
|
||||
</div>
|
||||
{{ setting_bottom(desc, padding_top='-5') }}
|
||||
{% endmacro %}
|
||||
|
||||
{% macro info_text_go(id, left, value='', desc=None, padding=10) %}
|
||||
{{ setting_top(left, padding) }}
|
||||
<div style="padding-left:20px; padding-top:-5px;">
|
||||
@@ -354,219 +509,208 @@
|
||||
|
||||
|
||||
|
||||
<!-- SELECT Dummy
|
||||
option을 script로 넣을 때 사용
|
||||
예: 시스템 - 전체로그
|
||||
-->
|
||||
{% macro setting_select_empty(id, title, col='9', desc=None, value=None) %}
|
||||
{{ setting_top(title) }}
|
||||
<div class="input-group col-sm-{{col}}">
|
||||
<div id="{{id}}_div" name="{{id}}_div"></div>
|
||||
</div>
|
||||
{{ setting_bottom(desc) }}
|
||||
|
||||
|
||||
{% macro m_modal_start(id, title, size) %}
|
||||
<!-- Modal -->
|
||||
<div class="modal fade" id="{{id}}" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
|
||||
<div class="modal-dialog {{size}}">
|
||||
<div class="modal-content">
|
||||
|
||||
<div class="modal-header">
|
||||
<h4 class="modal-title" id="{{id}}_title">{{title}}</h4>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
</div>
|
||||
<div class="modal-body" id="{{id}}_modal_body" style="word-break:break-all;">
|
||||
{% endmacro %}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- 삭제해야함 --------------------------------------------------------->
|
||||
<!--
|
||||
{% macro setting_radio(id, title, radios, value=None, desc=None, disabled=False) %}
|
||||
{{ setting_top(title) }}
|
||||
<div class="input-group col-sm-9">
|
||||
{% for r in radios %}
|
||||
<div class="custom-control custom-radio custom-control-inline">
|
||||
{% if value|int == loop.index0 %}
|
||||
<input id="{{id}}{{loop.index0}}" type="radio" class="custom-control-input" name="{{id}}" value="{{loop.index0}}" checked {% if disabled %} disabled {% endif %}>
|
||||
{% else %}
|
||||
<input id="{{id}}{{loop.index0}}" type="radio" class="custom-control-input" name="{{id}}" value="{{loop.index0}}" {% if disabled %} disabled {% endif %}>
|
||||
{% endif %}
|
||||
<label class="custom-control-label" for="{{id}}{{loop.index0}}">{{r}}</label>
|
||||
{% macro m_modal_end() %}
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-warning" data-dismiss="modal">닫기 (취소)</button>
|
||||
</div>
|
||||
<div class="loading" id="modal_loading">
|
||||
<img src="/static/img/loading.gif" />
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
{{ setting_bottom(desc) }}
|
||||
</div>
|
||||
</div>
|
||||
<!-- Modal end -->
|
||||
{% endmacro %}
|
||||
-->
|
||||
|
||||
<!-- 그룹화 하지 않음.. 삭제-->
|
||||
<!--
|
||||
{% macro setting_button(buttons, left='', desc='') %}
|
||||
{{ setting_top(left) }}
|
||||
<div class="input-group col-sm-9">
|
||||
{% for b in buttons %}
|
||||
{% if not loop.first %}
|
||||
<span class='text-left' style="padding-left:5px; padding-top:0px">
|
||||
{% endif %}
|
||||
<button id="{{b[0]}}" class="btn btn-sm btn-outline-primary">{{b[1]}}</button>
|
||||
</span>
|
||||
{% endfor %}
|
||||
</div>
|
||||
{{ setting_bottom(desc) }}
|
||||
{% endmacro %}
|
||||
-->
|
||||
<!----------------------------------------------------------------->
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
{% macro setting_input_int(id, left, value='', min='', max='', placeholder='', desc=None) %}
|
||||
{{ setting_top(left) }}
|
||||
<div class="input-group col-sm-3">
|
||||
<input id="{{ id }}" name="{{ id }}" type="number" class="form-control form-control-sm"
|
||||
{% if min != '' %}
|
||||
min="{{ min }}"
|
||||
{% endif %}
|
||||
{% if max != '' %}
|
||||
max="{{ max }}"
|
||||
{% endif %}
|
||||
{% if placeholder != '' %}
|
||||
placeholder="{{ placeholder }}"
|
||||
{% endif %}
|
||||
value="{{ value }}">
|
||||
{% macro m_modal_end_with_button(buttons) %}
|
||||
</div>
|
||||
{{ setting_bottom(desc) }}
|
||||
{% endmacro %}
|
||||
|
||||
|
||||
|
||||
<!-- 토글버튼형식 -->
|
||||
{% macro setting_checkbox(id, left, value, desc='') %}
|
||||
{{ setting_top(left) }}
|
||||
<div class="input-group col-sm-3">
|
||||
{% if value == 'True' or value == 'true' or value == 'On' %}
|
||||
<input id="{{ id }}" name="{{ id }}" class="form-control form-control-sm" type="checkbox" data-toggle="toggle" checked>
|
||||
{% else %}
|
||||
<input id="{{ id }}" name="{{ id }}" class="form-control form-control-sm" type="checkbox" data-toggle="toggle">
|
||||
{% endif %}
|
||||
<div class="modal-footer">
|
||||
<div class="btn-group btn-group-sm flex-wrap mr-2" role="group">
|
||||
{% for b in buttons %}
|
||||
<button id="{{b[0]}}" class="btn btn-sm btn-outline-primary"
|
||||
{% if b|length > 2 %}
|
||||
{% for d in b[2] %}
|
||||
data-{{d[0]}}="{{d[1]}}""
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
>{{b[1]}}</button>
|
||||
{% endfor %}
|
||||
<button type="button" class="btn btn-sm btn-warning" data-dismiss="modal">닫기 (취소)</button>
|
||||
</div>
|
||||
</div>
|
||||
{{ setting_bottom(desc) }}
|
||||
<div class="loading" id="modal_loading">
|
||||
<img src="/static/img/loading.gif" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Modal end -->
|
||||
{% endmacro %}
|
||||
|
||||
|
||||
|
||||
|
||||
{% macro print_md(id, text) %}
|
||||
<div id="{{id}}_div" data-text="{{text}}"></div>
|
||||
<script type="text/javascript">
|
||||
ret = converter.makeHtml($('#{{id}}_div').data('text'));
|
||||
$('#{{id}}_div').html(ret);
|
||||
</script>
|
||||
{% endmacro %}
|
||||
|
||||
{% macro print_md1(id, text) %}
|
||||
|
||||
<script type="text/javascript">
|
||||
ret = converter.makeHtml($('#{{id}}_div').data('text'));
|
||||
</script>
|
||||
{% endmacro %}
|
||||
|
||||
|
||||
|
||||
<!----------------------------------------------------------->
|
||||
<!----------------------------------------------------------->
|
||||
<!----------------------------------------------------------->
|
||||
<!----------------------------------------------------------->
|
||||
<!----------------------------------------------------------->
|
||||
<!--이하 정리 필요------------------------>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- 일반적인 체크박스 -->
|
||||
{% macro setting_default_checkbox(id, left, label, value, desc='') %}
|
||||
@@ -584,31 +728,6 @@ option을 script로 넣을 때 사용
|
||||
{{ setting_bottom(desc) }}
|
||||
{% endmacro %}
|
||||
|
||||
<!-- 스케쥴러 스위치 체크박스 전용-->
|
||||
{% macro setting_scheduler_switch(left='스케쥴링 작동', desc=['On : 스케쥴링 시작','Off : 스케쥴링 중지'], is_include='False', is_running='False') %}
|
||||
{{ setting_top(left) }}
|
||||
<div class="input-group col-sm-3">
|
||||
{% if is_include == 'True' %}
|
||||
<input id="scheduler_swtich_btn" name="scheduler_swtich_btn" class="form-control form-control-sm" type="checkbox" data-toggle="toggle" checked>
|
||||
{% else %}
|
||||
<input id="scheduler_swtich_btn" name="scheduler_swtich_btn" class="form-control form-control-sm" type="checkbox" data-toggle="toggle">
|
||||
{% endif %}
|
||||
{% if is_running == 'True' %}
|
||||
<span style="padding-left:10px; padding-top: 8px;">동작중</span>
|
||||
{% else %}
|
||||
{% if is_include == 'True' %}
|
||||
<span style="padding-left:10px; padding-top: 8px;">대기중</span>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
</div>
|
||||
{{ setting_bottom(desc) }}
|
||||
{% endmacro %}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<!--
|
||||
@@ -637,6 +756,26 @@ macros.setting_button_with_info([['toggle_btn', 'Toggle', [{'key':'category', 'v
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
{% macro select(id, options, col='3', value=None) %}
|
||||
<div class="input-group col-sm-{{col}}" style="padding-left:0px; padding-top:0px">
|
||||
|
||||
<select id="{{id}}" name="{{id}}" class="form-control form-control-sm">
|
||||
{% for item in options %}
|
||||
{% if value is not none and value == item[0] %}
|
||||
<option value="{{ item[0] }}" selected>{{item[1]}}</option>
|
||||
{% else %}
|
||||
<option value="{{ item[0] }}">{{item[1]}}</option>
|
||||
{% endif %}
|
||||
|
||||
{% endfor %}
|
||||
</select>
|
||||
</div>
|
||||
{% endmacro %}
|
||||
|
||||
|
||||
|
||||
<!-- select -->
|
||||
{% macro setting_select(id, title, options, col='9', desc=None, value=None) %}
|
||||
{{ setting_top(title) }}
|
||||
@@ -655,21 +794,6 @@ macros.setting_button_with_info([['toggle_btn', 'Toggle', [{'key':'category', 'v
|
||||
{{ setting_bottom(desc) }}
|
||||
{% endmacro %}
|
||||
|
||||
{% macro select(id, options, col='3', value=None) %}
|
||||
<div class="input-group col-sm-{{col}}" style="padding-left:0px; padding-top:0px">
|
||||
|
||||
<select id="{{id}}" name="{{id}}" class="form-control form-control-sm">
|
||||
{% for item in options %}
|
||||
{% if value is not none and value == item[0] %}
|
||||
<option value="{{ item[0] }}" selected>{{item[1]}}</option>
|
||||
{% else %}
|
||||
<option value="{{ item[0] }}">{{item[1]}}</option>
|
||||
{% endif %}
|
||||
|
||||
{% endfor %}
|
||||
</select>
|
||||
</div>
|
||||
{% endmacro %}
|
||||
|
||||
|
||||
<!-- select + 버튼 -->
|
||||
@@ -703,15 +827,6 @@ macros.setting_button_with_info([['toggle_btn', 'Toggle', [{'key':'category', 'v
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<!--progress-bar-striped progress-bar-animated-->
|
||||
{% macro setting_progress(id, left='', desc='') %}
|
||||
{{ setting_top(left) }}
|
||||
@@ -725,66 +840,6 @@ macros.setting_button_with_info([['toggle_btn', 'Toggle', [{'key':'category', 'v
|
||||
{% endmacro %}
|
||||
|
||||
|
||||
<!-- 스케쥴링 작동 버튼-->
|
||||
{% macro setting_scheduler_button(is_include, is_running, id='scheduler', left='스케쥴링 작동', desc=['On : 스케쥴링 시작','Off : 스케쥴링 중지']) %}
|
||||
{{ setting_top(left) }}
|
||||
<div class="input-group col-sm-3">
|
||||
{% if is_include == 'True' %}
|
||||
<input id="scheduler" name="scheduler" class="form-control form-control-sm" type="checkbox" data-toggle="toggle" checked>
|
||||
{% else %}
|
||||
<input id="scheduler" name="scheduler" class="form-control form-control-sm" type="checkbox" data-toggle="toggle">
|
||||
{% endif %}
|
||||
{% if is_running == 'True' %}
|
||||
<span style="padding-left:10px; padding-top: 8px;">동작중</span>
|
||||
{% else %}
|
||||
{% if is_include == 'True' %}
|
||||
<span style="padding-left:10px; padding-top: 8px;">대기중</span>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
</div>
|
||||
{{ setting_bottom(desc) }}
|
||||
{% endmacro %}
|
||||
|
||||
|
||||
|
||||
|
||||
{% macro setting_global_scheduler_sub_button(is_include, is_running, id='scheduler', left='스케쥴링 작동', desc=['On : 스케쥴링 시작','Off : 스케쥴링 중지']) %}
|
||||
{{ setting_top(left) }}
|
||||
<div class="input-group col-sm-3">
|
||||
{% if is_include == 'True' %}
|
||||
<input id="global_scheduler_sub" name="global_scheduler_sub" class="form-control form-control-sm" type="checkbox" data-toggle="toggle" checked>
|
||||
{% else %}
|
||||
<input id="global_scheduler_sub" name="global_scheduler_sub" class="form-control form-control-sm" type="checkbox" data-toggle="toggle">
|
||||
{% endif %}
|
||||
{% if is_running == 'True' %}
|
||||
<span style="padding-left:10px; padding-top: 8px;">동작중</span>
|
||||
{% else %}
|
||||
{% if is_include == 'True' %}
|
||||
<span style="padding-left:10px; padding-top: 8px;">대기중</span>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
</div>
|
||||
{{ setting_bottom(desc) }}
|
||||
{% endmacro %}
|
||||
|
||||
{% macro setting_global_scheduler_sublogic_button(is_include, is_running, id='scheduler', left='스케쥴링 작동', desc=['On : 스케쥴링 시작','Off : 스케쥴링 중지']) %}
|
||||
{{ setting_top(left) }}
|
||||
<div class="input-group col-sm-3">
|
||||
{% if is_include == 'True' %}
|
||||
<input id="global_scheduler_sublogic" name="global_scheduler_sublogic" class="form-control form-control-sm" type="checkbox" data-toggle="toggle" checked>
|
||||
{% else %}
|
||||
<input id="global_scheduler_sublogic" name="global_scheduler_sublogic" class="form-control form-control-sm" type="checkbox" data-toggle="toggle">
|
||||
{% endif %}
|
||||
{% if is_running == 'True' %}
|
||||
<span style="padding-left:10px; padding-top: 8px;">동작중</span>
|
||||
{% else %}
|
||||
{% if is_include == 'True' %}
|
||||
<span style="padding-left:10px; padding-top: 8px;">대기중</span>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
</div>
|
||||
{{ setting_bottom(desc) }}
|
||||
{% endmacro %}
|
||||
|
||||
|
||||
|
||||
@@ -803,14 +858,7 @@ macros.setting_button_with_info([['toggle_btn', 'Toggle', [{'key':'category', 'v
|
||||
{% endmacro %}
|
||||
|
||||
|
||||
{% macro m_hr_head_top() %}
|
||||
<div class="d-inline-block"></div>
|
||||
<hr style="width: 100%; margin:0px; background-color:#808080;">
|
||||
{% endmacro %}
|
||||
|
||||
{% macro m_hr_head_bottom() %}
|
||||
<hr style="width: 100%; margin:0px; margin-bottom:10px; margin-top:2px; background-color:#808080; height:2px" />
|
||||
{% endmacro %}
|
||||
|
||||
{% macro m_button(id, text) %}
|
||||
<button id="{{id}}" name="{{id}}" class="btn btn-sm btn-outline-primary">{{text}}</button>
|
||||
@@ -836,59 +884,6 @@ macros.setting_button_with_info([['toggle_btn', 'Toggle', [{'key':'category', 'v
|
||||
|
||||
|
||||
|
||||
{% macro m_modal_start(id, title, size) %}
|
||||
<!-- Modal -->
|
||||
<div class="modal fade" id="{{id}}" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
|
||||
<div class="modal-dialog {{size}}">
|
||||
<div class="modal-content">
|
||||
|
||||
<div class="modal-header">
|
||||
<h4 class="modal-title" id="{{id}}_title">{{title}}</h4>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
</div>
|
||||
<div class="modal-body" id="modal_body" style="word-break:break-all;">
|
||||
{% endmacro %}
|
||||
|
||||
{% macro m_modal_end() %}
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal">닫기</button>
|
||||
</div>
|
||||
<div class="loading" id="modal_loading">
|
||||
<img src="/static/img/loading.gif" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Modal end -->
|
||||
{% endmacro %}
|
||||
|
||||
|
||||
{% macro m_modal_start2(id, title, size) %}
|
||||
<!-- Modal -->
|
||||
<div class="modal fade" id="{{id}}" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
|
||||
<div class="modal-dialog {{size}}">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h4 class="modal-title" id="{{id}}_title">{{title}}</h4>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||
</div>
|
||||
<div class="loading" id="modal_loading">
|
||||
<img src="/static/img/loading.gif" />
|
||||
</div>
|
||||
{% endmacro %}
|
||||
|
||||
{% macro m_modal_end2() %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Modal end -->
|
||||
{% endmacro %}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
{% macro row_start(padding='10') %}
|
||||
<div class='row' style="padding-top: {{padding}}px; padding-bottom:{{padding}}px; align-items: center;">
|
||||
@@ -1002,16 +997,3 @@ macros.setting_button_with_info([['toggle_btn', 'Toggle', [{'key':'category', 'v
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- 다른이름으로 정의함. 나중에 삭제 -->
|
||||
{% macro buttons(buttons, left='', desc='') %}
|
||||
{{ setting_top(left) }}
|
||||
<div class="input-group col-sm-9">
|
||||
<div class="btn-group btn-group-sm flex-wrap mr-2" role="group">
|
||||
{% for b in buttons %}
|
||||
<button id="{{b[0]}}" class="btn btn-sm btn-outline-primary">{{b[1]}}</button>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
{{ setting_bottom(desc) }}
|
||||
{% endmacro %}
|
||||
@@ -14,7 +14,7 @@
|
||||
<div class="modal-body" id="modal_body" style="word-break:break-all;">
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal">닫기</button>
|
||||
<button type="button" class="btn btn-warning" data-dismiss="modal">닫기</button>
|
||||
<!--<button type="button" class="btn btn-primary">Save changes</button>-->
|
||||
</div>
|
||||
</div>
|
||||
@@ -70,7 +70,7 @@
|
||||
<div class="modal-footer">
|
||||
<button type="button" id='select_local_file_modal_confirm_btn' class="btn btn-success" data-dismiss="modal">선택
|
||||
</button>
|
||||
<button type="button" id='select_local_file_modal_cancel_btn' class="btn btn-default" data-dismiss="modal">닫기
|
||||
<button type="button" id='select_local_file_modal_cancel_btn' class="btn btn-warning" data-dismiss="modal">닫기
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
{% if 'uri' in category and category['uri'].startswith('http') %}
|
||||
<li class="nav-item"> <a class="nav-link" href="{{ category['uri']}}" target="_blank">{{category['name']}}</a></li>
|
||||
{% elif 'uri' in category and category['uri'].startswith('http') == False %}
|
||||
<li class="nav-item"> <a class="nav-link" href="{{ category['uri']}}">{{category['name']}}</a></li>
|
||||
<li class="nav-item"> <a class="nav-link" href="/{{ category['uri']}}">{{category['name']}}</a></li>
|
||||
{% else %}
|
||||
<!--{{ category }}-->
|
||||
<li class="nav-item dropdown">
|
||||
@@ -134,10 +134,11 @@
|
||||
{% if current_menu[0] == plugin['uri'] and 'list' in plugin %}
|
||||
{% for module in plugin['list'] %}
|
||||
{% if module['uri'] == current_menu[1] and 'list' in module%}
|
||||
<!--{{ module }}-->
|
||||
<!-- {{ module }} -->
|
||||
<ul class="nav nav-pills bg-light shadow text-dark">
|
||||
{% for page in module['list'] %}
|
||||
{% if current_menu[2] == page['uri'] %}
|
||||
<!--{{ current_menu }}-->
|
||||
{% if current_menu[2]!= None and page['uri'].startswith(current_menu[2]) %}
|
||||
<li class="nav-item"><a class="nav-link active" href="/{{ current_menu[0] }}/{{ current_menu[1] }}/{{ page['uri'] }}">{{page['name']}}</a></li>
|
||||
{% else %}
|
||||
<li class="nav-item"><a class="nav-link" href="/{{ current_menu[0] }}/{{ current_menu[1] }}/{{ page['uri'] }}">{{page['name']}}</a></li>
|
||||
|
||||
@@ -1,30 +1,32 @@
|
||||
{% extends "base.html" %}
|
||||
{% block content %}
|
||||
|
||||
{% filter markdown %}
|
||||
{{ data }}
|
||||
{% endfilter %}
|
||||
<script src="https://cdn.jsdelivr.net/gh/google/code-prettify@master/loader/run_prettify.js?autorun=true&lang=css&lang=python&skin=sunburst"></script>
|
||||
|
||||
|
||||
<style type="text/css">
|
||||
img{
|
||||
<script src="{{ url_for('static', filename='js/showdown_2.1.0.js') }}"></script>
|
||||
<script src="{{ url_for('static', filename='js/showdown-prettify.js') }}"></script>
|
||||
<link href="{{ url_for('static', filename='css/showdown.css') }}" rel="stylesheet">
|
||||
|
||||
display: block;
|
||||
max-width: 100%;
|
||||
|
||||
margin-right: auto;
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
<div id="md_div" data-url="{{ arg }}"></div>
|
||||
<div id="content_div" data-url="{{ arg }}"></div>
|
||||
|
||||
<meta id="text" data-text="{{data}}">
|
||||
<div id="text_div"></div>
|
||||
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function(){
|
||||
//$('#main_container').attr('class', 'container-fluid');
|
||||
});
|
||||
$(document).ready(function(){
|
||||
var converter = new showdown.Converter({extensions: ['prettify']});
|
||||
converter.setOption('tables', true);
|
||||
converter.setOption('strikethrough', true);
|
||||
converter.setOption('ghCodeBlocks',true);
|
||||
|
||||
text = $('#text').data('text');
|
||||
if (window.location.href.endsWith('.yaml')) {
|
||||
text = "```" + text + "```";
|
||||
}
|
||||
html = converter.makeHtml(text);
|
||||
$('#text_div').html(html);
|
||||
});
|
||||
</script>
|
||||
{% endblock %}
|
||||
|
||||
30
lib/framework/templates/manual_old.html
Normal file
30
lib/framework/templates/manual_old.html
Normal file
@@ -0,0 +1,30 @@
|
||||
{% extends "base.html" %}
|
||||
{% block content %}
|
||||
|
||||
{% filter markdown %}
|
||||
{{ data }}
|
||||
{% endfilter %}
|
||||
|
||||
|
||||
<style type="text/css">
|
||||
img{
|
||||
|
||||
display: block;
|
||||
max-width: 100%;
|
||||
|
||||
margin-right: auto;
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
<div id="md_div" data-url="{{ arg }}"></div>
|
||||
<div id="content_div" data-url="{{ arg }}"></div>
|
||||
|
||||
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function(){
|
||||
//$('#main_container').attr('class', 'container-fluid');
|
||||
});
|
||||
</script>
|
||||
{% endblock %}
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
|
||||
<html>
|
||||
<title>{{data['play_title']}}</title>
|
||||
<script src="https://vjs.zencdn.net/7.11.4/video.min.js"></script>
|
||||
<link href="https://vjs.zencdn.net/7.11.4/video-js.css" rel="stylesheet" />
|
||||
@@ -63,3 +65,4 @@ player.ready(function(){
|
||||
|
||||
player.play();
|
||||
</script>
|
||||
</html>
|
||||
|
||||
90
lib/framework/templates/videojs_discord.html
Normal file
90
lib/framework/templates/videojs_discord.html
Normal file
@@ -0,0 +1,90 @@
|
||||
<title>aaaa</title>
|
||||
|
||||
|
||||
<meta charset="UTF-8">
|
||||
<meta content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0" name="viewport">
|
||||
<meta content="ie=edge" http-equiv="X-UA-Compatible">
|
||||
<meta content="width=device-width, initial-scale=1" name="viewport">
|
||||
<link href="/media/avatar.png" rel="icon" type="image/jpeg">
|
||||
<link crossorigin="anonymous" href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.1/dist/css/bootstrap.min.css" integrity="sha384-F3w7mX95PdgyTmZZMECAngseQB83DfGTowi0iMjiWaeVhAn4FJkqJByhZMI3AhiU" rel="stylesheet" />
|
||||
<link href="https://unpkg.com/aos@2.3.1/dist/aos.css" rel="stylesheet" />
|
||||
<link href="https://unpkg.com/swiper@7/swiper-bundle.min.css" rel="stylesheet" />
|
||||
<link href='https://unpkg.com/boxicons@2.1.2/css/boxicons.min.css' rel='stylesheet'>
|
||||
<link href="/css/style.css" rel="stylesheet" />
|
||||
<link href="/css/style_dark.css" rel="stylesheet" />
|
||||
<link href="/media/favicon.png" rel="icon" type="image/jpeg">
|
||||
<meta property="og:site_name" content="aaaaaaaaaaaaaaaaa" />
|
||||
<meta property="og:url" content="https://ff.soju6jan.synology.me/gds_tool/api/route/streaming.mp4?apikey=ooo5298ooo&type=file&id=1gtpG7CAUKTWu6wxWtCKx-XN01PMz70v8" />
|
||||
<meta property="og:type" content="video.other" />
|
||||
<meta property="og:title" content="Mini rengar xD" />
|
||||
<meta property="og:image" content="https://outplays.eu/Q5THkfY3/thumbnail.png" />
|
||||
<meta property="og:video" content="https://ff.soju6jan.synology.me/gds_tool/api/route/streaming.mp4?apikey=ooo5298ooo&type=file&id=1gtpG7CAUKTWu6wxWtCKx-XN01PMz70v8" />
|
||||
<meta property="og:video:type" content="video/mp4" />
|
||||
<meta property="og:video:secure_url" content="https://ff.soju6jan.synology.me/gds_tool/api/route/streaming.mp4?apikey=ooo5298ooo&type=file&id=1gtpG7CAUKTWu6wxWtCKx-XN01PMz70v8" />
|
||||
<meta property="og:video:height" content="1080" />
|
||||
<meta property="og:video:width" content="1920" />
|
||||
<meta property="og:image:height" content="1080" />
|
||||
<meta property="og:image:width" content="1920" />
|
||||
|
||||
|
||||
|
||||
<script src="https://vjs.zencdn.net/7.11.4/video.min.js"></script>
|
||||
<link href="https://vjs.zencdn.net/7.11.4/video-js.css" rel="stylesheet" />
|
||||
|
||||
<body bgcolor='black'>
|
||||
<video id=player width=960 height=540 class="video-js vjs-default-skin vjs-16-9" autoplay controls>
|
||||
<source
|
||||
src="https://ff.soju6jan.synology.me/gds_tool/api/route/streaming.mp4?apikey=ooo5298ooo&type=file&id=1gtpG7CAUKTWu6wxWtCKx-XN01PMz70v8"
|
||||
type="application/x-mpegURL" />
|
||||
</video>
|
||||
</body>
|
||||
|
||||
<script>
|
||||
var subtitle_src = "aaaa";
|
||||
let options = {
|
||||
html5: {
|
||||
nativeTextTracks: false
|
||||
},
|
||||
playbackRates: [.5, .75, 1, 1.5, 2],
|
||||
controls: true,
|
||||
preload: "auto",
|
||||
controlBar: {
|
||||
playToggle: false,
|
||||
pictureInPictureToggle: false,
|
||||
remainingTimeDisplay: true,
|
||||
qualitySelector: true,
|
||||
}
|
||||
};
|
||||
let player = videojs('player', options);
|
||||
|
||||
player.ready(function(){
|
||||
// set subtitle track
|
||||
if (subtitle_src != "") {
|
||||
var suburl = subtitle_src.replace(/&/g, '&');
|
||||
let captionOption = {
|
||||
kind: 'captions',
|
||||
srclang: 'ko',
|
||||
label: 'Korean',
|
||||
src: suburl,
|
||||
mode: 'showing'
|
||||
};
|
||||
player.addRemoteTextTrack(captionOption);
|
||||
|
||||
var settings = this.textTrackSettings;
|
||||
settings.setValues({
|
||||
"backgroundColor": "#000",
|
||||
"backgroundOpacity": "0",
|
||||
"edgeStyle": "uniform",
|
||||
});
|
||||
settings.updateDisplay();
|
||||
}
|
||||
else {
|
||||
var tracks = player.textTracks();
|
||||
for (var i = 0; i < tracks.length; i++) {
|
||||
var track = tracks[i];
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
player.play();
|
||||
</script>
|
||||
Reference in New Issue
Block a user