@@ -22,7 +22,8 @@ export interface ng1_directive {} // tslint:disable-line:class-name
22
22
23
23
/** @hidden */
24
24
function parseStateRef ( ref : string ) {
25
- let paramsOnly = ref . match ( / ^ \s * ( { [ ^ } ] * } ) \s * $ / ) , parsed ;
25
+ let parsed ;
26
+ const paramsOnly = ref . match ( / ^ \s * ( { [ ^ } ] * } ) \s * $ / ) ;
26
27
if ( paramsOnly ) ref = '(' + paramsOnly [ 1 ] + ')' ;
27
28
28
29
parsed = ref . replace ( / \n / g, " " ) . match ( / ^ \s * ( [ ^ ( ] * ?) \s * ( \( ( .* ) \) ) ? \s * $ / ) ;
@@ -32,16 +33,16 @@ function parseStateRef(ref: string) {
32
33
33
34
/** @hidden */
34
35
function stateContext ( el : IAugmentedJQuery ) {
35
- let $uiView : UIViewData = ( el . parent ( ) as IAugmentedJQuery ) . inheritedData ( '$uiView' ) ;
36
- let path : PathNode [ ] = parse ( '$cfg.path' ) ( $uiView ) ;
36
+ const $uiView : UIViewData = ( el . parent ( ) as IAugmentedJQuery ) . inheritedData ( '$uiView' ) ;
37
+ const path : PathNode [ ] = parse ( '$cfg.path' ) ( $uiView ) ;
37
38
return path ? tail ( path ) . state . name : undefined ;
38
39
}
39
40
40
41
/** @hidden */
41
42
function processedDef ( $state : StateService , $element : IAugmentedJQuery , def : Def ) : Def {
42
- let uiState = def . uiState || $state . current . name ;
43
- let uiStateOpts = extend ( defaultOpts ( $element , $state ) , def . uiStateOpts || { } ) ;
44
- let href = $state . href ( uiState , def . uiStateParams , uiStateOpts ) ;
43
+ const uiState = def . uiState || $state . current . name ;
44
+ const uiStateOpts = extend ( defaultOpts ( $element , $state ) , def . uiStateOpts || { } ) ;
45
+ const href = $state . href ( uiState , def . uiStateParams , uiStateOpts ) ;
45
46
return { uiState, uiStateParams : def . uiStateParams , uiStateOpts, href } ;
46
47
}
47
48
@@ -55,8 +56,8 @@ interface TypeInfo {
55
56
/** @hidden */
56
57
function getTypeInfo ( el : IAugmentedJQuery ) : TypeInfo {
57
58
// SVGAElement does not use the href attribute, but rather the 'xlinkHref' attribute.
58
- let isSvg = Object . prototype . toString . call ( el . prop ( 'href' ) ) === '[object SVGAnimatedString]' ;
59
- let isForm = el [ 0 ] . nodeName === "FORM" ;
59
+ const isSvg = Object . prototype . toString . call ( el . prop ( 'href' ) ) === '[object SVGAnimatedString]' ;
60
+ const isForm = el [ 0 ] . nodeName === "FORM" ;
60
61
61
62
return {
62
63
attr : isForm ? "action" : ( isSvg ? 'xlink:href' : 'href' ) ,
@@ -68,11 +69,11 @@ function getTypeInfo(el: IAugmentedJQuery): TypeInfo {
68
69
/** @hidden */
69
70
function clickHook ( el : IAugmentedJQuery , $state : StateService , $timeout : ITimeoutService , type : TypeInfo , getDef : ( ) => Def ) {
70
71
return function ( e : JQueryMouseEventObject ) {
71
- let button = e . which || e . button , target = getDef ( ) ;
72
+ const button = e . which || e . button , target = getDef ( ) ;
72
73
73
74
if ( ! ( button > 1 || e . ctrlKey || e . metaKey || e . shiftKey || el . attr ( 'target' ) ) ) {
74
75
// HACK: This is to allow ng-clicks to be processed before the transition is initiated:
75
- let transition = $timeout ( function ( ) {
76
+ const transition = $timeout ( function ( ) {
76
77
$state . go ( target . uiState , target . uiStateParams , target . uiStateOpts ) ;
77
78
} ) ;
78
79
e . preventDefault ( ) ;
@@ -108,14 +109,14 @@ function bindEvents(element: IAugmentedJQuery, scope: IScope, hookFn: (e: JQuery
108
109
events = [ 'click' ] ;
109
110
}
110
111
111
- let on = element . on ? 'on' : 'bind' ;
112
- for ( let event of events ) {
112
+ const on = element . on ? 'on' : 'bind' ;
113
+ for ( const event of events ) {
113
114
element [ on ] ( event , hookFn ) ;
114
115
}
115
116
116
117
scope . $on ( '$destroy' , function ( ) {
117
- let off = element . off ? 'off' : 'unbind' ;
118
- for ( let event of events ) {
118
+ const off = element . off ? 'off' : 'unbind' ;
119
+ for ( const event of events ) {
119
120
element [ off ] ( event , hookFn ) ;
120
121
}
121
122
} ) ;
@@ -257,26 +258,26 @@ function bindEvents(element: IAugmentedJQuery, scope: IScope, hookFn: (e: JQuery
257
258
let uiSrefDirective : ng1_directive ;
258
259
uiSrefDirective = [ '$uiRouter' , '$timeout' ,
259
260
function $StateRefDirective ( $uiRouter : UIRouter , $timeout : ITimeoutService ) {
260
- let $state = $uiRouter . stateService ;
261
+ const $state = $uiRouter . stateService ;
261
262
262
263
return {
263
264
restrict : 'A' ,
264
265
require : [ '?^uiSrefActive' , '?^uiSrefActiveEq' ] ,
265
266
link : function ( scope : IScope , element : IAugmentedJQuery , attrs : any , uiSrefActive : any ) {
266
- let type = getTypeInfo ( element ) ;
267
- let active = uiSrefActive [ 1 ] || uiSrefActive [ 0 ] ;
267
+ const type = getTypeInfo ( element ) ;
268
+ const active = uiSrefActive [ 1 ] || uiSrefActive [ 0 ] ;
268
269
let unlinkInfoFn : Function = null ;
269
270
let hookFn ;
270
271
271
- let rawDef = { } as Def ;
272
- let getDef = ( ) => processedDef ( $state , element , rawDef ) ;
272
+ const rawDef = { } as Def ;
273
+ const getDef = ( ) => processedDef ( $state , element , rawDef ) ;
273
274
274
- let ref = parseStateRef ( attrs . uiSref ) ;
275
+ const ref = parseStateRef ( attrs . uiSref ) ;
275
276
rawDef . uiState = ref . state ;
276
277
rawDef . uiStateOpts = attrs . uiSrefOpts ? scope . $eval ( attrs . uiSrefOpts ) : { } ;
277
278
278
279
function update ( ) {
279
- let def = getDef ( ) ;
280
+ const def = getDef ( ) ;
280
281
if ( unlinkInfoFn ) unlinkInfoFn ( ) ;
281
282
if ( active ) unlinkInfoFn = active . $$addStateInfo ( def . uiState , def . uiStateParams ) ;
282
283
if ( def . href != null ) attrs . $set ( type . attr , def . href ) ;
@@ -389,25 +390,25 @@ uiSrefDirective = ['$uiRouter', '$timeout',
389
390
let uiStateDirective : ng1_directive ;
390
391
uiStateDirective = [ '$uiRouter' , '$timeout' ,
391
392
function $StateRefDynamicDirective ( $uiRouter : UIRouter , $timeout : ITimeoutService ) {
392
- let $state = $uiRouter . stateService ;
393
+ const $state = $uiRouter . stateService ;
393
394
394
395
return {
395
396
restrict : 'A' ,
396
397
require : [ '?^uiSrefActive' , '?^uiSrefActiveEq' ] ,
397
398
link : function ( scope : IScope , element : IAugmentedJQuery , attrs : any , uiSrefActive : any ) {
398
- let type = getTypeInfo ( element ) ;
399
- let active = uiSrefActive [ 1 ] || uiSrefActive [ 0 ] ;
399
+ const type = getTypeInfo ( element ) ;
400
+ const active = uiSrefActive [ 1 ] || uiSrefActive [ 0 ] ;
400
401
let unlinkInfoFn : Function = null ;
401
402
let hookFn ;
402
403
403
- let rawDef = { } as Def ;
404
- let getDef = ( ) => processedDef ( $state , element , rawDef ) ;
404
+ const rawDef = { } as Def ;
405
+ const getDef = ( ) => processedDef ( $state , element , rawDef ) ;
405
406
406
- let inputAttrs = [ 'uiState' , 'uiStateParams' , 'uiStateOpts' ] ;
407
- let watchDeregFns = inputAttrs . reduce ( ( acc , attr ) => ( acc [ attr ] = noop , acc ) , { } ) ;
407
+ const inputAttrs = [ 'uiState' , 'uiStateParams' , 'uiStateOpts' ] ;
408
+ const watchDeregFns = inputAttrs . reduce ( ( acc , attr ) => ( acc [ attr ] = noop , acc ) , { } ) ;
408
409
409
410
function update ( ) {
410
- let def = getDef ( ) ;
411
+ const def = getDef ( ) ;
411
412
if ( unlinkInfoFn ) unlinkInfoFn ( ) ;
412
413
if ( active ) unlinkInfoFn = active . $$addStateInfo ( def . uiState , def . uiStateParams ) ;
413
414
if ( def . href != null ) attrs . $set ( type . attr , def . href ) ;
@@ -526,9 +527,9 @@ uiSrefActiveDirective = ['$state', '$stateParams', '$interpolate', '$uiRouter',
526
527
restrict : "A" ,
527
528
controller : [ '$scope' , '$element' , '$attrs' ,
528
529
function ( $scope : IScope , $element : IAugmentedJQuery , $attrs : any ) {
529
- let states : StateData [ ] = [ ] ,
530
- activeEqClass : string ,
531
- uiSrefActive : any ;
530
+ const states : StateData [ ] = [ ] ;
531
+ let activeEqClass : string ;
532
+ let uiSrefActive : any ;
532
533
533
534
// There probably isn't much point in $observing this
534
535
// uiSrefActive and uiSrefActiveEq share the same directive object with some
@@ -545,7 +546,7 @@ uiSrefActiveDirective = ['$state', '$stateParams', '$interpolate', '$uiRouter',
545
546
if ( isObject ( uiSrefActive ) ) {
546
547
forEach ( uiSrefActive , function ( stateOrName : StateOrName , activeClass : string ) {
547
548
if ( isString ( stateOrName ) ) {
548
- let ref = parseStateRef ( stateOrName ) ;
549
+ const ref = parseStateRef ( stateOrName ) ;
549
550
addState ( ref . state , $scope . $eval ( ref . paramExpr ) , activeClass ) ;
550
551
}
551
552
} ) ;
@@ -558,7 +559,7 @@ uiSrefActiveDirective = ['$state', '$stateParams', '$interpolate', '$uiRouter',
558
559
if ( isObject ( uiSrefActive ) && states . length > 0 ) {
559
560
return ;
560
561
}
561
- let deregister = addState ( newState , newParams , uiSrefActive ) ;
562
+ const deregister = addState ( newState , newParams , uiSrefActive ) ;
562
563
update ( ) ;
563
564
return deregister ;
564
565
} ;
@@ -574,9 +575,9 @@ uiSrefActiveDirective = ['$state', '$stateParams', '$interpolate', '$uiRouter',
574
575
}
575
576
576
577
function addState ( stateName : string , stateParams : Obj , activeClass : string ) {
577
- let state = $state . get ( stateName , stateContext ( $element ) ) ;
578
+ const state = $state . get ( stateName , stateContext ( $element ) ) ;
578
579
579
- let stateInfo = {
580
+ const stateInfo = {
580
581
state : state || { name : stateName } ,
581
582
params : stateParams ,
582
583
activeClass : activeClass
@@ -596,13 +597,13 @@ uiSrefActiveDirective = ['$state', '$stateParams', '$interpolate', '$uiRouter',
596
597
const getClasses = ( stateList : StateData [ ] ) =>
597
598
stateList . map ( x => x . activeClass ) . map ( splitClasses ) . reduce ( unnestR , [ ] ) ;
598
599
599
- let allClasses = getClasses ( states ) . concat ( splitClasses ( activeEqClass ) ) . reduce ( uniqR , [ ] ) ;
600
- let fuzzyClasses = getClasses ( states . filter ( x => $state . includes ( x . state . name , x . params ) ) ) ;
601
- let exactlyMatchesAny = ! ! states . filter ( x => $state . is ( x . state . name , x . params ) ) . length ;
602
- let exactClasses = exactlyMatchesAny ? splitClasses ( activeEqClass ) : [ ] ;
600
+ const allClasses = getClasses ( states ) . concat ( splitClasses ( activeEqClass ) ) . reduce ( uniqR , [ ] ) ;
601
+ const fuzzyClasses = getClasses ( states . filter ( x => $state . includes ( x . state . name , x . params ) ) ) ;
602
+ const exactlyMatchesAny = ! ! states . filter ( x => $state . is ( x . state . name , x . params ) ) . length ;
603
+ const exactClasses = exactlyMatchesAny ? splitClasses ( activeEqClass ) : [ ] ;
603
604
604
- let addClasses = fuzzyClasses . concat ( exactClasses ) . reduce ( uniqR , [ ] ) ;
605
- let removeClasses = allClasses . filter ( cls => ! inArray ( addClasses , cls ) ) ;
605
+ const addClasses = fuzzyClasses . concat ( exactClasses ) . reduce ( uniqR , [ ] ) ;
606
+ const removeClasses = allClasses . filter ( cls => ! inArray ( addClasses , cls ) ) ;
606
607
607
608
$scope . $evalAsync ( ( ) => {
608
609
addClasses . forEach ( className => $element . addClass ( className ) ) ;
0 commit comments