`

Pentaho Ctools 动态布局

 
阅读更多

 

原创文章,转载请注明出处: http://qq85609655.iteye.com/blog/2444142

 

Pentaho 社区版 8.2 终于提供了动态布局插件LayoutEditor

 

 

下载地址:

 

下载后

有bug无法正常使用,

cd /opt/pentaho/pentaho-server

vim pentaho-solutions/system/layoutEditor/resources/amd-components/LayoutEditor/resources/js/editor.js

 

变量名包点号(.),需要替换:

 

$elem.data('group').replace(/ /g, '_') + '_' + $elem.data('title').replace(/ /g, '_') + '_' + a_id.toString();

替换如下

$elem.data('group').replace(/ /g, '_') + '_' + $elem.data('title').replace(/[. ]/g, '_') + '_' + a_id.toString();

 

替换后,结果如下:

root@b189494a75af:/opt/pentaho/pentaho-server# vim pentaho-solutions/system/layoutEditor/resources/amd-components/LayoutEditor/resources/js/editor.js

 

                        selectWidget: {
                            elemSelector: '.widgetSelectorButton',
                            eventName: 'click',
                            eventFunction: function (event, editor, status, $html) {
                                event.stopPropagation();
                                Logger.info('Widget selected clicked');
                                var $elem = $(event.currentTarget),
                                d = new Date(),
                                a_id = +d,
                                title = $elem.data('title'),
                                key = $elem.data('group').replace(/ /g, '_') + '_' + $elem.data('title').replace(/[. ]/g, '_') + '_' + a_id.toString();
                                //a_widget = $elem.data('group').replace(/ /g, '_') + '_' + $elem.data('title').replace(/ /g, '_');
                                if ($elem.hasClass('active')) {
                                    var widgetId = $elem.attr('widgetId');
                                    editor.status.removeFromStatus('widgets', widgetId);
                                    $elem.children().eq(3).removeClass('active');
                                    $elem.removeClass('active');
                                    $elem.removeAttr('widgetId');
                                    if (_.isEmpty(editor.status.getStatus()['widgets'])) {
                                        $('.addButton').prop('disabled', true);
                                        $('.addButton').addClass('disabled');
                                    }
                                } 
                                else {
                                    var value = {
                                        id: $elem.data('group').replace(/ /g, '_') + '_' + $elem.data('title').replace(/[. ]/g, '_') + '_' + a_id.toString(),
                                        group: $elem.data('group'),
                                        title: $elem.data('title'),
                                        desc: $elem.data('desc'),
                                        link: $elem.data('link'),
                                        placeholder: $elem.data('group').replace(/ /g, '_') + '_' + $elem.data('title').replace(/[. ]/g, '_') + '_' + a_id.toString(),
                                        type: 'wcdf',
                                        rendered: false
                                    };
                                    editor.status.addToStatus('widgets', key, value);
                                    $('.addButton').prop('disabled', false);
                                    $('.addButton').removeClass('disabled');
                                    $elem.addClass('active');
                                    $elem.attr('widgetId',key);
                                    $elem.children().eq(3).addClass('active');
                                }
                            }
                        }

 

 

...

  • 大小: 122.8 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics