@@ -28,13 +28,12 @@ define([
28
28
tracks : {
29
29
linkedElement : true
30
30
} ,
31
- urlTypes : {
32
- base : {
33
- namePrefix : '${$.name}.' ,
34
- dataScopePrefix : '${$.dataScope}.' ,
35
- provider : '${$.provider}'
36
- }
31
+ baseLinkSetting : {
32
+ namePrefix : '${$.name}.' ,
33
+ dataScopePrefix : '${$.dataScope}.' ,
34
+ provider : '${$.provider}'
37
35
} ,
36
+ urlTypes : { } ,
38
37
listens : {
39
38
settingValue : 'checked' ,
40
39
disabled : 'hideLinkedElement' ,
@@ -47,11 +46,21 @@ define([
47
46
} ,
48
47
49
48
/** @inheritdoc */
50
- initialize : function ( ) {
51
- this . _super ( )
52
- . setOptions ( ) ;
49
+ initConfig : function ( config ) {
50
+ var processedLinkTypes = { } ,
51
+ baseLinkType = this . constructor . defaults . baseLinkSetting ;
53
52
54
- return this ;
53
+ _ . each ( config . urlTypes , function ( linkSettingsArray , linkName ) {
54
+ //add link name by link type
55
+ linkSettingsArray . name = baseLinkType . namePrefix + linkName ;
56
+ linkSettingsArray . dataScope = baseLinkType . dataScopePrefix + linkName ;
57
+ linkSettingsArray . type = linkName ;
58
+ processedLinkTypes [ linkName ] = { } ;
59
+ _ . extend ( processedLinkTypes [ linkName ] , baseLinkType , linkSettingsArray ) ;
60
+ } ) ;
61
+ _ . extend ( this . constructor . defaults . urlTypes , processedLinkTypes ) ;
62
+
63
+ this . _super ( ) ;
55
64
} ,
56
65
57
66
/**
@@ -62,30 +71,7 @@ define([
62
71
initObservable : function ( ) {
63
72
this . _super ( )
64
73
. observe ( 'componentTemplate options value linkType settingValue checked isDisplayAdditionalSettings' )
65
- . processLinkTypes ( ) ;
66
-
67
- return this ;
68
- } ,
69
-
70
- /**
71
- * Adds link types array with default settings
72
- *
73
- * @return {Object }
74
- */
75
- processLinkTypes : function ( ) {
76
- var processedLinkTypes = { } ,
77
- baseLinkType = this . urlTypes . base ;
78
-
79
- delete this . urlTypes . base ;
80
- _ . each ( this . urlTypes , function ( linkSettingsArray , linkName ) {
81
- //add link name by link type
82
- linkSettingsArray . name = baseLinkType . namePrefix + linkName ;
83
- linkSettingsArray . dataScope = baseLinkType . dataScopePrefix + linkName ;
84
- linkSettingsArray . type = linkName ;
85
- processedLinkTypes [ linkName ] = { } ;
86
- _ . extend ( processedLinkTypes [ linkName ] , baseLinkType , linkSettingsArray ) ;
87
- } ) ;
88
- _ . extend ( this . urlTypes , processedLinkTypes ) ;
74
+ . setOptions ( ) ;
89
75
90
76
return this ;
91
77
} ,
0 commit comments