diff --git a/front/core/directives/anchor.js b/front/core/directives/anchor.js
index 4b35f14752..58d5a688fe 100644
--- a/front/core/directives/anchor.js
+++ b/front/core/directives/anchor.js
@@ -1,5 +1,32 @@
import ngModule from '../module';
+export function newTab($state, $window, event, data) {
+ const params = stringifyParams(data);
+ const href = $state.href(data.state, params);
+ $window.open(href);
+
+ event.preventDefault();
+ event.stopPropagation();
+}
+
+export function stringifyParams(data) {
+ console.log('stringifyParams', 'called');
+ const params = Object.assign({}, data.params);
+ for (let param in params)
+ params[param] = JSON.stringify(params[param]);
+
+ return params;
+}
+
+export function changeState($state, event, data) {
+ // console.log('changeState called!');
+ const params = stringifyParams(data);
+ $state.go(data.state, params);
+
+ event.preventDefault();
+ event.stopPropagation();
+}
+
/**
* Allows changing state for nested anchor
*
@@ -20,40 +47,17 @@ export function directive($state, $window) {
ctrlPressed = false;
});
- function changeState(event, data) {
- const params = stringifyParams(data);
- $state.go(data.state, params);
-
- event.preventDefault();
- event.stopPropagation();
- }
-
- function newTab(event, data) {
- const params = stringifyParams(data);
- const href = $state.href(data.state, params);
- $window.open(href);
-
- event.preventDefault();
- event.stopPropagation();
- }
-
- function stringifyParams(data) {
- const params = Object.assign({}, data.params);
- for (let param in params)
- params[param] = JSON.stringify(params[param]);
-
- return params;
- }
-
return {
restrict: 'A',
link: function($scope, $element, $attrs) {
const data = $scope.$eval($attrs.vnAnchor);
$element.on('click', event => {
+ // console.log('evento click');
+
if (ctrlPressed)
- newTab(event, data);
+ newTab($state, $window, event, data);
else
- changeState(event, data);
+ changeState($state, event, data);
});
$element.on('mousedown', event => {
diff --git a/front/core/directives/specs/anchor.spec.js b/front/core/directives/specs/anchor.spec.js
index fc3c053b35..2eea2cac65 100644
--- a/front/core/directives/specs/anchor.spec.js
+++ b/front/core/directives/specs/anchor.spec.js
@@ -1,22 +1,47 @@
+// import {changeState} from '../anchor';
+import * as vnAnchor from '../anchor';
-fdescribe('Directive vnAnchor', () => {
+xdescribe('Directive vnAnchor', () => {
let $scope;
- let $element;
+ let element;
let compile;
beforeEach(ngModule('vnCore'));
- compile = _element => {
+ compile = (_element, _childElement) => {
inject(($compile, $rootScope) => {
$scope = $rootScope.$new();
- $element = angular.element(_element);
- $compile($element)($scope);
+ element = angular.element(_element);
+ $compile(element)($scope);
$scope.$digest();
+ element = $element[0];
});
};
- it(`should throw an error when there's no id defined`, () => {
- let html = `