Tweichart has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/189450

Change subject: forwardport from REL1_22
......................................................................

forwardport from REL1_22

* see Change-Id: I983bf10040c5ad5e6736ab4b4d21e1150f0331d8 for more infos

Change-Id: Id4dc667a65954a8f29f6d8bb134f895af378e90d
---
M Flexiskin/Flexiskin.class.php
M Flexiskin/resources/BS.Flexiskin/PreviewMenu.js
A Flexiskin/resources/BS.Flexiskin/menu/BaseItem.js
R Flexiskin/resources/BS.Flexiskin/menu/GeneralItem.js
R Flexiskin/resources/BS.Flexiskin/menu/HeaderItem.js
R Flexiskin/resources/BS.Flexiskin/menu/PositionItem.js
6 files changed, 69 insertions(+), 31 deletions(-)


  git pull 
ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/BlueSpiceExtensions 
refs/changes/50/189450/1

diff --git a/Flexiskin/Flexiskin.class.php b/Flexiskin/Flexiskin.class.php
index 6b6aaf1..7d48545 100644
--- a/Flexiskin/Flexiskin.class.php
+++ b/Flexiskin/Flexiskin.class.php
@@ -192,6 +192,10 @@
                $sConfig = '[{"id":"general","name":"' . $oData->name . 
'","desc":"' . $oData->desc . 
'","backgroundColor":"F4F4F4","customBackgroundColor":"F4F4F4","backgroundImage":"","repeatBackground":"no-repeat"},';
                $sConfig .= '{"id":"header","logo":""},';
                $sConfig .= 
'{"id":"position","navigation":"left","content":"center","width":"1222", 
"fullWidth":"0"}]';
+               $bReturn = wfRunHooks( "BSFlexiskinGenerateConfigFile", array( 
$oData, &$sConfig ) );
+               if ( !$bReturn ) {
+                       return "[{}]";
+               }
                return $sConfig;
        }
 
@@ -361,6 +365,7 @@
                else
                        $aReturn[] = "body{background-image:none !important;}";
                $aReturn[] = 
"body{background-repeat:".$aConfig->repeatBackground . " !important;}";
+               wfRunHooks("BSFlexiskinFormatterGeneral", array(&$aConfig, 
&$aReturn));
                return implode(" \n", $aReturn);
        }
 
@@ -369,6 +374,7 @@
                $aReturn = array();
 
                //$aReturn[] = 
"#bs-logo{background-image:url('images/".$aConfig->logo."');}";
+               wfRunHooks("BSFlexiskinFormatterHeader", array(&$aConfig, 
&$aReturn));
                return implode(" \n", $aReturn);
        }
 
@@ -394,6 +400,7 @@
                        $aReturn[] = "#bs-application{width:100%;}";
                        $aReturn[] = "#bs-wrapper{width:100%;min-width:100%;}";
                }
+               wfRunHooks("BSFlexiskinFormatterPosition", array(&$aConfig, 
&$aReturn));
 
                return implode(" \n", $aReturn);
        }
diff --git a/Flexiskin/resources/BS.Flexiskin/PreviewMenu.js 
b/Flexiskin/resources/BS.Flexiskin/PreviewMenu.js
index 78888ef..34a1f0e 100644
--- a/Flexiskin/resources/BS.Flexiskin/PreviewMenu.js
+++ b/Flexiskin/resources/BS.Flexiskin/PreviewMenu.js
@@ -37,10 +37,11 @@
                        ]
                }];
                this.items = [
-                       Ext.create("BS.Flexiskin.Menuitems.General"),
-                       Ext.create("BS.Flexiskin.Menuitems.Header"),
-                       Ext.create("BS.Flexiskin.Menuitems.Position")
+                       Ext.create("BS.Flexiskin.menu.GeneralItem"),
+                       Ext.create("BS.Flexiskin.menu.HeaderItem"),
+                       Ext.create("BS.Flexiskin.menu.PositionItem")
                ];
+               $(document).trigger("BSFlexiskinPreviewMenuInitComponent", 
[this, this.items]);
 
                this.afterInitComponent(arguments);
                this.callParent(arguments);
@@ -55,6 +56,7 @@
                        if (typeof (items[i].getData) !== 'undefined')
                        data.push(items[i].getData());
                }
