|
|
@@ -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 => 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);
|
|
|
}
|
|
|
}
|
|
|
|