add some visual feedback if the operation was succesful or not
This commit is contained in:
parent
10f6ca20bc
commit
cc321bc140
|
@ -22,3 +22,7 @@
|
||||||
#theming .icon-upload {
|
#theming .icon-upload {
|
||||||
display: inline-flex;
|
display: inline-flex;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
div#theming_settings_msg {
|
||||||
|
margin-left: 10px;
|
||||||
|
}
|
||||||
|
|
|
@ -20,9 +20,14 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
function setThemingValue(setting, value) {
|
function setThemingValue(setting, value) {
|
||||||
|
OC.msg.startSaving('#theming_settings_msg');
|
||||||
$.post(
|
$.post(
|
||||||
OC.generateUrl('/apps/theming/ajax/updateStylesheet'), {'setting' : setting, 'value' : value}
|
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);
|
preview(setting, value);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -45,12 +50,15 @@ $(document).ready(function () {
|
||||||
|
|
||||||
var uploadparms = {
|
var uploadparms = {
|
||||||
pasteZone: null,
|
pasteZone: null,
|
||||||
done: function (e, data) {
|
done: function (e, response) {
|
||||||
preview('logoName', data.result.name);
|
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){
|
fail: function (e, data){
|
||||||
|
OC.msg.finishedSaving('#theming_settings_msg', response);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -86,18 +94,20 @@ $(document).ready(function () {
|
||||||
|
|
||||||
$('.theme-undo').click(function (e) {
|
$('.theme-undo').click(function (e) {
|
||||||
var setting = $(this).data('setting');
|
var setting = $(this).data('setting');
|
||||||
|
OC.msg.startSaving('#theming_settings_msg');
|
||||||
$.post(
|
$.post(
|
||||||
OC.generateUrl('/apps/theming/ajax/undoChanges'), {'setting' : setting}
|
OC.generateUrl('/apps/theming/ajax/undoChanges'), {'setting' : setting}
|
||||||
).done(function(data) {
|
).done(function(response) {
|
||||||
if (setting === 'color') {
|
if (setting === 'color') {
|
||||||
var colorPicker = document.getElementById('theming-color');
|
var colorPicker = document.getElementById('theming-color');
|
||||||
colorPicker.style.backgroundColor = data.value;
|
colorPicker.style.backgroundColor = response.data.value;
|
||||||
colorPicker.value = data.value.slice(1);
|
colorPicker.value = response.data.value.slice(1);
|
||||||
} else if (setting !== 'logoName') {
|
} else if (setting !== 'logoName') {
|
||||||
var input = document.getElementById('theming-'+setting);
|
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 OCA\Theming\Template;
|
||||||
use OCP\AppFramework\Controller;
|
use OCP\AppFramework\Controller;
|
||||||
|
use OCP\AppFramework\Http;
|
||||||
use OCP\AppFramework\Http\DataResponse;
|
use OCP\AppFramework\Http\DataResponse;
|
||||||
|
use OCP\IL10N;
|
||||||
use OCP\IRequest;
|
use OCP\IRequest;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -40,10 +42,27 @@ class ThemingController extends Controller {
|
||||||
/** @var Template */
|
/** @var Template */
|
||||||
private $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);
|
parent::__construct($appName, $request);
|
||||||
|
|
||||||
$this->template = $template;
|
$this->template = $template;
|
||||||
|
$this->l = $l;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -54,7 +73,15 @@ class ThemingController extends Controller {
|
||||||
*/
|
*/
|
||||||
public function updateStylesheet($setting, $value) {
|
public function updateStylesheet($setting, $value) {
|
||||||
$this->template->set($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() {
|
public function updateLogo() {
|
||||||
$newLogo = $this->request->getUploadedFile('uploadlogo');
|
$newLogo = $this->request->getUploadedFile('uploadlogo');
|
||||||
if (empty($newLogo)) {
|
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']);
|
$this->template->set('logoName', $newLogo['name']);
|
||||||
rename($newLogo['tmp_name'], \OC::$SERVERROOT . '/themes/theming-app/core/img/' . $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) {
|
public function undo($setting) {
|
||||||
$value = $this->template->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');
|
style('theming', 'settings-admin');
|
||||||
?>
|
?>
|
||||||
<div id="theming" class="section">
|
<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) { ?>
|
<?php if ($_['themable'] === false) { ?>
|
||||||
<p>
|
<p>
|
||||||
<?php p($_['errorMessage']) ?>
|
<?php p($_['errorMessage']) ?>
|
||||||
|
|
Loading…
Reference in New Issue