+               $(document).trigger("BSFlexiskinMenuPreviewGetData", [this, 
data]);
                return data;
        },
        setData: function( obj ) {
@@ -63,7 +65,7 @@
                for (var i = 0; i < items.length; i++) {
                        items[i].setData( {skinId : obj.skinId, config: 
obj.config[i]} );
                }
-               
+               $(document).trigger("BSFlexiskinMenuPreviewSetData", [this, 
this.items]);
                //this.callParent( arguments );
        },
        btnSaveClick: function() {
diff --git a/Flexiskin/resources/BS.Flexiskin/menu/BaseItem.js 
b/Flexiskin/resources/BS.Flexiskin/menu/BaseItem.js
new file mode 100644
index 0000000..f65b186
--- /dev/null
+++ b/Flexiskin/resources/BS.Flexiskin/menu/BaseItem.js
@@ -0,0 +1,32 @@
+Ext.define('BS.Flexiskin.menu.BaseItem', {
+       extend: 'Ext.Panel',
+       layout: 'form',
+       currentData: {},
+       initComponent: function() {
+               this.callParent(arguments);
+       },
+       getData: function() {
+               this.callParent(arguments);
+       },
+       setData: function(data) {
+               this.callParents(arguments);
+       },
+       setColor: function(el, clr, textfield) {
+               if( typeof clr == "undefined" || clr == null) return;
+
+               var bFound = false;
+               clr = clr.replace('#', "");
+               Ext.Array.each(el.colors, function(val) {
+                       if (clr == val) {
+                               bFound = true;
+                       }
+               });
+               if (bFound == false){
+                       if (textfield)
+                               textfield.setValue(clr);
+                       el.clear();
+               }
+               else
+                       el.select(clr);
+       }
+});
\ No newline at end of file
diff --git a/Flexiskin/resources/BS.Flexiskin/Menuitems/General.js 
b/Flexiskin/resources/BS.Flexiskin/menu/GeneralItem.js
similarity index 92%
rename from Flexiskin/resources/BS.Flexiskin/Menuitems/General.js
rename to Flexiskin/resources/BS.Flexiskin/menu/GeneralItem.js
index ebd07e7..58a3d98 100644
--- a/Flexiskin/resources/BS.Flexiskin/Menuitems/General.js
+++ b/Flexiskin/resources/BS.Flexiskin/menu/GeneralItem.js
@@ -1,5 +1,5 @@
-Ext.define('BS.Flexiskin.Menuitems.General', {
-       extend: 'Ext.Panel',
+Ext.define('BS.Flexiskin.menu.GeneralItem', {
+       extend: 'BS.Flexiskin.menu.BaseItem',
        title: mw.message('bs-flexiskin-headergeneral').plain(),
        layout: 'form',
        currentData: {},
@@ -53,7 +53,7 @@
                });
                this.tfCustomBackgroundColor.on("blur", function(el){
                        var isOk  = 
/(^#?[0-9A-F]{6}$)|(^#?[0-9A-F]{3}$)/i.test(el.getValue());
-                       
Ext.getCmp("bs-flexiskin-preview-menu-general").setColor(Ext.getCmp("bs-flexiskin-preview-menu-general").pfBackgroundColor,
 el.getValue());
+                       
Ext.getCmp("bs-flexiskin-preview-menu-general").setColor(Ext.getCmp("bs-flexiskin-preview-menu-general").pfBackgroundColor,
 el.getValue(), this.tfCustomBackgroundColor);
                        if (isOk)
                                
Ext.getCmp('bs-flexiskin-preview-menu').onItemStateChange();
                });
@@ -98,6 +98,9 @@
                        this.ufBackgroundUpload,
                        this.cgRepeatBackground
                ];
+
+               $(document).trigger("BSFlexiskinMenuGeneralInitComponent", 
[this, this.items]);
+
                this.callParent(arguments);
        },
        btnUploadClick: function(el, form) {
@@ -158,32 +161,17 @@
                        backgroundImage: 
Ext.getCmp('bs-extjs-uploadCombo-background-hidden-field').getValue(),
                        repeatBackground: this.cgRepeatBackground.getValue()
                };
+               $(document).trigger("BSFlexiskinMenuGeneralGetData", [this, 
data]);
                return data;
        },
        setData: function(data) {
                this.currentData = data;
                this.tfName.setValue(data.config.name);
                this.tfDesc.setValue(data.config.desc);
-               this.setColor(this.pfBackgroundColor, 
data.config.backgroundColor);
+               this.setColor(this.pfBackgroundColor, 
data.config.backgroundColor, this.tfCustomBackgroundColor);
                
this.tfCustomBackgroundColor.setValue(data.config.customBackgroundColor);
                this.cgRepeatBackground.setValue(data.config.repeatBackground);
                
Ext.getCmp('bs-extjs-uploadCombo-background-hidden-field').setValue(data.config.backgroundImage);
-       },
-       setColor: function(el, clr) {
-               if( typeof clr == "undefined" || clr == null) return;
-
-               var bFound = false;
-               clr = clr.replace('#', "");
-               Ext.Array.each(el.colors, function(val) {
-                       if (clr == val) {
-                               bFound = true;
-                       }
-               });
-               if (bFound == false){
-                       this.tfCustomBackgroundColor.setValue(clr);
-                       el.clear();
-               }
-               else
-                       el.select(clr);
+               $(document).trigger("BSFlexiskinMenuGeneralSetData", [this, 
data]);
        }
 });
