Built motion from commit b598105.|2.0.4
[motion2.git] / public / app / main / apps / integrations / views / salesforceAccounts / edit / view.html
1 <div id="integrations-salesforceAccount" class="page-layout simple tabbed" layout="column">
2
3     <!-- HEADER -->
4     <div class="header md-accent-bg" layout="row" layout-align="start center">
5         <div class="white-fg" layout="row" layout-align="start center" flex>
6             <md-button class="goto-salesforceAccounts-button md-icon-button" aria-label="Go to salesforceAccounts" ng-click="vm.gotoSalesforceAccounts()" translate translate-attr-aria-label="INTEGRATIONS.GO_TO_SALESFORCEACCOUNTS">
7                 <md-icon md-font-icon="icon-arrow-left"></md-icon>
8             </md-button>
9
10             <div layout="row" layout-align="start center">
11
12                 <div ng-if="vm.salesforceAccount.userpic" class="salesforceAccount-image" hide-xs>
13                     <img ng-src="api/users/{{vm.salesforceAccount.id}}/avatar">
14                 </div>
15
16                 <div ng-if="!vm.salesforceAccount.userpic" class="salesforceAccount-image" hide-xs>
17                     <img ng-src="assets/images/business/salesforceAccounts.jpg">
18                 </div>
19
20                 <div layout="column" layout-align="start start">
21                     <div class="h2">
22                         #{{vm.salesforceAccount.id}} {{vm.salesforceAccount.name}}
23                     </div>
24                     <div class="subtitle secondary-text">
25                         <span translate="INTEGRATIONS.CREATED_AT"></span> <span>{{vm.salesforceAccount.createdAt | date:'medium'}}</span>
26                     </div>
27                 </div>
28             </div>
29         </div>
30
31         <div>
32             <md-button type="submit" ng-click="vm.saveSalesforceAccount()" class="send-button md-accent md-raised" ng-disabled="(generalForm.$invalid) || (configurationsForm.$invalid)" translate="INTEGRATIONS.SAVE" translate-attr-aria-label="INTEGRATIONS.SAVE">
33                 SAVE
34             </md-button>
35         </div>
36
37     </div>
38     <!-- / HEADER -->
39
40     <!-- CONTENT -->
41     <div class="content">
42
43         <md-tabs md-selected="vm.selectedTab" md-dynamic-height>
44             <md-tab>
45                 <md-tab-label>
46                     <span translate="INTEGRATIONS.ACCOUNT">ACCOUNT</span>
47                 </md-tab-label>
48
49                 <md-tab-body>
50                     <div class="salesforceAccount-detail-form-container general md-background-bg md-whiteframe-1dp">
51                         <div class="pb-16" layout="row" layout-align="start center">
52                             <div class="h2 secondary-text" translate="INTEGRATIONS.GENERAL">GENERAL</div>
53                         </div>
54                         <form name="generalForm" novalidate>
55                             <md-input-container class="md-block">
56                                 <label translate="INTEGRATIONS.NAME">Name</label>
57                                 <input type="text" name="name" ng-model="vm.salesforceAccount.name" required md-autofocus>
58                                 <div ng-messages="generalForm.name.$error" ng-show="generalForm.name.$touched" role="alert">
59                                     <div ng-message="required">
60                                         <span translate="INTEGRATIONS.ERRORS.NAME_REQUIRED">Name field is required</span>
61                                     </div>
62                                 </div>
63                             </md-input-container>
64                             <md-input-container class="md-block">
65                                 <label translate="INTEGRATIONS.USERNAME">Username</label>
66                                 <input type="text" name="username" ng-model="vm.salesforceAccount.username" required>
67                                 <div ng-messages="generalForm.username.$error" ng-show="generalForm.username.$touched" role="alert">
68                                     <div ng-message="required">
69                                         <span translate="INTEGRATIONS.ERRORS.USERNAME_REQUIRED">Username field is required</span>
70                                     </div>
71                                 </div>
72                             </md-input-container>
73                             <md-input-container class="md-block">
74                                 <label translate="INTEGRATIONS.URI">Uri</label>
75                                 <input type="url" name="remoteUri" ng-model="vm.salesforceAccount.remoteUri" required>
76                                 <div ng-messages="generalForm.remoteUri.$error" ng-show="generalForm.remoteUri.$touched" role="alert">
77                                     <div ng-message="required">
78                                         <span translate="INTEGRATIONS.ERRORS.URI_REQUIRED">Uri field is required</span>
79                                     </div>
80                                     <div ng-message="url">
81                                         <span translate="INTEGRATIONS.ERRORS.URI_MUST_VALID_URL">Uri must be a valid url http://www.xcally.com</span>
82                                     </div>
83                                 </div>
84                             </md-input-container>
85                             <md-input-container class="md-block">
86                                 <label translate="INTEGRATIONS.PASSWORD">Password</label>
87                                 <input type="password" name="password" ng-model="vm.salesforceAccount.password" placeholder="Password" translate translate-attr-placeholder="INTEGRATIONS.PASSWORD" required>
88                                 <div ng-messages="generalForm.password.$error" role="alert">
89                                     <div ng-message="required">
90                                         <span translate="INTEGRATIONS.ERRORS.PASSWORD_REQUIRED">Password field is required</span>
91                                     </div>
92                                 </div>
93                             </md-input-container>
94                             <md-input-container class="md-block" ng-if="vm.newSalesforceAccount ">
95                                 <label translate="INTEGRATIONS.CONFIRM_PASSWORD">Confirm Password</label>
96                                 <input type="password" match-password="password" name="confirmPassword" ng-model="confirmPassword">
97                                 <div ng-messages="generalForm.confirmPassword.$error" role="alert" multiple>
98                                     <div ng-message="required">
99                                         <span translate="INTEGRATIONS.ERRORS.CONFIRM_REQUIRED">Confirm field is required</span>
100                                     </div>
101                                     <div ng-message="passwordMatch">
102                                         <span translate="INTEGRATIONS.ERRORS.CONFIRM_NOT_MATCH">Your password did not match</span>
103                                     </div>
104                                 </div>
105                             </md-input-container>
106                             <md-input-container class="md-block">
107                                 <label translate="INTEGRATIONS.CLIENTID">ClientId</label>
108                                 <input type="text" name="clientId" ng-model="vm.salesforceAccount.clientId" required>
109                                 <div ng-messages="generalForm.clientId.$error" ng-show="generalForm.clientId.$touched" role="alert">
110                                     <div ng-message="required">
111                                         <span translate="INTEGRATIONS.ERRORS.CLIENTID_REQUIRED">ClientId field is required</span>
112                                     </div>
113                                 </div>
114                             </md-input-container>
115                             <md-input-container class="md-block">
116                                 <label translate="INTEGRATIONS.CLIENTSECRET">ClientSecret</label>
117                                 <input type="text" name="clientSecret" ng-model="vm.salesforceAccount.clientSecret" required>
118                                 <div ng-messages="generalForm.clientSecret.$error" ng-show="generalForm.clientSecret.$touched" role="alert">
119                                     <div ng-message="required">
120                                         <span translate="INTEGRATIONS.ERRORS.CLIENTSECRET_REQUIRED">ClientSecret field is required</span>
121                                     </div>
122                                 </div>
123                             </md-input-container>
124                             <md-input-container class="md-block">
125                                 <label translate="INTEGRATIONS.SECURITYTOKEN">SecurityToken</label>
126                                 <input type="text" name="securityToken" ng-model="vm.salesforceAccount.securityToken" required>
127                                 <div ng-messages="generalForm.securityToken.$error" ng-show="generalForm.securityToken.$touched" role="alert">
128                                     <div ng-message="required">
129                                         <span translate="INTEGRATIONS.ERRORS.SECURITYTOKEN_REQUIRED">SecurityToken field is required</span>
130                                     </div>
131                                 </div>
132                             </md-input-container>
133                             <md-input-container class="md-block">
134                                 <label translate="INTEGRATIONS.MOTIONPROXYADDRESS">MotionProxyAddress</label>
135                                 <input type="url" name="serverUrl" ng-model="vm.salesforceAccount.serverUrl">
136                                 <div class="hint"><span translate="INTEGRATIONS.HELP.MOTIONPROXYADDRESS"></span></div>
137                                 <div ng-messages="generalForm.serverUrl.$error" ng-show="generalForm.serverUrl.$touched" role="alert">
138                                     <div ng-message="required">
139                                         <span translate="INTEGRATIONS.ERRORS.MOTIONPROXYADDRESS_REQUIRED">MotionProxyAddress field is required</span>
140                                     </div>
141                                     <div ng-message="url">
142                                         <span translate="INTEGRATIONS.ERRORS.MOTIONPROXYADDRESS_MUST_VALID_URL">MotionProxyAddress must be a valid url http://www.xcally.com</span>
143                                     </div>
144                                 </div>
145                             </md-input-container>
146                             <md-input-container class="md-block">
147                                 <label translate="INTEGRATIONS.DESCRIPTION">Description</label>
148                                 <input type="text" name="description" ng-model="vm.salesforceAccount.description">
149                                 <div ng-messages="generalForm.description.$error" ng-show="generalForm.description.$touched" role="alert">
150                                     <div ng-message="required">
151                                         <span translate="INTEGRATIONS.ERRORS.DESCRIPTION_REQUIRED">Description field is required</span>
152                                     </div>
153                                 </div>
154                             </md-input-container>
155
156                         </form>
157                     </div>
158                 </md-tab-body>
159             </md-tab>
160             <md-tab>
161                 <md-tab-label>
162                     <span translate="INTEGRATIONS.CONFIGURATIONS">CONFIGURATIONS</span>
163                 </md-tab-label>
164
165                 <md-tab-body>
166                     <div class="salesforceAccount-detail-form-container configurations md-background-bg md-whiteframe-1dp">
167                         <div class="pb-16" layout="row" layout-align="start center">
168                             <div class="h2 secondary-text" translate="INTEGRATIONS.CONFIGURATIONS">CONFIGURATIONS</div>
169                         </div>
170                         <div ng-controller="SalesforceAccountConfigurationsController as vm_cc" ng-init="vm_cc.init(vm.salesforceAccount)" layout="row">
171                             <md-card class="md-whiteframe-1dp" flex="30">
172                                 <div layout="row" layout-align="center center">
173                                     <md-subheader flex="75" class="md-no-sticky">{{ 'INTEGRATIONS.CONFIGURATIONS' | translate }}</md-subheader>
174                                     <md-button flex="25" ng-click="vm_cc.createOrEditSalesforceConfiguration($event)" class="md-icon-button" aria-label="create salesforceConfiguration">
175                                         <md-icon md-font-icon="icon-plus"></md-icon>
176                                     </md-button>
177                                 </div>
178                                 <md-list>
179                                     <md-list-item layout="row" layout-align="center center" ng-repeat="salesforceConfiguration in vm_cc.configurations" class="border-top" md-colors="{background: (vm_cc.selectedSalesforceConfiguration == $index ? 'accent' : 'grey-A100')}" ng-click="vm_cc.getSalesforceConfiguration($index)">
180                                         <span class="text-truncate" flex="80">{{ salesforceConfiguration.name }}</span>
181                                         <md-menu>
182                                             <md-button class="md-icon-button" aria-label="More" translate translate-attr-aria-label="INTEGRATIONS.MORE">
183                                                 <md-icon md-font-icon="icon-dots-vertical" ng-click="$mdOpenMenu($event)"></md-icon>
184                                             </md-button>
185                                             <md-menu-content width="3">
186                                                 <md-menu-item>
187                                                     <md-button ng-click="vm_cc.deleteSalesforceConfiguration($event, salesforceConfiguration)" translate="INTEGRATIONS.DELETE_SALESFORCECONFIGURATION">
188                                                         Delete SalesforceConfiguration
189                                                     </md-button>
190                                                 </md-menu-item>
191                                             </md-menu-content>
192                                         </md-menu>
193                                     </md-list-item>
194                                 </md-list>
195                             </md-card>
196                             <div flex></div>
197                             <md-card class="md-whiteframe-1dp" flex="65">
198                                 <md-tabs ng-if="vm_cc.configurations.length" md-dynamic-height>
199                                     <md-tab>
200                                         <md-tab-label>
201                                             <span translate="INTEGRATIONS.SUBJECTS">SUBJECTS</span>
202                                         </md-tab-label>
203                                         <md-tab-body>
204                                             <md-toolbar class="md-table-toolbar md-default no-padding" ng-hide="vm_cc.selectedSubjects.length">
205                                                 <div class="md-toolbar-tools">
206                                                     <div flex></div>
207                                                     <ms-search-bar on-search="vm_cc.query.subject = query" on-collapse="vm_cc.query.subject = undefined" debounce="300"></ms-search-bar>
208                                                     <md-button class="md-icon-button" ng-click="vm_cc.createOrEditSubject($event)" aria-label="add subject" translate translate-attr-label="INTEGRATIONS.ADD_SUBJECT">
209                                                         <md-icon md-font-icon="icon-plus"></md-icon>
210                                                     </md-button>
211                                                 </div>
212                                             </md-toolbar>
213                                             <md-toolbar class="md-table-toolbar md-accent" ng-show="vm_cc.selectedSubjects.length">
214                                                 <div class="md-toolbar-tools">
215                                                     <span class="md-subhead">{{vm_cc.selectedSubjects.length}} {{vm_cc.selectedSubjects.length > 1 ? 'items' : 'item'}} selected</span>
216                                                     <div flex></div>
217                                                     <md-button class="md-icon-button" ng-click="vm_cc.deleteSelectedSubjects($event)" aria-label="delete selected" translate translate-attr-label="INTEGRATIONS.DELETE_SELECTED">
218                                                         <md-icon md-font-icon="icon-delete"></md-icon>
219                                                     </md-button>
220                                                 </div>
221                                             </md-toolbar>
222                                             <md-table-container class="md-whiteframe-1dp padding-horizontal">
223                                                 <table md-table md-row-select multiple ng-model="vm_cc.selectedSubjects">
224                                                     <thead md-head md-order="vm.query.sort">
225                                                         <tr md-row>
226                                                             <th md-column md-order-by="id">{{ 'INTEGRATIONS.ID' | translate }}</th>
227                                                             <th md-column md-order-by="type">{{ 'INTEGRATIONS.TYPE' | translate }}</th>
228                                                             <th md-column>{{ 'INTEGRATIONS.CONTENT' | translate }}</th>
229                                                             <th md-column width="10px"></th>
230                                                         </tr>
231                                                     </thead>
232                                                     <tbody md-body>
233                                                         <tr md-row md-select="subject" md-select-id="id" ng-repeat="subject in vm_cc.subjects | filter: vm_cc.query.subject">
234                                                             <td ng-click="vm_cc.createOrEditSubject($event, subject)" md-cell class="id ">{{subject.id}}</td>
235                                                             <td ng-click="vm_cc.createOrEditSubject($event, subject)" md-cell class="type ">
236                                                                 <span ng-if="subject.FieldId">{{subject.nameField}}</span>
237                                                                 <span ng-if="!subject.FieldId">{{subject.type}}</span>
238                                                             </td>
239                                                             <td ng-switch="subject.type" ng-click="vm_cc.createOrEditSubject($event, subject)" md-cell>
240                                                                 <span ng-switch-when="string">{{subject.content}}</span>
241                                                                 <span ng-switch-when="variable" class="text-boxed">{{subject.variableName}}</span>
242                                                                 <span ng-switch-when="customVariable" class="text-boxed">{{ vm_cc.variablesById[subject.VariableId].name }}</span>
243                                                                 <span ng-switch-when="keyValue">
244                                 {{subject.key}}
245                                 <span ng-switch="description.keyType">
246                                     <span ng-switch-when="string">{{subject.keyContent}}</span>
247                                                                 <span ng-switch-when="variable" class="text-boxed">{{subject.variableName}}</span>
248                                                                 <span ng-switch-when="customVariable" class="text-boxed">{{ vm_cc.variablesById[subject.VariableId].name }}</span>
249                                                                 </span>
250                                                                 </span>
251                                                                 <span ng-switch-default>{{subject.content}}</span>
252                                                             </td>
253                                                             <td md-cell class="actions">
254                                                                 <md-menu>
255                                                                     <md-button class="md-icon-button" aria-label="More" translate translate-attr-aria-label="INTEGRATIONS.MORE">
256                                                                         <md-icon md-font-icon="icon-dots-vertical" ng-click="$mdOpenMenu($event)"></md-icon>
257                                                                     </md-button>
258
259                                                                     <md-menu-content width="3">
260                                                                         <md-menu-item>
261                                                                             <md-button ng-click="vm_cc.createOrEditSubject($event, subject)" translate="INTEGRATIONS.EDIT_SUBJECT">
262                                                                                 Edit Subject
263                                                                             </md-button>
264                                                                         </md-menu-item>
265                                                                         <md-menu-item>
266                                                                             <md-button ng-click="vm_cc.deleteSubjectConfirm($event, subject)" translate="INTEGRATIONS.DELETE_SUBJECT">
267                                                                                 Delete Subject
268                                                                             </md-button>
269                                                                         </md-menu-item>
270                                                                     </md-menu-content>
271                                                                 </md-menu>
272                                                             </td>
273                                                         </tr>
274                                                     </tbody>
275                                                 </table>
276                                             </md-table-container>
277                                         </md-tab-body>
278                                     </md-tab>
279
280                                     <md-tab>
281                                         <md-tab-label>
282                                             <span translate="INTEGRATIONS.DESCRIPTIONS">DESCRIPTIONS</span>
283                                         </md-tab-label>
284                                         <md-tab-body>
285                                             <md-toolbar class="md-table-toolbar md-default no-padding" ng-hide="vm_cc.selectedDescriptions.length">
286                                                 <div class="md-toolbar-tools">
287                                                     <div flex></div>
288                                                     <ms-search-bar on-search="vm_cc.query.description = query" on-collapse="vm_cc.query.description = undefined" debounce="300"></ms-search-bar>
289                                                     <md-button class="md-icon-button" ng-click="vm_cc.createOrEditDescription($event)" aria-label="add description" translate translate-attr-label="INTEGRATIONS.ADD_DESCRIPTION">
290                                                         <md-icon md-font-icon="icon-plus"></md-icon>
291                                                     </md-button>
292                                                 </div>
293                                             </md-toolbar>
294                                             <md-toolbar class="md-table-toolbar md-accent" ng-show="vm_cc.selectedDescriptions.length">
295                                                 <div class="md-toolbar-tools">
296                                                     <span class="md-subhead">{{vm_cc.selectedDescriptions.length}} {{vm_cc.selectedDescriptions.length > 1 ? 'items' : 'item'}} selected</span>
297                                                     <div flex></div>
298                                                     <md-button class="md-icon-button" ng-click="vm_cc.deleteSelectedDescriptions($event)" aria-label="delete selected" translate translate-attr-label="INTEGRATIONS.DELETE_SELECTED">
299                                                         <md-icon md-font-icon="icon-delete"></md-icon>
300                                                     </md-button>
301                                                 </div>
302                                             </md-toolbar>
303                                             <md-table-container class="md-whiteframe-1dp padding-horizontal">
304                                                 <table md-table md-row-select multiple ng-model="vm_cc.selectedDescriptions">
305                                                     <thead md-head md-order="vm.query.sort">
306                                                         <tr md-row>
307                                                             <th md-column md-order-by="id">{{ 'INTEGRATIONS.ID' | translate }}</th>
308                                                             <th md-column md-order-by="type">{{ 'INTEGRATIONS.TYPE' | translate }}</th>
309                                                             <th md-column>{{ 'INTEGRATIONS.CONTENT' | translate }}</th>
310                                                             <th md-column width="10px"></th>
311                                                         </tr>
312                                                     </thead>
313                                                     <tbody md-body>
314                                                         <tr md-row md-select="description" md-select-id="id" ng-repeat="description in vm_cc.descriptions | filter: vm_cc.query.description">
315                                                             <td ng-click="vm_cc.createOrEditDescription($event, description)" md-cell class="id ">{{description.id}}</td>
316                                                             <td ng-click="vm_cc.createOrEditDescription($event, description)" md-cell class="type ">
317                                                                 <span ng-if="description.FieldId">{{description.nameField}}</span>
318                                                                 <span ng-if="!description.FieldId">{{description.type}}</span>
319                                                             </td>
320                                                             <td ng-switch="description.type" ng-click="vm_cc.createOrEditDescription($event, description)" md-cell>
321                                                                 <span ng-switch-when="string">{{description.content}}</span>
322                                                                 <span ng-switch-when="variable" class="text-boxed">{{description.variableName}}</span>
323                                                                 <span ng-switch-when="customVariable" class="text-boxed">{{ vm_cc.variablesById[description.VariableId].name }}</span>
324                                                                 <span ng-switch-when="keyValue">
325                                 {{description.key}}
326                                 <span ng-switch="description.keyType">
327                                     <span ng-switch-when="string">{{description.keyContent}}</span>
328                                                                 <span ng-switch-when="variable" class="text-boxed">{{description.variableName}}</span>
329                                                                 <span ng-switch-when="customVariable" class="text-boxed">{{ vm_cc.variablesById[description.VariableId].name }}</span>
330                                                                 </span>
331                                                                 </span>
332                                                                 <span ng-switch-default>{{description.content}}</span>
333                                                             </td>
334                                                             <td md-cell class="actions">
335                                                                 <md-menu>
336                                                                     <md-button class="md-icon-button" aria-label="More" translate translate-attr-aria-label="INTEGRATIONS.MORE">
337                                                                         <md-icon md-font-icon="icon-dots-vertical" ng-click="$mdOpenMenu($event)"></md-icon>
338                                                                     </md-button>
339
340                                                                     <md-menu-content width="3">
341                                                                         <md-menu-item>
342                                                                             <md-button ng-click="vm_cc.createOrEditDescription($event, description)" translate="INTEGRATIONS.EDIT_DESCRIPTION">
343                                                                                 Edit Description
344                                                                             </md-button>
345                                                                         </md-menu-item>
346                                                                         <md-menu-item>
347                                                                             <md-button ng-click="vm_cc.deleteDescriptionConfirm($event, description)" translate="INTEGRATIONS.DELETE_DESCRIPTION">
348                                                                                 Delete Description
349                                                                             </md-button>
350                                                                         </md-menu-item>
351                                                                     </md-menu-content>
352                                                                 </md-menu>
353                                                             </td>
354                                                         </tr>
355                                                     </tbody>
356                                                 </table>
357                                             </md-table-container>
358                                         </md-tab-body>
359                                     </md-tab>
360
361                                     <md-tab>
362                                         <md-tab-label>
363                                             <span translate="INTEGRATIONS.FIELDS">FIELDS</span>
364                                         </md-tab-label>
365                                         <md-tab-body>
366                                             <md-toolbar class="md-table-toolbar md-default no-padding" ng-hide="vm_cc.selectedFields.length">
367                                                 <div class="md-toolbar-tools">
368                                                     <div flex></div>
369                                                     <ms-search-bar on-search="vm_cc.query.field = query" on-collapse="vm_cc.query.field = undefined" debounce="300"></ms-search-bar>
370                                                     <md-button class="md-icon-button" ng-click="vm_cc.createOrEditField($event)" aria-label="add field" translate translate-attr-label="INTEGRATIONS.ADD_FIELD">
371                                                         <md-icon md-font-icon="icon-plus"></md-icon>
372                                                     </md-button>
373                                                 </div>
374                                             </md-toolbar>
375                                             <md-toolbar class="md-table-toolbar md-accent" ng-show="vm_cc.selectedFields.length">
376                                                 <div class="md-toolbar-tools">
377                                                     <span class="md-subhead">{{vm_cc.selectedFields.length}} {{vm_cc.selectedFields.length > 1 ? 'items' : 'item'}} selected</span>
378                                                     <div flex></div>
379                                                     <md-button class="md-icon-button" ng-click="vm_cc.deleteSelectedFields($event)" aria-label="delete selected" translate translate-attr-label="INTEGRATIONS.DELETE_SELECTED">
380                                                         <md-icon md-font-icon="icon-delete"></md-icon>
381                                                     </md-button>
382                                                 </div>
383                                             </md-toolbar>
384                                             <md-table-container class="md-whiteframe-1dp padding-horizontal">
385                                                 <table md-table md-row-select multiple ng-model="vm_cc.selectedFields">
386                                                     <thead md-head md-order="vm.query.sort">
387                                                         <tr md-row>
388                                                             <th md-column md-order-by="id">{{ 'INTEGRATIONS.ID' | translate }}</th>
389                                                             <th md-column md-order-by="type">{{ 'INTEGRATIONS.TYPE' | translate }}</th>
390                                                             <th md-column>{{ 'INTEGRATIONS.CONTENT' | translate }}</th>
391                                                             <th md-column width="10px"></th>
392                                                         </tr>
393                                                     </thead>
394                                                     <tbody md-body>
395                                                         <tr md-row md-select="field" md-select-id="id" ng-repeat="field in vm_cc.fields | filter: vm_cc.query.field">
396                                                             <td ng-click="vm_cc.createOrEditField($event, field)" md-cell class="id ">{{field.id}}</td>
397                                                             <td ng-click="vm_cc.createOrEditField($event, field)" md-cell class="type ">
398                                                                 <span ng-if="field.FieldId">{{field.nameField}}</span>
399                                                                 <span ng-if="!field.FieldId">{{field.type}}</span>
400                                                             </td>
401                                                             <td ng-switch="field.type" ng-click="vm_cc.createOrEditField($event, field)" md-cell>
402                                                                 <span ng-switch-when="string">{{field.content}}</span>
403                                                                 <span ng-switch-when="variable" class="text-boxed">{{field.variableName}}</span>
404                                                                 <span ng-switch-when="customVariable" class="text-boxed">{{ vm_cc.variablesById[field.VariableId].name }}</span>
405                                                                 <span ng-switch-when="keyValue">
406                                 {{field.key}}
407                                 <span ng-switch="description.keyType">
408                                     <span ng-switch-when="string">{{field.keyContent}}</span>
409                                                                 <span ng-switch-when="variable" class="text-boxed">{{field.variableName}}</span>
410                                                                 <span ng-switch-when="customVariable" class="text-boxed">{{ vm_cc.variablesById[field.VariableId].name }}</span>
411                                                                 </span>
412                                                                 </span>
413                                                                 <span ng-switch-default>{{field.content}}</span>
414                                                             </td>
415                                                             <td md-cell class="actions">
416                                                                 <md-menu>
417                                                                     <md-button class="md-icon-button" aria-label="More" translate translate-attr-aria-label="INTEGRATIONS.MORE">
418                                                                         <md-icon md-font-icon="icon-dots-vertical" ng-click="$mdOpenMenu($event)"></md-icon>
419                                                                     </md-button>
420
421                                                                     <md-menu-content width="3">
422                                                                         <md-menu-item>
423                                                                             <md-button ng-click="vm_cc.createOrEditField($event, field)" translate="INTEGRATIONS.EDIT_FIELD">
424                                                                                 Edit Field
425                                                                             </md-button>
426                                                                         </md-menu-item>
427                                                                         <md-menu-item>
428                                                                             <md-button ng-click="vm_cc.deleteFieldConfirm($event, field)" translate="INTEGRATIONS.DELETE_FIELD">
429                                                                                 Delete Field
430                                                                             </md-button>
431                                                                         </md-menu-item>
432                                                                     </md-menu-content>
433                                                                 </md-menu>
434                                                             </td>
435                                                         </tr>
436                                                     </tbody>
437                                                 </table>
438                                             </md-table-container>
439                                         </md-tab-body>
440                                     </md-tab>
441
442                                 </md-tabs>
443                                 <div class="padding-20" ng-if="!vm_cc.configurations.length" ng-click="vm_cc.createOrEditSalesforceConfiguration($event)" layout="row" layout-sm="column" layout-align="center center" layout-wrap>
444                                     <div class="padding-20 md-whiteframe-3dp md-accent-bg" layout="column" layout-align="center center">
445                                         <md-button class="md-icon-button">
446                                             <md-icon md-font-icon="icon-plus"></md-icon>
447                                         </md-button>
448                                         <span aria-label="add configuration" translate translate-attr-label="INTEGRATIONS.ADD_CONFIGURATION">ADD CONFIGURATION</span>
449                                     </div>
450                                 </div>
451                             </md-card>
452                         </div>
453
454                     </div>
455                 </md-tab-body>
456             </md-tab>
457         </md-tabs>
458
459     </div>
460     <!-- / CONTENT -->
461
462 </div>