1 (function(angular
, $, _
) {
4 angular
.module('crmSearchAdmin').component('crmSearchAdminTokenSelect', {
11 templateUrl
: '~/crmSearchAdmin/crmSearchAdminTokenSelect.html',
12 controller: function ($scope
, $element
, searchMeta
) {
13 var ts
= $scope
.ts
= CRM
.ts(),
16 this.initTokens = function() {
17 ctrl
.tokens
= ctrl
.tokens
|| getTokens();
20 this.insertToken = function(key
) {
21 ctrl
.model
[ctrl
.field
] = (ctrl
.model
[ctrl
.field
] || '') + ctrl
.tokens
[key
].token
;
24 function getTokens() {
28 label
: searchMeta
.getField('id', ctrl
.apiEntity
).label
31 _
.each(ctrl
.apiParams
.join
, function(joinParams
) {
32 var info
= searchMeta
.parseExpr(joinParams
[0].split(' AS ')[1] + '.id');
33 tokens
[info
.alias
] = {
34 token
: '[' + info
.alias
+ ']',
35 label
: info
.field
? info
.field
.label
: info
.alias
38 _
.each(ctrl
.apiParams
.select
, function(expr
) {
39 var info
= searchMeta
.parseExpr(expr
);
40 tokens
[info
.alias
] = {
41 token
: '[' + info
.alias
+ ']',
42 label
: info
.field
? info
.field
.label
: info
.alias
51 })(angular
, CRM
.$, CRM
._
);