\ No newline at end of file
diff --git a/Flexiskin/resources/BS.Flexiskin/Menuitems/Header.js 
b/Flexiskin/resources/BS.Flexiskin/menu/HeaderItem.js
similarity index 86%
rename from Flexiskin/resources/BS.Flexiskin/Menuitems/Header.js
rename to Flexiskin/resources/BS.Flexiskin/menu/HeaderItem.js
index e4d5aab..bf359e4 100644
--- a/Flexiskin/resources/BS.Flexiskin/Menuitems/Header.js
+++ b/Flexiskin/resources/BS.Flexiskin/menu/HeaderItem.js
@@ -1,5 +1,5 @@
-Ext.define('BS.Flexiskin.Menuitems.Header', {
-       extend: 'BS.Panel',
+Ext.define('BS.Flexiskin.menu.HeaderItem', {
+       extend: 'BS.Flexiskin.menu.BaseItem',
        title: mw.message('bs-flexiskin-headerheader').plain(),
        layout: 'form',
        currentData: {},
@@ -17,7 +17,9 @@
                this.items = [
                        this.ufLogoUpload
                ];
-               this.afterInitComponent();
+
+               $(document).trigger("BSFlexiskinMenuHeaderInitComponent", 
[this, this.items]);
+
                this.callParent(arguments);
        },
        btnUploadClick: function(el, form) {
@@ -74,10 +76,12 @@
                        id: 'header',
                        logo: 
Ext.getCmp('bs-extjs-uploadCombo-logo-hidden-field').getValue()
                };
+               $(document).trigger("BSFlexiskinMenuHeaderGetData", [this, 
data]);
                return data;
        },
        setData: function(data) {
                this.currentData = data;
                
Ext.getCmp('bs-extjs-uploadCombo-logo-hidden-field').setValue(data.config.logo);
+               $(document).trigger("BSFlexiskinMenuHeaderSetData", [this, 
data]);
        }
 });
\ No newline at end of file
diff --git a/Flexiskin/resources/BS.Flexiskin/Menuitems/Position.js 
b/Flexiskin/resources/BS.Flexiskin/menu/PositionItem.js
similarity index 88%
rename from Flexiskin/resources/BS.Flexiskin/Menuitems/Position.js
rename to Flexiskin/resources/BS.Flexiskin/menu/PositionItem.js
index e9ea8b5..53fff7c 100644
--- a/Flexiskin/resources/BS.Flexiskin/Menuitems/Position.js
+++ b/Flexiskin/resources/BS.Flexiskin/menu/PositionItem.js
@@ -1,5 +1,5 @@
-Ext.define('BS.Flexiskin.Menuitems.Position', {
-       extend: 'BS.Panel',
+Ext.define('BS.Flexiskin.menu.PositionItem', {
+       extend: 'BS.Flexiskin.menu.BaseItem',
        title: mw.message('bs-flexiskin-headerposition').plain(),
        layout: 'form',
        currentData: {},
@@ -63,7 +63,7 @@
                        labelWidth: 100,
                        labelAlign: 'left',
                        name: 'fullWidth',
-                       handler: this.onCbFullWidthChange, 
+                       handler: this.onCbFullWidthChange,
                        scope: this
                });
                this.tfWidth.on('keyup', function() {
@@ -76,6 +76,9 @@
                        this.tfWidth,
                        this.cbFullWidth
                ];
+
+               $(document).trigger("BSFlexiskinMenuPositionInitComponent", 
[this, this.items]);
+
                this.callParent(arguments);
        },
        onCbFullWidthChange: function( sender, checked ) {
@@ -95,6 +98,7 @@
                        width: this.tfWidth.getValue(),
                        fullWidth: this.cbFullWidth.getValue()
                };
+               $(document).trigger("onBSFlexiskinMenuPositionGetData", [this, 
data]);
                return data;
        },
        setData: function(data) {
@@ -103,5 +107,6 @@
                this.cgContent.setValue(this.currentData.config.content);
                this.tfWidth.setValue(this.currentData.config.width);
                this.cbFullWidth.setValue(this.currentData.config.fullWidth);
+               $(document).trigger("onBSFlexiskinMenuPositionSetData", [this, 
data]);
        }
 });
\ No newline at end of file

-- 
To view, visit https://gerrit.wikimedia.org/r/189450
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Id4dc667a65954a8f29f6d8bb134f895af378e90d
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/BlueSpiceExtensions
Gerrit-Branch: REL1_23
Gerrit-Owner: Tweichart <weich...@hallowelt.biz>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to