Skip to content

Commit

Permalink
테마 에디터 개선
Browse files Browse the repository at this point in the history
  • Loading branch information
woongbin committed Jun 24, 2019
1 parent 39fd16c commit d8c69e5
Show file tree
Hide file tree
Showing 6 changed files with 84 additions and 42 deletions.
17 changes: 14 additions & 3 deletions app/Http/Controllers/ThemeSettingsController.php
Expand Up @@ -184,10 +184,20 @@ public function deleteConfig(Request $request, ThemeHandler $themeHandler)

public function edit(Request $request, ThemeHandler $themeHandler)
{
$this->validate($request, ['theme' => 'required']);
$themes = $themeHandler->getAllTheme();
$blankThemeClass = app('config')->get('xe.theme.blank');
$blankThemeId = $blankThemeClass::getId();

$themeId = $request->get('theme');
$fileName = $request->get('file');
if (isset($themes[$blankThemeId]) == true) {
unset($themes[$blankThemeId]);
}

$themeId = $request->get('theme', null);
if ($themeId == null) {
$themeId = array_first($themes)->getId();
}

$fileName = $request->get('file', null);

$theme = \XeTheme::getTheme($themeId);

Expand Down Expand Up @@ -223,6 +233,7 @@ public function edit(Request $request, ThemeHandler $themeHandler)
$editFile['content'] = $fileContent;

return \XePresenter::make('theme.edit', [
'themes' => $themes,
'theme' => $theme,
'files' => $files,
'editFile' => $editFile
Expand Down
4 changes: 4 additions & 0 deletions resources/lang/common.php
Expand Up @@ -3242,6 +3242,10 @@
'ko' => '테마 에디터',
'en' => 'Theme editor'
],
'themeEditorDescription' => [
'ko' => '테마 상세 편집 기능을 제공합니다.',
'en' => 'Provides theme edit function.'
],
'extensionEditor' => [
'ko' => '익스텐션 에디터',
'en' => 'Extension editor'
Expand Down
8 changes: 4 additions & 4 deletions resources/views/plugin/skins/default/theme/config.blade.php
Expand Up @@ -4,12 +4,12 @@
@stop

@section('page_description')
<p>{{xe_trans('xe::themeSettingsDescription')}}<br><br></p>
<small>{{xe_trans('xe::themeSettingsDescription')}}</small>
@stop

<div class="row">
<div class="col-sm-12">
<form id="setting-form" role="form" action="{{ route('settings.theme.setting', ['theme'=>request()->get('theme')]) }}" method="post" enctype="multipart/form-data">
<form id="setting-form" role="form" action="{{ route('settings.theme.config', ['theme'=>request()->get('theme')]) }}" method="post" enctype="multipart/form-data">
<div class="panel-group">
<div class="panel">
{{--<div class="panel-heading">--}}
Expand Down Expand Up @@ -44,7 +44,7 @@

<div id="addConfig" class="modal fade" tabindex="-1" role="dialog">
<div class="modal-dialog">
<form action="{{ route('settings.theme.setting') }}" method="POST">
<form action="{{ route('settings.theme.config') }}" method="POST">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
Expand All @@ -66,7 +66,7 @@

<script>
jQuery(function($) {
{{--var $configUrl = '{{ route('settings.theme.setting') }}'--}}
{{--var $configUrl = '{{ route('settings.theme.config') }}'--}}
{{--$('#__xe_selectConfig').change(function(){--}}
{{--var themeId = this.value;--}}
{{--location.href = $configUrl + '?theme=' + themeId;--}}
Expand Down
87 changes: 57 additions & 30 deletions resources/views/plugin/skins/default/theme/edit.blade.php
@@ -1,14 +1,42 @@
@section('page_title')
<h2>{{ xe_trans('xe::editTheme') }} - {{ $theme->getTitle() }}</h2>
@stop
@section('page_title')
<h2>{{ xe_trans('xe::themeEditor') }}</h2>
@stop

@section('page_description')
{{xe_trans('xe::editThemeDescription')}}
@stop
@section('page_description')
<small>{{xe_trans('xe::themeEditorDescription')}}</small>
@stop

@if(count($files) === 0)
<p>{{xe_trans('xe::themeNotSupportEdit')}}</p>
@else
<div class="col-sm-12">
<div class="panel-group">
<div class="panel admin-tab">
<div class="pull-left">
{{ $theme->getTitle() }}
</div>

<div class="pull-right">
<div class="input-group search-group">
<div class="input-group-btn">
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-expanded="false">
<span class="selected-type">{{$theme->getTitle()}}</span>
<span class="caret"></span>
</button>
<ul class="dropdown-menu" role="menu">
@foreach ($themes as $editableTheme)
<li>
<a href="{{route('settings.theme.edit', ['theme' => $editableTheme->getId()])}}" data-target="query"><span>{{$editableTheme->getTitle()}}</span></a>
</li>
@endforeach
</ul>
</div>
</div>
</div>
</div>
</div>
</div>

@if(count($files) === 0)
<p>{{xe_trans('xe::themeNotSupportEdit')}}</p>
@else
<div class="row">
<div class="col-md-2">
<ul class="nav nav-pills nav-stacked" style="margin-bottom: 10px;">
Expand Down Expand Up @@ -65,7 +93,7 @@
</div>
</div>

@if($editFile['hasCache'])
@if($editFile['hasCache'])
<div class="modal fade" id="resetModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
<div class="modal-dialog" role="document">
<div class="modal-content">
Expand All @@ -88,28 +116,27 @@
</div>
</div>
</div>
@endif

@endif
@endif

{!!
XeFrontend::html('theme.insert-widget')->content("
<script>
jQuery(function($) {
$('.__xe_insert_widget').click(function(){
$('#widgetGen').widgetGenerator().generate(function(data){
{!!
XeFrontend::html('theme.insert-widget')->content("
<script>
jQuery(function($) {
$('.__xe_insert_widget').click(function(){
$('#widgetGen').widgetGenerator().generate(function(data){
$('#widgetModal').modal('hide');
$('#widgetModal').modal('hide');
// add code to textarea
var txt = $('textarea[name=content]');
var caretPos = txt[0].selectionStart;
var textAreaTxt = txt.val();
txt.val(textAreaTxt.substring(0, caretPos) + data.code + textAreaTxt.substring(caretPos) );
// add code to textarea
var txt = $('textarea[name=content]');
var caretPos = txt[0].selectionStart;
var textAreaTxt = txt.val();
txt.val(textAreaTxt.substring(0, caretPos) + data.code + textAreaTxt.substring(caretPos) );
});
})
});
</script>
")->load();
!!}
});
})
});
</script>
")->load();
!!}
4 changes: 2 additions & 2 deletions resources/views/uiobjects/theme/themeSelect.blade.php
Expand Up @@ -42,7 +42,7 @@
<a href="{{ route('settings.theme.config', ['theme' => $configId]) }}" class="btn btn-link"><i class="xi-cog"></i><span class="hidden-xs">{{xe_trans('xe::modify')}}</span></a>
@endif
<a href="{{ url($previewLink.'preview_theme='.$configId) }}" target="_blank" class="btn btn-link"><i class="xi-search"></i><span class="hidden-xs">{{xe_trans('xe::preview')}}</span></a>
<a href="#" target="_blank" class="btn btn-link __xe_theme_config_delete" onclick="return false;" data-id="{{$configId}}" data-url="{{route('settings.theme.setting')}}"><i class="xi-trash"></i><span class="hidden-xs">{{xe_trans('xe::delete')}}</span></a>
<a href="#" target="_blank" class="btn btn-link __xe_theme_config_delete" onclick="return false;" data-id="{{$configId}}" data-url="{{route('settings.theme.config')}}"><i class="xi-trash"></i><span class="hidden-xs">{{xe_trans('xe::delete')}}</span></a>
</div>
</li>
@endforeach
Expand All @@ -61,7 +61,7 @@
{{ XeFrontend::html('theme.config')->content('
<div id="addConfig" class="modal fade" tabindex="-1" role="dialog">
<div class="modal-dialog">
<form action="'.route('settings.theme.setting').'" method="POST" onsubmit="$(\'.__xe_submit_btn\').button(\'loading\')">
<form action="'.route('settings.theme.config').'" method="POST" onsubmit="$(\'.__xe_submit_btn\').button(\'loading\')">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
Expand Down
6 changes: 3 additions & 3 deletions routes/web.php
Expand Up @@ -625,9 +625,9 @@ function () {

Route::group(['prefix' => 'config'], function () {
Route::get('/', ['as' => 'settings.theme.config', 'uses' => 'ThemeSettingsController@editConfig']);
Route::put('/', ['as' => 'settings.theme.setting', 'uses' => 'ThemeSettingsController@updateConfig']);
Route::delete('/', ['as' => 'settings.theme.setting', 'uses' => 'ThemeSettingsController@deleteConfig']);
Route::post('/', ['as' => 'settings.theme.setting', 'uses' => 'ThemeSettingsController@createConfig']);
Route::put('/', ['as' => 'settings.theme.config', 'uses' => 'ThemeSettingsController@updateConfig']);
Route::delete('/', ['as' => 'settings.theme.config', 'uses' => 'ThemeSettingsController@deleteConfig']);
Route::post('/', ['as' => 'settings.theme.config', 'uses' => 'ThemeSettingsController@createConfig']);
});

Route::group(
Expand Down

0 comments on commit d8c69e5

Please sign in to comment.