Improve renderer
authorMichael Spahn <m.spahn@metaways.de>
Thu, 16 Mar 2017 11:36:19 +0000 (12:36 +0100)
committerPhilipp Schüle <p.schuele@metaways.de>
Wed, 22 Mar 2017 11:06:57 +0000 (12:06 +0100)
Change-Id: Ib245d60594be981b96660ce7027658f48692b9da
Reviewed-on: http://gerrit.tine20.com/customers/4354
Tested-by: Jenkins CI (http://ci.tine20.com/)
Reviewed-by: Philipp Schüle <p.schuele@metaways.de>
Tested-by: Philipp Schüle <p.schuele@metaways.de>
tine20/Addressbook/js/AddressRenderer.js
tine20/Addressbook/js/CountryRenderer.js
tine20/Addressbook/js/ImageRenderer.js
tine20/Addressbook/js/MailAddressRenderer.js
tine20/Addressbook/js/UrlRenderer.js

index f29daf4..3c66363 100644 (file)
@@ -15,41 +15,36 @@ Ext.ns('Tine.Addressbook');
  * Undefined fields won't be rendered, this keeps it well reusable for all address like purposes.
  *
  * @namespace   Tine.Addressbook
- * @class       Tine.Addressbook.AddressRenderer
  * @author      Michael Spahn <m.spahn@metaways.de>
  * @singleton
  */
-Tine.Addressbook.AddressRenderer = function () {
+Tine.Addressbook.addressRenderer = function (v, metadata, record, store, a, b, config) {
     var template = new Ext.XTemplate(
         '<tpl for="." class="address">' +
-            '<tpl if="street">{street} <br /></tpl>' +
-            '<tpl if="street2">{street2} <br /></tpl>' +
-            '<tpl if="postalcode">{postalcode}</tpl> <tpl if="locality">{locality}</tpl><br />' +
-            '<tpl if="region">{region} <br /></tpl>' +
-            '<tpl if="country">{country}</tpl>' +
+        '<tpl if="street">{street} <br /></tpl>' +
+        '<tpl if="street2">{street2} <br /></tpl>' +
+        '<tpl if="postalcode">{postalcode}</tpl> <tpl if="locality">{locality}</tpl><br />' +
+        '<tpl if="region">{region} <br /></tpl>' +
+        '<tpl if="country">{country}</tpl>' +
         '</tpl>');
     template.compile();
 
-    return {
-        renderer: function (v, metadata, record, store, a, b, config) {
-            var local = Object.assign({}, config);
-            var keys = Object.keys(local);
+    var local = Object.assign({}, config);
+    var keys = Object.keys(local);
 
-            // According to config, resolve the given fields from record
-            keys.forEach(function(key) {
-                local[key] = Tine.Tinebase.EncodingHelper.encode(record.get(local[key]));
+    // According to config, resolve the given fields from record
+    keys.forEach(function (key) {
+        local[key] = Tine.Tinebase.EncodingHelper.encode(record.get(local[key]));
 
-                // Country code to country name
-                // @todo: Wouldn't it be cool, if this could be managed by the modelconfig as well?
-                if (key === 'country') {
-                    var countryRenderer = Tine.widgets.grid.RendererManager.get("Addressbook", "Addressbook_Model_Contact", "country", "displayPanel");
-                    local[key] = countryRenderer(local[key]);
-                }
-            });
-
-            return template.applyTemplate(local);
+        // Country code to country name
+        // @todo: Wouldn't it be cool, if this could be managed by the modelconfig as well?
+        if (key === 'country') {
+            var countryRenderer = Tine.widgets.grid.RendererManager.get("Addressbook", "Addressbook_Model_Contact", "country", "displayPanel");
+            local[key] = countryRenderer(local[key]);
         }
-    };
-}();
+    });
+
+    return template.applyTemplate(local);
+};
 
-Tine.widgets.grid.RendererManager.register('Addressbook', 'Addressbook_Model_Contact', 'addressblock', Tine.Addressbook.AddressRenderer.renderer, 'displayPanel');
\ No newline at end of file
+Tine.widgets.grid.RendererManager.register('Addressbook', 'Addressbook_Model_Contact', 'addressblock', Tine.Addressbook.addressRenderer, 'displayPanel');
\ No newline at end of file
index ec3a758..af79901 100644 (file)
@@ -11,16 +11,11 @@ Ext.ns('Tine.Addressbook');
  * Render country name by it's iso code
  *
  * @namespace   Tine.Addressbook
- * @class       Tine.Addressbook.CountryRenderer
  * @author      Michael Spahn <m.spahn@metaways.de>
  * @singleton
  */
-Tine.Addressbook.CountryRenderer = function () {
-    return {
-        renderer: function (v) {
-            return Locale.getTranslationData('CountryList', v);
-        }
-    };
-}();
+Tine.Addressbook.countryRenderer = function (v) {
+    return Locale.getTranslationData('CountryList', v);
+};
 
-Tine.widgets.grid.RendererManager.register('Addressbook', 'Addressbook_Model_Contact', 'country', Tine.Addressbook.CountryRenderer.renderer, 'displayPanel');
\ No newline at end of file
+Tine.widgets.grid.RendererManager.register('Addressbook', 'Addressbook_Model_Contact', 'country', Tine.Addressbook.countryRenderer, 'displayPanel');
\ No newline at end of file
index bc4b8dc..ee7caf5 100644 (file)
@@ -11,11 +11,10 @@ Ext.ns('Tine.Addressbook');
  * Render given image
  *
  * @namespace   Tine.Addressbook
- * @class       Tine.Addressbook.ImageRenderer
  * @author      Michael Spahn <m.spahn@metaways.de>
  * @singleton
  */
-Tine.Addressbook.ImageRenderer = function () {
+Tine.Addressbook.imageRenderer = function (jpegphoto, metadata, record) {
     function getImageUrl(url, width, height, contact) {
         var mtime = contact.last_modified_time || contact.creation_time;
         if (url.match(/&/)) {
@@ -28,12 +27,9 @@ Tine.Addressbook.ImageRenderer = function () {
         return url;
     }
 
-    return {
-        renderer: function(jpegphoto, metadata, record) {
-            var url = getImageUrl(jpegphoto, 90, 113, record.data);
-            return '<img src="' + url + '" />';
-        }
-    };
-}();
+    var url = getImageUrl(jpegphoto, 90, 113, record.data);
+
+    return '<img src="' + url + '" />';
+};
 
-Tine.widgets.grid.RendererManager.register('Addressbook', 'Addressbook_Model_Contact', 'image', Tine.Addressbook.ImageRenderer.renderer, 'displayPanel');
\ No newline at end of file
+Tine.widgets.grid.RendererManager.register('Addressbook', 'Addressbook_Model_Contact', 'image', Tine.Addressbook.imageRenderer, 'displayPanel');
\ No newline at end of file
index 7122175..ac5de38 100644 (file)
@@ -11,26 +11,21 @@ Ext.ns('Tine.Addressbook');
  * Render given MailAddresss
  *
  * @namespace   Tine.Addressbook
- * @class       Tine.Addressbook.MailAddressRenderer
  * @author      Michael Spahn <m.spahn@metaways.de>
  * @singleton
  */
-Tine.Addressbook.MailAddressRenderer = function () {
-    return {
-        renderer: function (email) {
-            if (!email) {
-                return '';
-            }
+Tine.Addressbook.mailAddressRenderer = function (email) {
+    if (!email) {
+        return '';
+    }
 
-            email = Tine.Tinebase.EncodingHelper.encode(email);
-            var link = (this.felamimail === true) ? '#' : 'mailto:' + email;
-            var id = Ext.id() + ':' + email;
+    email = Tine.Tinebase.EncodingHelper.encode(email);
+    var link = (this.felamimail === true) ? '#' : 'mailto:' + email;
+    var id = Ext.id() + ':' + email;
 
-            return '<a href="' + link + '" class="tinebase-email-link" id="' + id + '">'
-                + Ext.util.Format.ellipsis(email, 18) + '</a>';
-        }
-    };
-}();
+    return '<a href="' + link + '" class="tinebase-email-link" id="' + id + '">'
+        + Ext.util.Format.ellipsis(email, 18) + '</a>';
+};
 
-Tine.widgets.grid.RendererManager.register('Addressbook', 'Addressbook_Model_Contact', 'email', Tine.Addressbook.MailAddressRenderer.renderer, 'displayPanel');
+Tine.widgets.grid.RendererManager.register('Addressbook', 'Addressbook_Model_Contact', 'email', Tine.Addressbook.mailAddressRenderer, 'displayPanel');
 
index 5c63763..8865171 100644 (file)
@@ -11,16 +11,11 @@ Ext.ns('Tine.Addressbook');
  * Render given URL as html
  *
  * @namespace   Tine.Addressbook
- * @class       Tine.Addressbook.UrlRenderer
  * @author      Michael Spahn <m.spahn@metaways.de>
  * @singleton
  */
-Tine.Addressbook.UrlRenderer = function () {
-    return {
-        renderer: function(url) {
-            return '<a href=' + Tine.Tinebase.EncodingHelper.encode(url, 'href')  + ' target="_blank">' + Tine.Tinebase.EncodingHelper.encode(url, 'shorttext') + '</a>';
-        }
-    };
-}();
+Tine.Addressbook.urlRenderer = function (url) {
+    return '<a href=' + Tine.Tinebase.EncodingHelper.encode(url, 'href') + ' target="_blank">' + Tine.Tinebase.EncodingHelper.encode(url, 'shorttext') + '</a>';
+};
 
-Tine.widgets.grid.RendererManager.register('Addressbook', 'Addressbook_Model_Contact', 'url', Tine.Addressbook.UrlRenderer.renderer, 'displayPanel');
\ No newline at end of file
+Tine.widgets.grid.RendererManager.register('Addressbook', 'Addressbook_Model_Contact', 'url', Tine.Addressbook.urlRenderer, 'displayPanel');
\ No newline at end of file