add some visual feedback if the operation was succesful or not
This commit is contained in:
parent
10f6ca20bc
commit
cc321bc140
4 changed files with 82 additions and 16 deletions
|
@ -22,3 +22,7 @@
|
|||
#theming .icon-upload {
|
||||
display: inline-flex;
|
||||
}
|
||||
|
||||
div#theming_settings_msg {
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
|
|
@ -20,9 +20,14 @@
|
|||
*/
|
||||
|
||||
function setThemingValue(setting, value) {
|
||||
OC.msg.startSaving('#theming_settings_msg');
|
||||
$.post(
|
||||
OC.generateUrl('/apps/theming/ajax/updateStylesheet'), {'setting' : setting, 'value' : value}
|
||||
);
|
||||
).done(function(response) {
|
||||
OC.msg.finishedSaving('#theming_settings_msg', response);
|
||||
}).fail(function(response) {
|
||||
OC.msg.finishedSaving('#theming_settings_msg', response);
|
||||
});
|
||||
preview(setting, value);
|
||||
}
|
||||
|
||||
|
@ -45,12 +50,15 @@ $(document).ready(function () {
|
|||
|
||||
var uploadparms = {
|
||||
pasteZone: null,
|
||||
done: function (e, data) {
|
||||
preview('logoName', data.result.name);
|
||||
done: function (e, response) {
|
||||
preview('logoName', response.result.data.name);
|
||||
OC.msg.finishedSaving('#theming_settings_msg', response.result);
|
||||
},
|
||||
submit: function(e, data) {
|
||||
submit: function(e, response) {
|
||||
OC.msg.startSaving('#theming_settings_msg');
|
||||
},
|
||||
fail: function (e, data){
|
||||
OC.msg.finishedSaving('#theming_settings_msg', response);
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -86,18 +94,20 @@ $(document).ready(function () {
|
|||
|
||||
$('.theme-undo').click(function (e) {
|
||||
var setting = $(this).data('setting');
|
||||
OC.msg.startSaving('#theming_settings_msg');
|
||||
$.post(
|
||||
OC.generateUrl('/apps/theming/ajax/undoChanges'), {'setting' : setting}
|
||||
).done(function(data) {
|
||||
).done(function(response) {
|
||||
if (setting === 'color') {
|
||||
var colorPicker = document.getElementById('theming-color');
|
||||
colorPicker.style.backgroundColor = data.value;
|
||||
colorPicker.value = data.value.slice(1);
|
||||
colorPicker.style.backgroundColor = response.data.value;
|
||||
colorPicker.value = response.data.value.slice(1);
|
||||
} else if (setting !== 'logoName') {
|
||||
var input = document.getElementById('theming-'+setting);
|
||||
input.value = data.value;
|
||||
input.value = response.data.value;
|
||||
}
|
||||
preview(setting, data.value);
|
||||
preview(setting, response.data.value);
|
||||
OC.msg.finishedSaving('#theming_settings_msg', response);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
|
|
@ -25,7 +25,9 @@ namespace OCA\Theming\Controller;
|
|||
|
||||
use OCA\Theming\Template;
|
||||
use OCP\AppFramework\Controller;
|
||||
use OCP\AppFramework\Http;
|
||||
use OCP\AppFramework\Http\DataResponse;
|
||||
use OCP\IL10N;
|
||||
use OCP\IRequest;
|
||||
|
||||
/**
|
||||
|
@ -39,11 +41,28 @@ class ThemingController extends Controller {
|
|||
|
||||
/** @var Template */
|
||||
private $template;
|
||||
|
||||
public function __construct($appName, IRequest $request, Template $template) {
|
||||
|
||||
/** @var IL10N */
|
||||
private $l;
|
||||
|
||||
/**
|
||||
* ThemingController constructor.
|
||||
*
|
||||
* @param string $appName
|
||||
* @param IRequest $request
|
||||
* @param Template $template
|
||||
* @param IL10N $l
|
||||
*/
|
||||
public function __construct(
|
||||
$appName,
|
||||
IRequest $request,
|
||||
Template $template,
|
||||
IL10N $l
|
||||
) {
|
||||
parent::__construct($appName, $request);
|
||||
|
||||
$this->template = $template;
|
||||
$this->l = $l;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -54,7 +73,15 @@ class ThemingController extends Controller {
|
|||
*/
|
||||
public function updateStylesheet($setting, $value) {
|
||||
$this->template->set($setting, $value);
|
||||
return new DataResponse();
|
||||
return new DataResponse(
|
||||
[
|
||||
'data' =>
|
||||
[
|
||||
'message' => $this->l->t('Saved')
|
||||
],
|
||||
'status' => 'success'
|
||||
]
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -65,12 +92,27 @@ class ThemingController extends Controller {
|
|||
public function updateLogo() {
|
||||
$newLogo = $this->request->getUploadedFile('uploadlogo');
|
||||
if (empty($newLogo)) {
|
||||
return new DataResponse(['message' => 'No logo uploaded'], Http::STATUS_UNPROCESSABLE_ENTITY);
|
||||
return new DataResponse(
|
||||
[
|
||||
'data' => [
|
||||
'message' => $this->l->t('No logo uploaded')
|
||||
]
|
||||
],
|
||||
Http::STATUS_UNPROCESSABLE_ENTITY);
|
||||
}
|
||||
$this->template->set('logoName', $newLogo['name']);
|
||||
rename($newLogo['tmp_name'], \OC::$SERVERROOT . '/themes/theming-app/core/img/' . $newLogo['name']);
|
||||
|
||||
return new DataResponse(['name' => $newLogo['name']]);
|
||||
return new DataResponse(
|
||||
[
|
||||
'data' =>
|
||||
[
|
||||
'name' => $newLogo['name'],
|
||||
'message' => $this->l->t('Saved')
|
||||
],
|
||||
'status' => 'success'
|
||||
]
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -81,6 +123,15 @@ class ThemingController extends Controller {
|
|||
*/
|
||||
public function undo($setting) {
|
||||
$value = $this->template->undo($setting);
|
||||
return new DataResponse(['value' => $value]);
|
||||
return new DataResponse(
|
||||
[
|
||||
'data' =>
|
||||
[
|
||||
'value' => $value,
|
||||
'message' => $this->l->t('Saved')
|
||||
],
|
||||
'status' => 'success'
|
||||
]
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -6,7 +6,8 @@ script('theming', '3rdparty/jscolor/jscolor');
|
|||
style('theming', 'settings-admin');
|
||||
?>
|
||||
<div id="theming" class="section">
|
||||
<h2><?php p($l->t('Theming')); ?></h2>
|
||||
<h2 class="inlineblock"><?php p($l->t('Theming')); ?></h2>
|
||||
<div id="theming_settings_msg" class="msg success inlineblock" style="display: none;">Saved</div>
|
||||
<?php if ($_['themable'] === false) { ?>
|
||||
<p>
|
||||
<?php p($_['errorMessage']) ?>
|
||||
|
|
Loading…
Reference in a new issue