|
|
|
@ -1,11 +1,35 @@ |
|
|
|
|
import coreModule from 'app/core/core_module'; |
|
|
|
|
|
|
|
|
|
const obj2string = obj => { |
|
|
|
|
return Object.keys(obj) |
|
|
|
|
.reduce((acc, curr) => acc.concat(curr + '=' + obj[curr]), []) |
|
|
|
|
.join(); |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
export class GeneralTabCtrl { |
|
|
|
|
panelCtrl: any; |
|
|
|
|
|
|
|
|
|
/** @ngInject */ |
|
|
|
|
constructor($scope) { |
|
|
|
|
this.panelCtrl = $scope.ctrl; |
|
|
|
|
|
|
|
|
|
const updatePanel = () => { |
|
|
|
|
console.log('panel.render()'); |
|
|
|
|
this.panelCtrl.panel.render(); |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
const generateValueFromPanel = scope => { |
|
|
|
|
const { panel } = scope.ctrl; |
|
|
|
|
const panelPropsToTrack = ['title', 'description', 'transparent', 'repeat', 'repeatDirection', 'minSpan']; |
|
|
|
|
const panelPropsString = panelPropsToTrack |
|
|
|
|
.map(prop => (panel[prop] && panel[prop].toString ? panel[prop].toString() : panel[prop])) |
|
|
|
|
.join(); |
|
|
|
|
const panelLinks = panel.links; |
|
|
|
|
const panelLinksString = panelLinks.map(obj2string).join(); |
|
|
|
|
return panelPropsString + panelLinksString; |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
$scope.$watch(generateValueFromPanel, updatePanel, true); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|