Built motion from commit f861bcb808219e66da88ba48b61bddb35224a65e. Version 3.0.0...
[motion-next.git] / public / templates / main / apps / integrations / views / servicenowAccounts / edit / view.html / view.html
1 <div
2   id="integrations-servicenowAccount"
3   class="page-layout simple tabbed"
4   layout="column"
5 >
6   <!-- HEADER -->
7   <div class="header md-accent-bg" layout="row" layout-align="start center">
8     <div class="white-fg" layout="row" layout-align="start center" flex>
9       <md-button
10         class="goto-servicenowAccounts-button md-icon-button"
11         aria-label="Go to servicenowAccounts"
12         ng-click="vm.gotoServicenowAccounts()"
13         translate
14         translate-attr-aria-label="INTEGRATIONS.GO_TO_SERVICENOWACCOUNTS"
15       >
16         <md-icon md-font-icon="icon-arrow-left"></md-icon>
17       </md-button>
18
19       <div layout="row" layout-align="start center">
20         <div class="servicenowAccount-image" hide-xs>
21           <img ng-src="assets/images/business/servicenowAccounts.jpg" />
22         </div>
23
24         <div layout="column" layout-align="start start">
25           <div class="h2">
26             #{{vm.servicenowAccount.id}}
27             <span ng-if="vm.servicenowAccount.name"
28               >{{vm.servicenowAccount.name}}</span
29             >
30           </div>
31           <div class="subtitle secondary-text">
32             <span translate="APP.CREATED_AT"></span>
33             <span>{{vm.servicenowAccount.createdAt | date:'medium'}}</span>
34           </div>
35         </div>
36       </div>
37     </div>
38     <div>
39       <md-button
40         type="submit"
41         ng-click="vm.saveServicenowAccount()"
42         ng-if="vm.crudPermissions.canEdit"
43         class="send-button md-accent md-raised"
44         ng-disabled="(generalForm.$invalid) || (configurationsForm.$invalid)"
45         translate="APP.SAVE"
46         translate-attr-aria-label="APP.SAVE"
47       >
48         SAVE
49       </md-button>
50     </div>
51   </div>
52   <!-- / HEADER -->
53
54   <!-- CONTENT -->
55   <div class="content">
56     <md-tabs
57       md-selected="vm.selectedTab"
58       md-stretch-tabs="always"
59       flex
60       layout-fill
61       md-dynamic-height
62     >
63       <md-tab>
64         <md-tab-label>
65           <span translate="APP.ACCOUNT">ACCOUNT</span>
66         </md-tab-label>
67         <md-tab-body>
68           <div
69             class="servicenowAccount-detail-form-container general md-background-bg md-whiteframe-1dp"
70           >
71             <div class="pb-16" layout="row" layout-align="start center">
72               <div class="h2 secondary-text" translate="APP.GENERAL">
73                 GENERAL
74               </div>
75             </div>
76             <form name="generalForm" novalidate>
77               <md-input-container class="md-block">
78                 <label translate="APP.NAME">Name</label>
79                 <input
80                   type="text"
81                   name="name"
82                   ng-model="vm.servicenowAccount.name"
83                   ng-required="true"
84                   autofocus
85                   ng-disabled="!vm.crudPermissions.canEdit"
86                 />
87
88                 <div
89                   ng-messages="generalForm['name'].$error"
90                   ng-show="generalForm['name'].$touched"
91                   role="alert"
92                 >
93                   <div ng-message="required">
94                     <span translate="APP.ERRORS.NAME_REQUIRED"
95                       >Name field is required</span
96                     >
97                   </div>
98                 </div>
99               </md-input-container>
100               <md-input-container class="md-block">
101                 <label translate="APP.USERNAME">Username</label>
102                 <input
103                   type="text"
104                   name="username"
105                   ng-model="vm.servicenowAccount.username"
106                   ng-required="true"
107                   ng-disabled="!vm.crudPermissions.canEdit"
108                 />
109
110                 <div
111                   ng-messages="generalForm['username'].$error"
112                   ng-show="generalForm['username'].$touched"
113                   role="alert"
114                 >
115                   <div ng-message="required">
116                     <span translate="APP.ERRORS.USERNAME_REQUIRED"
117                       >Username field is required</span
118                     >
119                   </div>
120                 </div>
121               </md-input-container>
122               <md-input-container class="md-block">
123                 <label translate="APP.PASSWORD">Password</label>
124                 <input
125                   type="password"
126                   name="password"
127                   ng-model="vm.servicenowAccount.password"
128                   placeholder="Password"
129                   translate
130                   translate-attr-placeholder="APP.PASSWORD"
131                   required
132                 />
133                 <div ng-messages="generalForm['password'].$error" role="alert">
134                   <div ng-message="required">
135                     <span translate="APP.ERRORS.PASSWORD_REQUIRED"
136                       >Password field is required</span
137                     >
138                   </div>
139                   <div ng-message="pattern">
140                     <span
141                       translate="INTEGRATIONS.ERRORS.SECURE_PASSWORD_PATTERN"
142                       >Must contain at least 8 characters, with a minimum of 1
143                       lowercase letter, 1 uppercase letter, 1 numeric character
144                       and 1 special character ~!?*@#$%^&-_=+[{]}.</span
145                     >
146                   </div>
147                 </div>
148               </md-input-container>
149
150               <md-input-container class="md-block">
151                 <label translate="APP.EMAIL">Email</label>
152                 <input
153                   type="email"
154                   name="email"
155                   ng-model="vm.servicenowAccount.email"
156                   ng-required="true"
157                   ng-disabled="!vm.crudPermissions.canEdit"
158                 />
159
160                 <div
161                   ng-messages="generalForm['email'].$error"
162                   ng-show="generalForm['email'].$touched"
163                   role="alert"
164                 >
165                   <div ng-message="required">
166                     <span translate="APP.ERRORS.EMAIL_REQUIRED"
167                       >Email field is required</span
168                     >
169                   </div>
170                   <div ng-message="email">
171                     <span translate="APP.ERRORS.EMAIL_MUST_VALID"
172                       >Email must be a valid e-mail address</span
173                     >
174                   </div>
175                 </div>
176               </md-input-container>
177               <md-input-container class="md-block">
178                 <label translate="APP.HOST">Host</label>
179                 <input
180                   type="url"
181                   name="remoteUri"
182                   ng-model="vm.servicenowAccount.remoteUri"
183                   ng-required="true"
184                   ng-disabled="!vm.crudPermissions.canEdit"
185                 />
186
187                 <div
188                   ng-messages="generalForm['remoteUri'].$error"
189                   ng-show="generalForm['remoteUri'].$touched"
190                   role="alert"
191                 >
192                   <div ng-message="required">
193                     <span translate="APP.ERRORS.HOST_REQUIRED"
194                       >Host field is required</span
195                     >
196                   </div>
197                   <div ng-message="url">
198                     <span translate="INTEGRATIONS.ERRORS.HOST_MUST_VALID_URL"
199                       >Host must be a valid url http://www.xcally.com</span
200                     >
201                   </div>
202                 </div>
203               </md-input-container>
204               <md-input-container class="md-block">
205                 <label translate="INTEGRATIONS.MOTIONPROXYADDRESS"
206                   >MotionProxyAddress</label
207                 >
208                 <input
209                   type="url"
210                   name="serverUrl"
211                   ng-model="vm.servicenowAccount.serverUrl"
212                   value="LOCALIP"
213                   ng-required="true"
214                   ng-disabled="!vm.crudPermissions.canEdit"
215                 />
216
217                 <div class="hint">
218                   <span translate="INTEGRATIONS.HELP.MOTIONPROXYADDRESS"></span>
219                 </div>
220                 <div
221                   ng-messages="generalForm['serverUrl'].$error"
222                   ng-show="generalForm['serverUrl'].$touched"
223                   role="alert"
224                 >
225                   <div ng-message="required">
226                     <span
227                       translate="INTEGRATIONS.ERRORS.MOTIONPROXYADDRESS_REQUIRED"
228                       >MotionProxyAddress field is required</span
229                     >
230                   </div>
231                   <div ng-message="url">
232                     <span
233                       translate="INTEGRATIONS.ERRORS.MOTIONPROXYADDRESS_MUST_VALID_URL"
234                       >MotionProxyAddress must be a valid url
235                       http://www.xcally.com</span
236                     >
237                   </div>
238                 </div>
239               </md-input-container>
240               <md-input-container class="md-block">
241                 <label translate="APP.DESCRIPTION">Description</label>
242                 <input
243                   type="text"
244                   name="description"
245                   ng-model="vm.servicenowAccount.description"
246                   ng-disabled="!vm.crudPermissions.canEdit"
247                 />
248
249                 <div
250                   ng-messages="generalForm['description'].$error"
251                   ng-show="generalForm['description'].$touched"
252                   role="alert"
253                 >
254                   <div ng-message="required">
255                     <span translate="INTEGRATIONS.ERRORS.DESCRIPTION_REQUIRED"
256                       >Description field is required</span
257                     >
258                   </div>
259                 </div>
260               </md-input-container>
261             </form>
262           </div>
263         </md-tab-body>
264       </md-tab>
265       <md-tab>
266         <md-tab-label>
267           <span translate="INTEGRATIONS.CONFIGURATIONS">CONFIGURATIONS</span>
268         </md-tab-label>
269         <md-tab-body>
270           <div
271             class="servicenowAccount-detail-form-container configurations md-background-bg md-whiteframe-1dp"
272           >
273             <div class="pb-16" layout="row" layout-align="start center">
274               <div
275                 class="h2 secondary-text"
276                 translate="INTEGRATIONS.CONFIGURATIONS"
277               >
278                 CONFIGURATIONS
279               </div>
280             </div>
281             <div
282               ng-controller="ServicenowAccountConfigurationsController as vm_cc"
283               ng-init="vm_cc.init(vm.servicenowAccount, vm.crudPermissions)"
284               layout="row"
285             >
286               <md-card class="md-whiteframe-1dp" flex="30">
287                 <div layout="row" layout-align="center center">
288                   <md-subheader flex="75" class="md-no-sticky"
289                     >{{ 'INTEGRATIONS.CONFIGURATIONS' | translate
290                     }}</md-subheader
291                   >
292                   <md-button
293                     flex="25"
294                     ng-if="vm_cc.crudPermissions.canEdit"
295                     ng-click="vm_cc.createOrEditServicenowConfiguration($event)"
296                     class="md-icon-button"
297                     aria-label="create servicenowConfiguration"
298                   >
299                     <md-icon md-font-icon="icon-plus"></md-icon>
300                   </md-button>
301                 </div>
302                 <md-list>
303                   <md-list-item
304                     layout="row"
305                     layout-align="center center"
306                     ng-repeat="servicenowConfiguration in vm_cc.configurations"
307                     class="border-top"
308                     md-colors="{background: (vm_cc.selectedServicenowConfiguration == $index ? 'accent' : 'grey-A100')}"
309                     ng-click="vm_cc.getServicenowConfiguration($index)"
310                   >
311                     <span class="text-truncate" flex="80"
312                       >{{ servicenowConfiguration.name }}</span
313                     >
314                     <md-menu ng-if="vm_cc.crudPermissions.canDelete">
315                       <md-button
316                         class="md-icon-button"
317                         aria-label="More"
318                         translate
319                         translate-attr-aria-label="APP.MORE"
320                         ng-click="$mdMenu.open($event)"
321                       >
322                         <md-icon md-font-icon="icon-dots-vertical"></md-icon>
323                       </md-button>
324                       <md-menu-content width="3">
325                         <md-menu-item ng-if="vm_cc.crudPermissions.canDelete">
326                           <md-button
327                             ng-click="vm_cc.deleteServicenowConfiguration($event, servicenowConfiguration)"
328                             translate="INTEGRATIONS.DELETE_SERVICENOWCONFIGURATION"
329                           >
330                             Delete ServicenowConfiguration
331                           </md-button>
332                         </md-menu-item>
333                       </md-menu-content>
334                     </md-menu>
335                   </md-list-item>
336                 </md-list>
337               </md-card>
338               <div flex></div>
339               <md-card class="md-whiteframe-1dp" flex="65">
340                 <md-tabs ng-if="vm_cc.configurations.length" md-dynamic-height>
341                   <md-tab>
342                     <md-tab-label>
343                       <span translate="INTEGRATIONS.SUBJECTS">SUBJECTS</span>
344                     </md-tab-label>
345                     <md-tab-body>
346                       <md-toolbar
347                         class="md-table-toolbar md-default no-padding"
348                         ng-hide="vm_cc.selectedSubjects.length"
349                       >
350                         <div class="md-toolbar-tools">
351                           <div flex></div>
352                           <ms-search-bar
353                             query="vm_cc.query"
354                             debounce="300"
355                           ></ms-search-bar>
356                           <md-button
357                             ng-if="vm_cc.crudPermissions.canEdit"
358                             class="md-icon-button"
359                             ng-click="vm_cc.createOrEditSubject($event)"
360                             aria-label="add subject"
361                             translate
362                             translate-attr-label="INTEGRATIONS.ADD_SUBJECT"
363                           >
364                             <md-icon md-font-icon="icon-plus"></md-icon>
365                           </md-button>
366                         </div>
367                       </md-toolbar>
368                       <md-toolbar
369                         class="md-table-toolbar md-accent"
370                         ng-show="vm_cc.selectedSubjects.length"
371                       >
372                         <div class="md-toolbar-tools">
373                           <span class="md-subhead"
374                             >{{vm_cc.selectedSubjects.length}}
375                             {{vm_cc.selectedSubjects.length > 1 ? 'items' :
376                             'item'}} selected</span
377                           >
378                           <div flex></div>
379                           <md-button
380                             ng-if="vm_cc.crudPermissions.canDelete"
381                             class="md-icon-button"
382                             ng-click="vm_cc.deleteSelectedSubjects($event)"
383                             aria-label="delete selected"
384                             translate
385                             translate-attr-label="APP.DELETE_SELECTED"
386                           >
387                             <md-icon md-font-icon="icon-delete"></md-icon>
388                           </md-button>
389                         </div>
390                       </md-toolbar>
391                       <md-table-container
392                         class="md-whiteframe-1dp padding-horizontal"
393                       >
394                         <table
395                           md-table
396                           md-row-select
397                           multiple
398                           ng-model="vm_cc.selectedSubjects"
399                         >
400                           <thead md-head>
401                             <tr md-row>
402                               <th md-column>{{ 'APP.ID' | translate }}</th>
403                               <th md-column>{{ 'APP.TYPE' | translate }}</th>
404                               <th md-column>{{ 'APP.CONTENT' | translate }}</th>
405                               <th md-column width="10px"></th>
406                             </tr>
407                           </thead>
408                           <tbody md-body>
409                             <tr
410                               md-row
411                               md-select="subject"
412                               md-select-id="id"
413                               ng-repeat="subject in vm_cc.subjects | filter: vm_cc.query.filter"
414                             >
415                               <td
416                                 ng-click="vm_cc.createOrEditSubject($event, subject)"
417                                 md-cell
418                                 class="id"
419                               >
420                                 {{subject.id}}
421                               </td>
422                               <td
423                                 ng-click="vm_cc.createOrEditSubject($event, subject)"
424                                 md-cell
425                                 class="type"
426                               >
427                                 <span ng-if="subject.FieldId"
428                                   >{{subject.nameField ||
429                                   subject.idField}}</span
430                                 >
431                                 <span ng-if="!subject.FieldId"
432                                   >{{subject.type}}</span
433                                 >
434                               </td>
435                               <td
436                                 ng-switch="subject.type"
437                                 ng-click="vm_cc.createOrEditSubject($event, subject)"
438                                 md-cell
439                               >
440                                 <span ng-switch-when="string"
441                                   >{{subject.content}}</span
442                                 >
443                                 <span
444                                   ng-switch-when="variable"
445                                   class="text-boxed"
446                                   >{{subject.variableName}}</span
447                                 >
448                                 <span
449                                   ng-switch-when="customVariable"
450                                   class="text-boxed"
451                                   >{{
452                                   vm_cc.variablesById[subject.VariableId].name
453                                   }}</span
454                                 >
455                                 <span ng-switch-when="keyValue">
456                                   {{subject.key}}
457                                   <span ng-switch="description.keyType">
458                                     <span ng-switch-when="string"
459                                       >{{subject.keyContent}}</span
460                                     >
461                                     <span
462                                       ng-switch-when="variable"
463                                       class="text-boxed"
464                                       >{{subject.variableName}}</span
465                                     >
466                                     <span
467                                       ng-switch-when="customVariable"
468                                       class="text-boxed"
469                                       >{{
470                                       vm_cc.variablesById[subject.VariableId].name
471                                       }}</span
472                                     >
473                                   </span>
474                                 </span>
475                                 <span ng-switch-default
476                                   >{{subject.content}}</span
477                                 >
478                               </td>
479                               <td
480                                 md-cell
481                                 class="actions"
482                                 ng-if="!vm_cc.crudPermissions.readOnly"
483                               >
484                                 <md-menu>
485                                   <md-button
486                                     class="md-icon-button"
487                                     aria-label="More"
488                                     translate
489                                     translate-attr-aria-label="APP.MORE"
490                                     ng-click="$mdMenu.open($event)"
491                                   >
492                                     <md-icon
493                                       md-font-icon="icon-dots-vertical"
494                                     ></md-icon>
495                                   </md-button>
496
497                                   <md-menu-content width="3">
498                                     <md-menu-item
499                                       ng-if="vm_cc.crudPermissions.canEdit"
500                                     >
501                                       <md-button
502                                         ng-click="vm_cc.createOrEditSubject($event, subject)"
503                                         translate="INTEGRATIONS.EDIT_SUBJECT"
504                                       >
505                                         Edit Subject
506                                       </md-button>
507                                     </md-menu-item>
508                                     <md-menu-item
509                                       ng-if="vm_cc.crudPermissions.canDelete"
510                                     >
511                                       <md-button
512                                         ng-click="vm_cc.deleteSubjectConfirm($event, subject)"
513                                         translate="INTEGRATIONS.DELETE_SUBJECT"
514                                       >
515                                         Delete Subject
516                                       </md-button>
517                                     </md-menu-item>
518                                   </md-menu-content>
519                                 </md-menu>
520                               </td>
521                             </tr>
522                           </tbody>
523                         </table>
524                       </md-table-container>
525                     </md-tab-body>
526                   </md-tab>
527
528                   <md-tab>
529                     <md-tab-label>
530                       <span translate="INTEGRATIONS.DESCRIPTIONS"
531                         >DESCRIPTIONS</span
532                       >
533                     </md-tab-label>
534                     <md-tab-body>
535                       <md-toolbar
536                         class="md-table-toolbar md-default no-padding"
537                         ng-hide="vm_cc.selectedDescriptions.length"
538                       >
539                         <div class="md-toolbar-tools">
540                           <div flex></div>
541                           <ms-search-bar
542                             query="vm_cc.query"
543                             debounce="300"
544                           ></ms-search-bar>
545                           <md-button
546                             ng-if="vm_cc.crudPermissions.canEdit"
547                             class="md-icon-button"
548                             ng-click="vm_cc.createOrEditDescription($event)"
549                             aria-label="add description"
550                             translate
551                             translate-attr-label="INTEGRATIONS.ADD_DESCRIPTION"
552                           >
553                             <md-icon md-font-icon="icon-plus"></md-icon>
554                           </md-button>
555                         </div>
556                       </md-toolbar>
557                       <md-toolbar
558                         class="md-table-toolbar md-accent"
559                         ng-show="vm_cc.selectedDescriptions.length"
560                       >
561                         <div class="md-toolbar-tools">
562                           <span class="md-subhead"
563                             >{{vm_cc.selectedDescriptions.length}}
564                             {{vm_cc.selectedDescriptions.length > 1 ? 'items' :
565                             'item'}} selected</span
566                           >
567                           <div flex></div>
568                           <md-button
569                             ng-if="vm_cc.crudPermissions.canDelete"
570                             class="md-icon-button"
571                             ng-click="vm_cc.deleteSelectedDescriptions($event)"
572                             aria-label="delete selected"
573                             translate
574                             translate-attr-label="APP.DELETE_SELECTED"
575                           >
576                             <md-icon md-font-icon="icon-delete"></md-icon>
577                           </md-button>
578                         </div>
579                       </md-toolbar>
580                       <md-table-container
581                         class="md-whiteframe-1dp padding-horizontal"
582                       >
583                         <table
584                           md-table
585                           md-row-select
586                           multiple
587                           ng-model="vm_cc.selectedDescriptions"
588                         >
589                           <thead md-head>
590                             <tr md-row>
591                               <th md-column>{{ 'APP.ID' | translate }}</th>
592                               <th md-column>{{ 'APP.TYPE' | translate }}</th>
593                               <th md-column>{{ 'APP.CONTENT' | translate }}</th>
594                               <th md-column width="10px"></th>
595                             </tr>
596                           </thead>
597                           <tbody md-body>
598                             <tr
599                               md-row
600                               md-select="description"
601                               md-select-id="id"
602                               ng-repeat="description in vm_cc.descriptions | filter: vm_cc.query.filter"
603                             >
604                               <td
605                                 ng-click="vm_cc.createOrEditDescription($event, description)"
606                                 md-cell
607                                 class="id"
608                               >
609                                 {{description.id}}
610                               </td>
611                               <td
612                                 ng-click="vm_cc.createOrEditDescription($event, description)"
613                                 md-cell
614                                 class="type"
615                               >
616                                 <span ng-if="description.FieldId"
617                                   >{{description.nameField ||
618                                   description.idField}}</span
619                                 >
620                                 <span ng-if="!description.FieldId"
621                                   >{{description.type}}</span
622                                 >
623                               </td>
624                               <td
625                                 ng-switch="description.type"
626                                 ng-click="vm_cc.createOrEditDescription($event, description)"
627                                 md-cell
628                               >
629                                 <span ng-switch-when="string"
630                                   >{{description.content}}</span
631                                 >
632                                 <span
633                                   ng-switch-when="variable"
634                                   class="text-boxed"
635                                   >{{description.variableName}}</span
636                                 >
637                                 <span
638                                   ng-switch-when="customVariable"
639                                   class="text-boxed"
640                                   >{{
641                                   vm_cc.variablesById[description.VariableId].name
642                                   }}</span
643                                 >
644                                 <span ng-switch-when="keyValue">
645                                   {{description.key}}
646                                   <span ng-switch="description.keyType">
647                                     <span ng-switch-when="string"
648                                       >{{description.keyContent}}</span
649                                     >
650                                     <span
651                                       ng-switch-when="variable"
652                                       class="text-boxed"
653                                       >{{description.variableName}}</span
654                                     >
655                                     <span
656                                       ng-switch-when="customVariable"
657                                       class="text-boxed"
658                                       >{{
659                                       vm_cc.variablesById[description.VariableId].name
660                                       }}</span
661                                     >
662                                   </span>
663                                 </span>
664                                 <span ng-switch-default
665                                   >{{description.content}}</span
666                                 >
667                               </td>
668                               <td
669                                 md-cell
670                                 class="actions"
671                                 ng-if="!vm_cc.crudPermissions.readOnly"
672                               >
673                                 <md-menu>
674                                   <md-button
675                                     class="md-icon-button"
676                                     aria-label="More"
677                                     translate
678                                     translate-attr-aria-label="APP.MORE"
679                                     ng-click="$mdMenu.open($event)"
680                                   >
681                                     <md-icon
682                                       md-font-icon="icon-dots-vertical"
683                                     ></md-icon>
684                                   </md-button>
685
686                                   <md-menu-content width="3">
687                                     <md-menu-item
688                                       ng-if="vm_cc.crudPermissions.canEdit"
689                                     >
690                                       <md-button
691                                         ng-click="vm_cc.createOrEditDescription($event, description)"
692                                         translate="INTEGRATIONS.EDIT_DESCRIPTION"
693                                       >
694                                         Edit Description
695                                       </md-button>
696                                     </md-menu-item>
697                                     <md-menu-item
698                                       ng-if="vm_cc.crudPermissions.canDelete"
699                                     >
700                                       <md-button
701                                         ng-click="vm_cc.deleteDescriptionConfirm($event, description)"
702                                         translate="INTEGRATIONS.DELETE_DESCRIPTION"
703                                       >
704                                         Delete Description
705                                       </md-button>
706                                     </md-menu-item>
707                                   </md-menu-content>
708                                 </md-menu>
709                               </td>
710                             </tr>
711                           </tbody>
712                         </table>
713                       </md-table-container>
714                     </md-tab-body>
715                   </md-tab>
716                 </md-tabs>
717                 <div
718                   class="padding-20"
719                   ng-if="!vm_cc.configurations.length && vm_cc.crudPermissions.canEdit"
720                   ng-click="vm_cc.createOrEditServicenowConfiguration($event)"
721                   layout="row"
722                   layout-sm="column"
723                   layout-align="center center"
724                   layout-wrap
725                 >
726                   <div
727                     class="padding-20 md-whiteframe-3dp md-accent-bg"
728                     layout="column"
729                     layout-align="center center"
730                   >
731                     <md-button class="md-icon-button">
732                       <md-icon md-font-icon="icon-plus"></md-icon>
733                     </md-button>
734                     <span
735                       aria-label="add configuration"
736                       translate
737                       translate-attr-label="INTEGRATIONS.ADD_CONFIGURATION"
738                       >ADD CONFIGURATION</span
739                     >
740                   </div>
741                 </div>
742               </md-card>
743             </div>
744           </div>
745         </md-tab-body>
746       </md-tab>
747     </md-tabs>
748   </div>
749   <!-- / CONTENT -->
750 </div>