* @param array $a
* @return FluidbookTheme
*/
- public static function fromArray(array $a)
+ public static function fromArray(array $a, $base = null)
{
- $res = new FluidbookTheme();
- $res->id = self::hashThemeArray($a);
+ if (null === $base) {
+ $res = new FluidbookTheme();
+ $res->id = self::hashThemeArray($a);
+ } else {
+ $res = FluidbookTheme::find($base);
+ }
+
foreach ($a as $k => $v) {
$res->setAttribute($k, $v);
}
<script>
(function ($) {
$(function () {
- $(document).on('change', 'form input,select,textarea', function () {
+ $(document).on('change', 'form input,select,textarea,.dropzone', function () {
var previewURL = "{!! $previewURL !!}";
var variables = {};
var ignore = ['http_referrer', '_method', '_token', 'slug', 'save_action'];
if (ignore.indexOf(v.name) >= 0) {
return;
}
- if ($(form).find(':hidden[name="' + v.name + '"]').nextAll('.dropzone').length > 0) {
- return;
- }
variables[v.name] = v.value;
});
- $('.dropzone').each(function () {
- var file = $(this).find('span[data-dz-name]');
- var filename = '';
- if ($(file).length > 0) {
- filename = $(file).text();
- }
- var k = $(this).closest('.dropzone').prevAll(':hidden');
- if ($(k).length === 0) {
- return;
- }
- var name = $(k).val();
- variables[name] = filename;
- });
-
+ // $('.dropzone').each(function () {
+ // var file = $(this).find('span[data-dz-name]');
+ // var filename = '';
+ // if ($(file).length > 0) {
+ // filename = $(file).text();
+ // }
+ // var k = $(this).closest('.dropzone').prevAll(':hidden');
+ // if ($(k).length === 0) {
+ // return;
+ // }
+ // var name = $(k).val();
+ // variables[name] = filename;
+ // });
+ console.log(variables);
var json = JSON.stringify(variables);
var url = previewURL.replace('&theme=', '&theme=' + encodeURIComponent(json));
document.getElementById('themePreviewIframe').src = url;