Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
package-bricks
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
16
Issues
16
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Incidents
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
QUIQQER
package-bricks
Commits
0deba9fe
Commit
0deba9fe
authored
Oct 10, 2019
by
Henning Leutz
🥋
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'dev'
parents
9f235afa
4e6e7a1d
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
65 additions
and
24 deletions
+65
-24
ajax/brick/save.php
ajax/brick/save.php
+10
-2
bin/BrickEdit.js
bin/BrickEdit.js
+26
-21
src/QUI/Bricks/Brick.php
src/QUI/Bricks/Brick.php
+29
-1
No files found.
ajax/brick/save.php
View file @
0deba9fe
...
...
@@ -16,11 +16,19 @@ QUI::$Ajax->registerFunction(
'package_quiqqer_bricks_ajax_brick_save'
,
function
(
$brickId
,
$data
)
{
$BrickManager
=
QUI\Bricks\Manager
::
init
();
$
BrickManager
->
saveBrick
(
$brickId
,
\
json_decode
(
$data
,
true
)
);
$
data
=
\
json_decode
(
$data
,
true
);
$BrickManager
->
saveBrick
(
$brickId
,
$data
);
$Brick
=
$BrickManager
->
getBrickById
(
$brickId
);
return
$Brick
->
getAttributes
();
return
[
'attributes'
=>
$Brick
->
getAttributes
(),
'settings'
=>
$Brick
->
getSettings
(),
'customfields'
=>
$Brick
->
getCustomFields
(),
'availableSettings'
=>
$BrickManager
->
getAvailableBrickSettingsByBrickType
(
$Brick
->
getAttribute
(
'type'
)
)
];
},
[
'brickId'
,
'data'
],
'Permission::checkAdminUser'
...
...
bin/BrickEdit.js
View file @
0deba9fe
...
...
@@ -26,7 +26,7 @@ define('package/quiqqer/bricks/bin/BrickEdit', [
'
css!package/quiqqer/bricks/bin/BrickEdit.css
'
],
function
(
QUI
,
QUIPanel
,
QUIConfirm
,
BrickAreas
,
QUIAjax
,
QUILocale
,
Projects
,
QUIFormUtils
,
ControlUtils
,
Template
,
Bricks
Projects
,
QUIFormUtils
,
ControlUtils
,
Template
,
Bricks
)
{
"
use strict
"
;
...
...
@@ -65,14 +65,14 @@ define('package/quiqqer/bricks/bin/BrickEdit', [
initialize
:
function
(
options
)
{
this
.
parent
(
options
);
this
.
$availableBricks
=
[];
this
.
$availableBricks
=
[];
this
.
$availableSettings
=
[];
this
.
$customfields
=
[];
this
.
$loaded
=
false
;
this
.
$customfields
=
[];
this
.
$loaded
=
false
;
this
.
$Container
=
null
;
this
.
$Editor
=
false
;
this
.
$Areas
=
false
;
this
.
$Editor
=
false
;
this
.
$Areas
=
false
;
this
.
addEvents
({
onInject
:
this
.
$onInject
,
...
...
@@ -186,7 +186,7 @@ define('package/quiqqer/bricks/bin/BrickEdit', [
*/
this
.
$availableBricks
=
bricks
;
this
.
$availableSettings
=
brick
.
availableSettings
;
this
.
$customfields
=
brick
.
customfields
;
this
.
$customfields
=
brick
.
customfields
;
this
.
setAttribute
(
'
data
'
,
brick
);
...
...
@@ -258,7 +258,7 @@ define('package/quiqqer/bricks/bin/BrickEdit', [
data
.
customfields
=
self
.
$customfields
;
return
Bricks
.
saveBrick
(
self
.
getAttribute
(
'
id
'
),
data
).
then
(
function
()
{
return
Bricks
.
saveBrick
(
self
.
getAttribute
(
'
id
'
),
data
).
then
(
function
(
attributes
)
{
QUI
.
getMessageHandler
().
then
(
function
(
MH
)
{
MH
.
addSuccess
(
QUILocale
.
get
(
lg
,
'
message.brick.save.success
'
)
...
...
@@ -347,10 +347,7 @@ define('package/quiqqer/bricks/bin/BrickEdit', [
break
;
default
:
data
.
attributes
=
Object
.
merge
(
data
.
attributes
,
QUIFormUtils
.
getFormData
(
Form
)
);
data
.
attributes
=
Object
.
merge
(
data
.
attributes
,
QUIFormUtils
.
getFormData
(
Form
));
}
if
(
Form
&&
Form
.
getElement
(
'
[name="frontendTitle"]
'
))
{
...
...
@@ -382,10 +379,18 @@ define('package/quiqqer/bricks/bin/BrickEdit', [
}
if
(
unload
===
'
extra
'
)
{
data
.
settings
=
Object
.
merge
(
data
.
settings
,
QUIFormUtils
.
getFormData
(
Form
)
);
var
extra
=
QUIFormUtils
.
getFormData
(
Form
);
// filter numbers
var
isNumeric
=
function
(
n
)
{
return
!
isNaN
(
parseFloat
(
n
))
&&
isFinite
(
n
);
};
extra
=
Object
.
filter
(
extra
,
function
(
value
,
key
)
{
return
!
isNumeric
(
key
);
});
data
.
settings
=
Object
.
merge
(
data
.
settings
,
extra
);
}
if
(
unload
===
'
content
'
&&
this
.
$Editor
)
{
data
.
attributes
.
content
=
this
.
$Editor
.
getContent
();
...
...
@@ -437,9 +442,9 @@ define('package/quiqqer/bricks/bin/BrickEdit', [
if
(
attributes
.
areas
)
{
areas
=
attributes
.
areas
.
replace
(
/^,*/
,
''
)
.
replace
(
/,*$/
,
''
)
.
split
(
'
,
'
);
.
replace
(
/^,*/
,
''
)
.
replace
(
/,*$/
,
''
)
.
split
(
'
,
'
);
}
// areas
...
...
@@ -692,8 +697,8 @@ define('package/quiqqer/bricks/bin/BrickEdit', [
// extra settings
for
(
i
=
0
,
len
=
this
.
$availableSettings
.
length
;
i
<
len
;
i
++
)
{
setting
=
this
.
$availableSettings
[
i
];
extraFieldId
=
'
extraField_
'
+
id
+
'
_
'
+
i
;
setting
=
this
.
$availableSettings
[
i
];
extraFieldId
=
'
extraField_
'
+
id
+
'
_
'
+
i
;
dataAttributes
=
setting
[
'
data-attributes
'
];
text
=
setting
.
text
;
...
...
src/QUI/Bricks/Brick.php
View file @
0deba9fe
...
...
@@ -92,7 +92,7 @@ class Brick extends QUI\QDOM
}
if
(
isset
(
$params
[
'id'
]))
{
$this
->
id
=
$params
[
'id'
];
$this
->
id
=
(
int
)
$params
[
'id'
];
}
if
(
isset
(
$params
[
'uniqueId'
]))
{
...
...
@@ -440,6 +440,30 @@ class Brick extends QUI\QDOM
}
}
/**
* @param string $name
* @return array|mixed
*/
public
function
getAttribute
(
$name
)
{
if
(
$name
===
'classes'
)
{
return
$this
->
getCSSClasses
();
}
return
parent
::
getAttribute
(
$name
);
}
/**
* @return array
*/
public
function
getAttributes
()
{
$attributes
=
parent
::
getAttributes
();
$attributes
[
'classes'
]
=
$this
->
getCSSClasses
();
return
$attributes
;
}
/**
* This fields can be overwritten by another user
*
...
...
@@ -459,6 +483,10 @@ class Brick extends QUI\QDOM
*/
public
function
addCSSClass
(
$cssClass
)
{
if
(
\
is_array
(
$cssClass
))
{
$cssClass
=
\
implode
(
$cssClass
,
' '
);
}
if
(
!
\
is_string
(
$cssClass
))
{
return
;
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment