Skip to content
Code-Schnipsel Gruppen Projekte
Commit 3b4a85f0 erstellt von Henning Leutz's avatar Henning Leutz :martial_arts_uniform:
Dateien durchsuchen

brick edit site -> angefangen

Übergeordneter 64a1ff4b
Keine zugehörigen Branchen gefunden
Keine zugehörigen Tags gefunden
Keine zugehörigen Merge Requests gefunden
...@@ -28,6 +28,7 @@ ...@@ -28,6 +28,7 @@
.quiqqer-bricks-site-category-area-list { .quiqqer-bricks-site-category-area-list {
float: left; float: left;
margin: 0;
padding: 0; padding: 0;
position: relative; position: relative;
width: 100%; width: 100%;
......
...@@ -73,6 +73,7 @@ define('package/quiqqer/bricks/bin/Site/Area', [ ...@@ -73,6 +73,7 @@ define('package/quiqqer/bricks/bin/Site/Area', [
this.$SortableButton = false; this.$SortableButton = false;
this.$MoreButton = false; this.$MoreButton = false;
this.$Title = false;
this.$List = false; this.$List = false;
this.$FXExtraBtns = false; this.$FXExtraBtns = false;
this.$ExtraBtns = false; this.$ExtraBtns = false;
...@@ -109,6 +110,9 @@ define('package/quiqqer/bricks/bin/Site/Area', [ ...@@ -109,6 +110,9 @@ define('package/quiqqer/bricks/bin/Site/Area', [
'class' : 'quiqqer-bricks-site-category-area-extraButtons' 'class' : 'quiqqer-bricks-site-category-area-extraButtons'
}); });
this.$Title = this.$Elm.getElement(
'.quiqqer-bricks-site-category-area-title'
);
this.$FXExtraBtns = moofx( this.$ExtraBtns ); this.$FXExtraBtns = moofx( this.$ExtraBtns );
...@@ -197,6 +201,19 @@ define('package/quiqqer/bricks/bin/Site/Area', [ ...@@ -197,6 +201,19 @@ define('package/quiqqer/bricks/bin/Site/Area', [
Site = this.getAttribute( 'Site' ), Site = this.getAttribute( 'Site' ),
Project = Site.getProject(); Project = Site.getProject();
var Loader = new Element('div', {
'class' : 'quiqqer-bricks-site-category-area-loader',
html : '<span class="icon-spinner icon-spin fa fa-spinner fa-spin"></span>',
styles : {
margin : 5
}
}).inject(this.$Elm);
this.$List.setStyles({
position : 'absolute',
opacity : 0
});
QUIAjax.get('package_quiqqer_bricks_ajax_project_getBricks', function(bricks) QUIAjax.get('package_quiqqer_bricks_ajax_project_getBricks', function(bricks)
{ {
self.$AddButton.enable(); self.$AddButton.enable();
...@@ -205,13 +222,47 @@ define('package/quiqqer/bricks/bin/Site/Area', [ ...@@ -205,13 +222,47 @@ define('package/quiqqer/bricks/bin/Site/Area', [
self.$loaded = true; self.$loaded = true;
self.$brickIds.each(function(brickId) { self.$brickIds.each(function(brickId) {
self.addBrickById( brickId ); self.addBrickById(brickId);
}); });
var promises = [];
self.$brickData.each(function(brickData) { self.$brickData.each(function(brickData) {
self.addBrick( brickData ); promises.push(self.addBrick(brickData));
}); });
if (promises.length) {
Promise.resolve(promises).then(function() {
var size = self.$List.getComputedSize(),
titleSize = self.$Title.getComputedSize();
moofx(self.$Elm).animate({
height : size.height + titleSize.height
}, {
duration : 250,
equation : 'cubic-bezier(.42,.4,.46,1.29)',
callback : function() {
self.$List.setStyle('position', null);
moofx(self.$List).animate({
opacity : 1
}, {
duration : 250,
equation : 'ease-out'
});
}
});
Loader.destroy();
});
return;
}
Loader.destroy();
}, { }, {
'package' : 'quiqqer/bricks', 'package' : 'quiqqer/bricks',
project : Project.encode(), project : Project.encode(),
...@@ -238,7 +289,7 @@ define('package/quiqqer/bricks/bin/Site/Area', [ ...@@ -238,7 +289,7 @@ define('package/quiqqer/bricks/bin/Site/Area', [
var self = this, var self = this,
data = this.getData(); data = this.getData();
if ( data.length && !("deactivate" in data[ 0 ]) ) if (data.length && !("deactivate" in data[ 0 ]))
{ {
new QUIConfirm({ new QUIConfirm({
title : QUILocale.get( lg, 'site.area.window.deactivate.title' ), title : QUILocale.get( lg, 'site.area.window.deactivate.title' ),
...@@ -266,38 +317,48 @@ define('package/quiqqer/bricks/bin/Site/Area', [ ...@@ -266,38 +317,48 @@ define('package/quiqqer/bricks/bin/Site/Area', [
/** /**
* Add a brick by its brick data * Add a brick by its brick data
*
* @param {Object} brickData - { brickId:1, inheritance:1 } * @param {Object} brickData - { brickId:1, inheritance:1 }
* @return Promise
*/ */
addBrick : function(brickData) addBrick : function(brickData)
{ {
if ( "deactivate" in brickData ) return new Promise(function(reslove, reject) {
{
this.clear();
this.setAttribute( 'deactivate', true );
this.deactivate();
return;
}
if ("deactivate" in brickData)
{
this.clear();
this.setAttribute( 'deactivate', true );
this.deactivate();
if ( !this.$loaded ) reslove();
{ return;
this.$brickData.push( brickData ); }
return;
}
var BrickNode = this.addBrickById( brickData.brickId );
if ( !BrickNode ) { if (!this.$loaded)
return; {
} this.$brickData.push( brickData );
reslove();
return;
}
var Select = BrickNode.getElement( 'select' ); var BrickNode = this.addBrickById( brickData.brickId );
Select.set( 'data-inheritance', 0 ); if (!BrickNode) {
reject();
return;
}
if ( "inheritance" in brickData ) { var Select = BrickNode.getElement( 'select' );
Select.set( 'data-inheritance', brickData.inheritance );
} Select.set('data-inheritance', 0);
if ("inheritance" in brickData) {
Select.set( 'data-inheritance', brickData.inheritance );
}
}.bind(this));
}, },
/** /**
...@@ -308,9 +369,9 @@ define('package/quiqqer/bricks/bin/Site/Area', [ ...@@ -308,9 +369,9 @@ define('package/quiqqer/bricks/bin/Site/Area', [
*/ */
addBrickById : function(brickId) addBrickById : function(brickId)
{ {
if ( !this.$loaded ) if (!this.$loaded)
{ {
this.$brickIds.push( brickId ); this.$brickIds.push(brickId);
return false; return false;
} }
...@@ -318,13 +379,13 @@ define('package/quiqqer/bricks/bin/Site/Area', [ ...@@ -318,13 +379,13 @@ define('package/quiqqer/bricks/bin/Site/Area', [
return Item.id === brickId; return Item.id === brickId;
}); });
if ( !found.length ) { if (!found.length) {
return false; return false;
} }
var BrickNode = this.createNewBrick(); var BrickNode = this.createNewBrick();
BrickNode.getElement( 'select' ).set( 'value', brickId ); BrickNode.getElement('select').set('value', brickId);
return BrickNode; return BrickNode;
}, },
...@@ -382,7 +443,7 @@ define('package/quiqqer/bricks/bin/Site/Area', [ ...@@ -382,7 +443,7 @@ define('package/quiqqer/bricks/bin/Site/Area', [
}).inject( Elm ); }).inject( Elm );
for ( i = 0, len = this.$availableBricks.length; i < len; i++ ) for (i = 0, len = this.$availableBricks.length; i < len; i++)
{ {
new Element('option', { new Element('option', {
html : this.$availableBricks[ i ].title, html : this.$availableBricks[ i ].title,
...@@ -399,19 +460,17 @@ define('package/quiqqer/bricks/bin/Site/Area', [ ...@@ -399,19 +460,17 @@ define('package/quiqqer/bricks/bin/Site/Area', [
*/ */
getData : function() getData : function()
{ {
if ( this.getAttribute( 'deactivate' ) ) if (this.getAttribute('deactivate'))
{ {
return [{ return [{
deactivate : 1 deactivate : 1
}]; }];
} }
var i, len;
var data = [], var data = [],
bricks = this.$Elm.getElements( 'select' ); bricks = this.$Elm.getElements( 'select' );
for ( i = 0, len = bricks.length; i < len; i++ ) for (var i = 0, len = bricks.length; i < len; i++)
{ {
data.push({ data.push({
brickId : bricks[ i ].value, brickId : bricks[ i ].value,
...@@ -701,7 +760,7 @@ define('package/quiqqer/bricks/bin/Site/Area', [ ...@@ -701,7 +760,7 @@ define('package/quiqqer/bricks/bin/Site/Area', [
text : QUILocale.get( lg, 'site.area.window.delete.text' ), text : QUILocale.get( lg, 'site.area.window.delete.text' ),
information : QUILocale.get( lg, 'site.area.window.delete.information' ), information : QUILocale.get( lg, 'site.area.window.delete.information' ),
maxHeight : 300, maxHeight : 300,
maxWidth : 500, maxWidth : 450,
events : events :
{ {
onSubmit : function() { onSubmit : function() {
...@@ -719,15 +778,27 @@ define('package/quiqqer/bricks/bin/Site/Area', [ ...@@ -719,15 +778,27 @@ define('package/quiqqer/bricks/bin/Site/Area', [
openBrickSettingDialog : function(Select) openBrickSettingDialog : function(Select)
{ {
new QUIConfirm({ new QUIConfirm({
title : QUILocale.get( lg, 'site.area.window.settings.title' ), title : QUILocale.get(lg, 'site.area.window.settings.title'),
icon : 'icon-gear', icon : 'icon-gear',
maxWidth : 400, maxWidth : 600,
maxHeight : 300, maxHeight : 400,
autoclose : false, autoclose : false,
events : events :
{ {
onOpen : function(Win) onOpen : function(Win)
{ {
Win.Loader.show();
require([
'package/quiqqer/bricks/bin/Site/BrickEdit'
], function(BrickEdit) {
new BrickEdit({
brickId : Select.value
}).inject(Win.getContent());
});
/*
var Content = Win.getContent(); var Content = Win.getContent();
Content.set( Content.set(
...@@ -745,6 +816,7 @@ define('package/quiqqer/bricks/bin/Site/Area', [ ...@@ -745,6 +816,7 @@ define('package/quiqqer/bricks/bin/Site/Area', [
elms = Form.elements; elms = Form.elements;
elms.inheritance.checked = Select.get( 'data-inheritance' ).toInt(); elms.inheritance.checked = Select.get( 'data-inheritance' ).toInt();
*/
}, },
onSubmit : function(Win) onSubmit : function(Win)
...@@ -771,7 +843,7 @@ define('package/quiqqer/bricks/bin/Site/Area', [ ...@@ -771,7 +843,7 @@ define('package/quiqqer/bricks/bin/Site/Area', [
new QUIConfirm({ new QUIConfirm({
title : QUILocale.get(lg, 'area.window.settings.title'), title : QUILocale.get(lg, 'area.window.settings.title'),
icon : 'icon-gear', icon : 'icon-gear',
maxWidth : 400, maxWidth : 450,
maxHeight : 300, maxHeight : 300,
autoclose : false, autoclose : false,
events : events :
......
/**
* Area edit control for the site object
*
* @module package/quiqqer/bricks/bin/Site/Area
* @author www.pcsg.de (Henning Leutz)
*
*/
define('package/quiqqer/bricks/bin/Site/BrickEdit', [
'qui/QUI',
'qui/controls/Control',
'qui/controls/loader/Loader'
], function(QUI, QUIControl, QUILoader)
{
"use strict";
var lg = 'quiqqer/bricks';
return new Class({
Extends: QUIControl,
Type: 'package/quiqqer/bricks/bin/Site/BrickEdit',
initialize : function(options)
{
this.parent(options);
this.Loader = new QUILoader();
},
/**
* Return the domnode element
*
* @returns {HTMLDivElement}
*/
create : function()
{
this.$Elm = new Element('div', {
'class' : 'quiqqer-bricks-site-brickedit'
});
this.Loader.inject(this.$Elm);
return this.$Elm;
},
/**
* event on inject
*/
$onInject : function()
{
this.Loader.show();
}
});
});
...@@ -5,6 +5,14 @@ ...@@ -5,6 +5,14 @@
* @module package/quiqqer/bricks/bin/Site/Category * @module package/quiqqer/bricks/bin/Site/Category
* @author www.pcsg.de (Henning Leutz) * @author www.pcsg.de (Henning Leutz)
* *
* qui/QUI
* qui/controls/Control
* qui/controls/loader/Loader
* Ajax
* Locale
* package/quiqqer/bricks/bin/Site/Area
* css!package/quiqqer/bricks/bin/Site/Category.css
*
* @event onLoaded * @event onLoaded
*/ */
...@@ -73,7 +81,7 @@ define('package/quiqqer/bricks/bin/Site/Category', [ ...@@ -73,7 +81,7 @@ define('package/quiqqer/bricks/bin/Site/Category', [
this.getBrickAreas(function(bricks) this.getBrickAreas(function(bricks)
{ {
if ( !bricks.length ) if (!bricks.length)
{ {
self.$Elm.set( self.$Elm.set(
'html', 'html',
...@@ -88,15 +96,15 @@ define('package/quiqqer/bricks/bin/Site/Category', [ ...@@ -88,15 +96,15 @@ define('package/quiqqer/bricks/bin/Site/Category', [
var Site = self.getAttribute( 'Site' ), var Site = self.getAttribute( 'Site' ),
areas = Site.getAttribute( 'quiqqer.bricks.areas' ); areas = Site.getAttribute( 'quiqqer.bricks.areas' );
if ( areas ) { if (areas) {
areas = JSON.decode( areas ); areas = JSON.decode( areas );
} }
for ( i = 0, len = bricks.length; i < len; i++ ) for (i = 0, len = bricks.length; i < len; i++)
{ {
AC = self.$insertBrickAreaEdit( bricks[ i ] ); AC = self.$insertBrickAreaEdit(bricks[ i ]);
if ( typeof areas[ AC.getAttribute('name') ] === 'undefined' ) { if (typeof areas[ AC.getAttribute('name') ] === 'undefined') {
continue; continue;
} }
...@@ -130,14 +138,14 @@ define('package/quiqqer/bricks/bin/Site/Category', [ ...@@ -130,14 +138,14 @@ define('package/quiqqer/bricks/bin/Site/Category', [
var Site = this.getAttribute( 'Site' ), var Site = this.getAttribute( 'Site' ),
areas = {}; areas = {};
for ( i = 0, len = this.areas.length; i < len; i++ ) for (i = 0, len = this.areas.length; i < len; i++)
{ {
AC = this.areas[ i ]; AC = this.areas[ i ];
areas[ AC.getAttribute( 'name' ) ] = AC.getData(); areas[ AC.getAttribute( 'name' ) ] = AC.getData();
} }
Site.setAttribute( 'quiqqer.bricks.areas', JSON.encode( areas ) ); Site.setAttribute('quiqqer.bricks.areas', JSON.encode(areas));
}, },
/** /**
...@@ -151,8 +159,8 @@ define('package/quiqqer/bricks/bin/Site/Category', [ ...@@ -151,8 +159,8 @@ define('package/quiqqer/bricks/bin/Site/Category', [
Project.getConfig(function(layout) Project.getConfig(function(layout)
{ {
if ( Site.getAttribute( 'layout' ) ) { if (Site.getAttribute('layout')) {
layout = Site.getAttribute( 'layout' ); layout = Site.getAttribute('layout');
} }
QUIAjax.get('package_quiqqer_bricks_ajax_project_getAreas', callback, { QUIAjax.get('package_quiqqer_bricks_ajax_project_getAreas', callback, {
......
0% Lade oder .
You are about to add 0 people to the discussion. Proceed with caution.
Bearbeitung dieser Nachricht zuerst beenden!
Bitte registrieren oder zum Kommentieren