@schneideress/dashboardframework 0.0.144 → 0.0.146

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -5,18 +5,18 @@
5
5
  }(this, (function (exports, core, rxjs, raCommon, operators, ngxUiLoader, angularNotifier, widgetframework, platformBrowser, http, common, userControls, commonControls) { 'use strict';
6
6
 
7
7
  /*! *****************************************************************************
8
- Copyright (c) Microsoft Corporation. All rights reserved.
9
- Licensed under the Apache License, Version 2.0 (the "License"); you may not use
10
- this file except in compliance with the License. You may obtain a copy of the
11
- License at http://www.apache.org/licenses/LICENSE-2.0
8
+ Copyright (c) Microsoft Corporation.
12
9
 
13
- THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14
- KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
15
- WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
16
- MERCHANTABLITY OR NON-INFRINGEMENT.
10
+ Permission to use, copy, modify, and/or distribute this software for any
11
+ purpose with or without fee is hereby granted.
17
12
 
18
- See the Apache Version 2.0 License for specific language governing permissions
19
- and limitations under the License.
13
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
14
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
15
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
16
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
17
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
18
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
19
+ PERFORMANCE OF THIS SOFTWARE.
20
20
  ***************************************************************************** */
21
21
  /* global Reflect, Promise */
22
22
 
@@ -109,8 +109,13 @@
109
109
  }
110
110
  }
111
111
 
112
+ function __createBinding(o, m, k, k2) {
113
+ if (k2 === undefined) k2 = k;
114
+ o[k2] = m[k];
115
+ }
116
+
112
117
  function __exportStar(m, exports) {
113
- for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
118
+ for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) exports[p] = m[p];
114
119
  }
115
120
 
116
121
  function __values(o) {
@@ -937,7 +942,17 @@
937
942
  * @return {?}
938
943
  */
939
944
  function () {
945
+ var _this = this;
940
946
  this.initiateGridsterConfig();
947
+ this.widgetRearrangeSubject.subscribe((/**
948
+ * @param {?} event
949
+ * @return {?}
950
+ */
951
+ function (event) {
952
+ console.log('in subscribe subject & value is');
953
+ console.log(event);
954
+ _this.rearrangeWidgets();
955
+ }));
941
956
  };
942
957
  /**
943
958
  * @param {?} changes
@@ -1118,6 +1133,8 @@
1118
1133
  this.widgetDeleteEvent.unsubscribe();
1119
1134
  if (this.widgetLibraryDoneClick)
1120
1135
  this.widgetLibraryDoneClick.unsubscribe();
1136
+ if (this.widgetRearrangeSubject)
1137
+ this.widgetRearrangeSubject.unsubscribe();
1121
1138
  };
1122
1139
  /**To update position/dimention of all widgets in the area */
1123
1140
  /**
@@ -1242,7 +1259,6 @@
1242
1259
  */
1243
1260
  function (widgetInstanceId, isalertDisabled) {
1244
1261
  if (isalertDisabled === void 0) { isalertDisabled = false; }
1245
- console.log("goCorona");
1246
1262
  /** @type {?} */
1247
1263
  var widget = this.widgetList.filter((/**
1248
1264
  * @param {?} item
@@ -1257,12 +1273,24 @@
1257
1273
  if (!isalertDisabled) {
1258
1274
  this.notifier.notify('success', " " + this.translateService.translate('Common.Widgettext') + " " + widget[0].widgetInfo.widgetTitle + " " + this.translateService.translate('Common.deletedSuccesfully') + " ");
1259
1275
  }
1260
- this.options.compactType = 'compactLeft&Up';
1261
- this.options.api.optionsChanged();
1262
- this.options.compactType = 'none';
1263
- this.options.api.optionsChanged();
1264
1276
  }
1265
1277
  };
1278
+ /**To rearrange widgets position in the dashboard, compactLeft&Up,compactLeft,compactUp,etc*/
1279
+ /**
1280
+ * To rearrange widgets position in the dashboard, compactLeft&Up,compactLeft,compactUp,etc
1281
+ * @return {?}
1282
+ */
1283
+ RADashboardArea.prototype.rearrangeWidgets = /**
1284
+ * To rearrange widgets position in the dashboard, compactLeft&Up,compactLeft,compactUp,etc
1285
+ * @return {?}
1286
+ */
1287
+ function () {
1288
+ console.log('in rearrange widgets methd');
1289
+ this.options.compactType = 'compactUp&Left';
1290
+ this.options.api.optionsChanged();
1291
+ this.options.compactType = 'none';
1292
+ this.options.api.optionsChanged();
1293
+ };
1266
1294
  /**To add widget instance to the database with the next available position and to make changes in
1267
1295
  * dashboard area.
1268
1296
  */
@@ -1452,6 +1480,7 @@
1452
1480
  widgetHeight: [{ type: core.Input, args: ['widget-height',] }],
1453
1481
  widgetWidth: [{ type: core.Input, args: ['widget-width',] }],
1454
1482
  appConfig: [{ type: core.Input, args: ['app-config',] }],
1483
+ widgetRearrangeSubject: [{ type: core.Input }],
1455
1484
  gridWrapper: [{ type: core.ViewChild, args: ['gridWrapper', { static: false },] }],
1456
1485
  onResize: [{ type: core.HostListener, args: ['window:resize', ['$event'],] }]
1457
1486
  };
@@ -1508,6 +1537,8 @@
1508
1537
  /** @type {?} */
1509
1538
  RADashboardArea.prototype.appConfig;
1510
1539
  /** @type {?} */
1540
+ RADashboardArea.prototype.widgetRearrangeSubject;
1541
+ /** @type {?} */
1511
1542
  RADashboardArea.prototype.gridWrapper;
1512
1543
  /**
1513
1544
  * @type {?}
@@ -1677,6 +1708,28 @@
1677
1708
  this.widgetElement.widgetResized(size);
1678
1709
  }
1679
1710
  };
1711
+ /**
1712
+ * @param {?=} isHover
1713
+ * @return {?}
1714
+ */
1715
+ RAWidgetContainer.prototype.mouseHover = /**
1716
+ * @param {?=} isHover
1717
+ * @return {?}
1718
+ */
1719
+ function (isHover) {
1720
+ if (isHover === void 0) { isHover = true; }
1721
+ if (this.widgetElement) {
1722
+ if (typeof this.widgetElement.hoverStatus === "function") {
1723
+ this.widgetElement.hoverStatus(isHover);
1724
+ }
1725
+ else {
1726
+ console.warn('widget framework outdated, please update to version 0.0.96');
1727
+ }
1728
+ }
1729
+ if (!isHover) {
1730
+ this.hideDropDown();
1731
+ }
1732
+ };
1680
1733
  /**
1681
1734
  * @return {?}
1682
1735
  */
@@ -1876,8 +1929,6 @@
1876
1929
  * @return {?}
1877
1930
  */
1878
1931
  function (e) {
1879
- console.log('in widget default state');
1880
- console.log(e);
1881
1932
  widgetContainer.setEmptyState(e.detail);
1882
1933
  }));
1883
1934
  titleLineEnabled = widgetContainer.widgetElement.titleLineEnabled();
@@ -1955,16 +2006,11 @@
1955
2006
  */
1956
2007
  function (widgetInfo, forceEnable) {
1957
2008
  if (forceEnable === void 0) { forceEnable = false; }
1958
- console.log('in set no configured');
1959
- console.log(widgetInfo);
1960
- console.log(forceEnable);
1961
2009
  if ((widgetInfo.showDefaultState && (widgetInfo.widgetConfigInfo.config == "" || Object.keys(JSON.parse(widgetInfo.widgetConfigInfo.config)).length == 0)) || (forceEnable)) {
1962
- console.log('ininf');
1963
2010
  this.isWidgetStateApplicable = true;
1964
2011
  this.widgetEmptyState = widgetframework.WidgetViewState.emptyConfig.toString();
1965
2012
  }
1966
2013
  else {
1967
- console.log('in else');
1968
2014
  this.widgetEmptyState = '';
1969
2015
  this.isWidgetStateApplicable = false;
1970
2016
  }
@@ -1981,24 +2027,19 @@
1981
2027
  * @return {?}
1982
2028
  */
1983
2029
  function (widgetState) {
1984
- console.log('in wc contanjiner widget state');
1985
- console.log(widgetState);
1986
2030
  this.widgetEmptyState = widgetState;
1987
2031
  if (widgetState != widgetframework.WidgetViewState.normal) {
1988
2032
  this.isWidgetStateApplicable = true;
1989
2033
  this.isDownloadIconVisible = false;
1990
2034
  }
1991
2035
  else {
1992
- console.log('in else case');
1993
2036
  this.isWidgetStateApplicable = false;
1994
2037
  }
1995
2038
  switch (widgetState) {
1996
2039
  case widgetframework.WidgetViewState.emptyConfig:
1997
- console.log('in case emptyconfig');
1998
2040
  this.setNotConfiguredState(this.data.widgetInfo, true);
1999
2041
  break;
2000
2042
  case widgetframework.WidgetViewState.emptyData:
2001
- console.log('in case empty');
2002
2043
  break;
2003
2044
  case widgetframework.WidgetViewState.error:
2004
2045
  break;
@@ -2273,7 +2314,7 @@
2273
2314
  RAWidgetContainer.decorators = [
2274
2315
  { type: core.Component, args: [{
2275
2316
  selector: 'ra-widget-container',
2276
- template: "<div class=\"wc-wrapper\" (mouseleave)=\"hideDropDown()\"\r\n [ngStyle]=\"{'margin-left': noPadding?'0px':'15px','margin-right': noPadding?'0px':'15px'}\">\r\n <div class=\"wcheader widget-move\" [ngClass]=\"{'underLine': enableTitleLine || isWidgetStateApplicable}\">\r\n <div class=\"col-md-12 wc-mover\" style=\"padding-left: 0px;height:inherit;padding-right: 0px;\">\r\n <div style=\"display:flex;margin-top:10px;\"\r\n [ngStyle]=\"{'margin-left': noPadding?'15px':'0px','margin-right': noPadding?'15px':'0px'}\">\r\n <div class=\"col-md-10 float-left title-label\">\r\n <ra-tooltip [value]=\"toolTipValue\" [width]=\"toolTipWidth\">\r\n <div style=\"text-overflow: ellipsis;white-space: nowrap;overflow: hidden;\" (mouseover)=\"mouseOver($event)\"\r\n #searchInput>{{data.widgetInfo.widgetTitle}}</div>\r\n </ra-tooltip>\r\n </div>\r\n\r\n\r\n <div class=\"col-md-2\" style=\"cursor:default;padding-right: 0px;\">\r\n <div class=\"float-right\" style=\"display: flex;\">\r\n\r\n <div class=\"title-bar-lock-icon lock-dropdown\" [hidden]=\"!lockDetails && !lockTemplateInfo\">\r\n <i class=\"fal fa-lock lock\"></i>\r\n <div class=\"lock-dropdown-content light widget-config-item\">\r\n <div *ngIf=\"lockDetails && !lockTemplateInfo\">\r\n <label style=\"color: #D9F0FA;\">\r\n {{'Common.lockedfields'|translate}}\r\n </label>\r\n <div style=\"color: white;\">\r\n <label class=\"bold\" style=\"margin-bottom: 0px;width: 100%;\" *ngFor=\"let item of lockDetails\">\r\n {{item}}\r\n </label>\r\n </div>\r\n <hr>\r\n <div style=\"color: #D9F0FA;\">\r\n <label>{{'Common.lockedfieldseditinfo'|translate}}</label>\r\n </div>\r\n </div>\r\n <div *ngIf=\"!lockDetails && lockTemplateInfo\">\r\n <ng-container *ngTemplateOutlet=\"lockTemplateInfo\">\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"dropdown\" style=\"width:10px;\">\r\n <div class=\"dropbtn title-bar-icon\">\r\n <i (click)=\"showDropDown()\" #widgetDropdown class=\"fal fa-ellipsis-v\"></i>\r\n </div>\r\n <div class=\"download-content dropdown-content widget-config-item\"\r\n [ngClass]=\"{'dropdown-click': dropDownShown}\" style=\"z-index: 1002;\">\r\n\r\n <div style=\"color: #9FA0A4;font-size: 12px;padding-top: 8px;padding-left: 12px;\">\r\n {{'Common.settings'|translate}}</div>\r\n\r\n <a style=\"padding-top: 10px;\" (click)=\"editWidget()\">\r\n <ra-tooltip [value]=\"editToolTipValue\" [width]=\"editToolTipWidth\">\r\n <i class=\"fal fa-edit\"></i>\r\n <span style=\"padding-left: 6px;\">{{editText}}</span>\r\n </ra-tooltip>\r\n </a>\r\n <a (click)=\"copyWidget()\">\r\n <ra-tooltip [value]=\"copyToolTipValue\" [width]=\"copyToolTipWidth\">\r\n <i class=\"fal fa-copy\"></i>\r\n <span style=\"padding-left: 10px;\">{{copyText}}</span>\r\n </ra-tooltip>\r\n </a>\r\n <a (click)=\"moveWidget()\">\r\n <ra-tooltip [value]=\"moveToolTipValue\" [width]=\"moveToolTipWidth\">\r\n <i class=\"fal fa-arrows-alt\"></i>\r\n <span style=\"padding-left: 9px;\">{{moveText}}</span>\r\n </ra-tooltip>\r\n </a>\r\n <a *ngIf=\"detailPageUrl\" (click)=\"visitPage()\"\r\n style=\"max-height: 30px;align-items: center;align-content: center; display: flex;\">\r\n <i style=\"padding-left: 4px;font-size: 27px !important;\" class=\"fal fa-angle-right\"></i>\r\n <span style=\"padding-left: 11px;margin-top: 2px;\">{{'Common.visitpage'|translate}}</span>\r\n </a>\r\n <hr class=\"hr\" style=\"padding-bottom: 9px;\">\r\n <span style=\"color: #9FA0A4;font-size: 12px;\"\r\n *ngIf=\"isDownloadIconVisible\">{{'Common.downloads'|translate}}</span>\r\n <div *ngIf=\"isChartDownloadVisible\" style=\"padding-top: 10px;\" class=\"chartDownload\">\r\n <a (click)=\"downloadIconClicked('PNG')\">\r\n <i class=\"fal fa-file-image\"></i>\r\n <span>{{'Common.png'|translate}}</span>\r\n </a>\r\n <a (click)=\"downloadIconClicked('JPEG')\">\r\n <i class=\"fal fa-file-image\"></i>\r\n <span>{{'Common.jpeg'|translate}}</span>\r\n </a>\r\n <a (click)=\"downloadIconClicked('PDF')\">\r\n <i class=\"fal fa-file-pdf\"></i>\r\n <span>{{'Common.pdf'|translate}}</span>\r\n </a>\r\n <a (click)=\"downloadIconClicked('SVG')\">\r\n <i class=\"fal fa-file-alt\"></i>\r\n <span>{{'Common.svg'|translate}}</span>\r\n </a>\r\n </div>\r\n <div *ngIf=\"isGridDownloadVisible\" class=\"gridDownload\">\r\n <a (click)=\"downloadIconClicked('CSV')\">\r\n <ra-tooltip [value]=\"excelToolTipValue\" [width]=\"excelToolTipWidth\">\r\n <i class=\"fal fa-download\"></i>\r\n <span>{{excelText}}</span>\r\n </ra-tooltip>\r\n </a>\r\n </div>\r\n <hr *ngIf=\"isDownloadIconVisible\" class=\"hr\">\r\n <a (click)=\"deleteWidget()\">\r\n <ra-tooltip [value]=\"deleteToolTipValue\" [width]=\"deleteToolTipWidth\">\r\n <i class=\"fal fa-times\" style=\"padding-left: 3px;color: red;\"></i>\r\n <span>{{deleteText}}</span>\r\n </ra-tooltip>\r\n </a>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"wcBody\" [ngStyle]=\"{'bottom': noPadding?'0px':'15px'}\">\r\n <div [hidden]=\"isWidgetStateApplicable\" class=\"m-fadeOut widget-overlay\" [ngClass]=\"{'m-fadeIn': showPanel}\">\r\n <div class=\"lds-roller\">\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n </div>\r\n </div>\r\n <div class=\"wc\" [hidden]=\"isWidgetStateApplicable\">\r\n <div #ctlWidget></div>\r\n </div>\r\n <div *ngIf=\"isWidgetStateApplicable\" class=\"defaultConfig\">\r\n <div class=\"contentarea\" *ngIf=\"widgetEmptyState == widgetViewState.emptyConfig\">\r\n <div class=\"textarea light\">\r\n <span class=\"icon empty-config\"><i class=\"fal fa-edit\" style=\"font-size: 16px;\"></i></span>\r\n <span class=\"text\">{{'Common.configureinfo'|translate}}</span>\r\n </div>\r\n <div class=\"button\" (click)=\"editWidget()\">\r\n <div class=\"configuretext\">\r\n {{'Common.configurewidget'|translate}}\r\n </div>\r\n <!-- <span class=\"editIcon\"><i class=\"fal fa-edit\"></i></span><span class=\"text\">Configure Widget</span> -->\r\n </div>\r\n </div>\r\n <div class=\"contentarea emptyDataView\"\r\n *ngIf=\"isWidgetStateApplicable && widgetEmptyState == widgetViewState.emptyData\">\r\n <div class=\"textarea light\">\r\n <span class=\"icon empty-data\"><i class=\"fal fa-empty-set\"></i></span>\r\n <span class=\"text\">{{'Common.widgetemptydatainfo'|translate}}</span>\r\n </div>\r\n </div>\r\n <div class=\"contentarea errorView\" *ngIf=\"isWidgetStateApplicable && widgetEmptyState == widgetViewState.error\">\r\n <div class=\"textarea light\">\r\n <span class=\"icon error-view\"><i class=\"fal fa-octagon\"></i></span>\r\n <span class=\"text\">{{'Common.widgeterrorinfo'|translate}}</span>\r\n </div>\r\n </div>\r\n </div>\r\n <div>\r\n </div>\r\n </div>\r\n</div>\r\n",
2317
+ template: "<div class=\"wc-wrapper\" (mouseenter)=\"mouseHover(true)\" (mouseleave)=\"mouseHover(false)\"\r\n [ngStyle]=\"{'margin-left': noPadding?'0px':'15px','margin-right': noPadding?'0px':'15px'}\">\r\n <div class=\"wcheader widget-move\" [ngClass]=\"{'underLine': enableTitleLine || isWidgetStateApplicable}\">\r\n <div class=\"col-md-12 wc-mover\" style=\"padding-left: 0px;height:inherit;padding-right: 0px;\">\r\n <div style=\"display:flex;margin-top:10px;\"\r\n [ngStyle]=\"{'margin-left': noPadding?'15px':'0px','margin-right': noPadding?'15px':'0px'}\">\r\n <div class=\"col-md-10 float-left title-label\">\r\n <ra-tooltip [value]=\"toolTipValue\" [width]=\"toolTipWidth\">\r\n <div style=\"text-overflow: ellipsis;white-space: nowrap;overflow: hidden;\" (mouseover)=\"mouseOver($event)\"\r\n #searchInput>{{data.widgetInfo.widgetTitle}}</div>\r\n </ra-tooltip>\r\n </div>\r\n\r\n\r\n <div class=\"col-md-2\" style=\"cursor:default;padding-right: 0px;\">\r\n <div class=\"float-right\" style=\"display: flex;\">\r\n\r\n <div class=\"title-bar-lock-icon lock-dropdown\" [hidden]=\"!lockDetails && !lockTemplateInfo\">\r\n <i class=\"fal fa-lock lock\"></i>\r\n <div class=\"lock-dropdown-content light widget-config-item\">\r\n <div *ngIf=\"lockDetails && !lockTemplateInfo\">\r\n <label style=\"color: #D9F0FA;\">\r\n {{'Common.lockedfields'|translate}}\r\n </label>\r\n <div style=\"color: white;\">\r\n <label class=\"bold\" style=\"margin-bottom: 0px;width: 100%;\" *ngFor=\"let item of lockDetails\">\r\n {{item}}\r\n </label>\r\n </div>\r\n <hr>\r\n <div style=\"color: #D9F0FA;\">\r\n <label>{{'Common.lockedfieldseditinfo'|translate}}</label>\r\n </div>\r\n </div>\r\n <div *ngIf=\"!lockDetails && lockTemplateInfo\">\r\n <ng-container *ngTemplateOutlet=\"lockTemplateInfo\">\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"dropdown\" style=\"width:10px;\">\r\n <div class=\"dropbtn title-bar-icon\">\r\n <i (click)=\"showDropDown()\" #widgetDropdown class=\"fal fa-ellipsis-v\"></i>\r\n </div>\r\n <div class=\"download-content dropdown-content widget-config-item\"\r\n [ngClass]=\"{'dropdown-click': dropDownShown}\" style=\"z-index: 1002;\">\r\n\r\n <div style=\"color: #9FA0A4;font-size: 12px;padding-top: 8px;padding-left: 12px;\">\r\n {{'Common.settings'|translate}}</div>\r\n\r\n <a style=\"padding-top: 10px;\" (click)=\"editWidget()\">\r\n <ra-tooltip [value]=\"editToolTipValue\" [width]=\"editToolTipWidth\">\r\n <i class=\"fal fa-edit\"></i>\r\n <span style=\"padding-left: 6px;\">{{editText}}</span>\r\n </ra-tooltip>\r\n </a>\r\n <a (click)=\"copyWidget()\">\r\n <ra-tooltip [value]=\"copyToolTipValue\" [width]=\"copyToolTipWidth\">\r\n <i class=\"fal fa-copy\"></i>\r\n <span style=\"padding-left: 10px;\">{{copyText}}</span>\r\n </ra-tooltip>\r\n </a>\r\n <a (click)=\"moveWidget()\">\r\n <ra-tooltip [value]=\"moveToolTipValue\" [width]=\"moveToolTipWidth\">\r\n <i class=\"fal fa-arrows-alt\"></i>\r\n <span style=\"padding-left: 9px;\">{{moveText}}</span>\r\n </ra-tooltip>\r\n </a>\r\n <a *ngIf=\"detailPageUrl\" (click)=\"visitPage()\"\r\n style=\"max-height: 30px;align-items: center;align-content: center; display: flex;\">\r\n <i style=\"padding-left: 4px;font-size: 27px !important;\" class=\"fal fa-angle-right\"></i>\r\n <span style=\"padding-left: 11px;margin-top: 2px;\">{{'Common.visitpage'|translate}}</span>\r\n </a>\r\n <hr class=\"hr\" style=\"padding-bottom: 9px;\">\r\n <span style=\"color: #9FA0A4;font-size: 12px;\"\r\n *ngIf=\"isDownloadIconVisible\">{{'Common.downloads'|translate}}</span>\r\n <div *ngIf=\"isChartDownloadVisible\" style=\"padding-top: 10px;\" class=\"chartDownload\">\r\n <a (click)=\"downloadIconClicked('PNG')\">\r\n <i class=\"fal fa-file-image\"></i>\r\n <span>{{'Common.png'|translate}}</span>\r\n </a>\r\n <a (click)=\"downloadIconClicked('JPEG')\">\r\n <i class=\"fal fa-file-image\"></i>\r\n <span>{{'Common.jpeg'|translate}}</span>\r\n </a>\r\n <a (click)=\"downloadIconClicked('PDF')\">\r\n <i class=\"fal fa-file-pdf\"></i>\r\n <span>{{'Common.pdf'|translate}}</span>\r\n </a>\r\n <a (click)=\"downloadIconClicked('SVG')\">\r\n <i class=\"fal fa-file-alt\"></i>\r\n <span>{{'Common.svg'|translate}}</span>\r\n </a>\r\n </div>\r\n <div *ngIf=\"isGridDownloadVisible\" class=\"gridDownload\">\r\n <a (click)=\"downloadIconClicked('CSV')\">\r\n <ra-tooltip [value]=\"excelToolTipValue\" [width]=\"excelToolTipWidth\">\r\n <i class=\"fal fa-download\"></i>\r\n <span>{{excelText}}</span>\r\n </ra-tooltip>\r\n </a>\r\n </div>\r\n <hr *ngIf=\"isDownloadIconVisible\" class=\"hr\">\r\n <a (click)=\"deleteWidget()\">\r\n <ra-tooltip [value]=\"deleteToolTipValue\" [width]=\"deleteToolTipWidth\">\r\n <i class=\"fal fa-times\" style=\"padding-left: 3px;color: red;\"></i>\r\n <span>{{deleteText}}</span>\r\n </ra-tooltip>\r\n </a>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"wcBody\" [ngStyle]=\"{'bottom': noPadding?'0px':'15px'}\">\r\n <div [hidden]=\"isWidgetStateApplicable\" class=\"m-fadeOut widget-overlay\" [ngClass]=\"{'m-fadeIn': showPanel}\">\r\n <div class=\"lds-roller\">\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n </div>\r\n </div>\r\n <div class=\"wc\" [hidden]=\"isWidgetStateApplicable\">\r\n <div #ctlWidget></div>\r\n </div>\r\n <div *ngIf=\"isWidgetStateApplicable\" class=\"defaultConfig\">\r\n <div class=\"contentarea\" *ngIf=\"widgetEmptyState == widgetViewState.emptyConfig\">\r\n <div class=\"textarea light\">\r\n <span class=\"icon empty-config\"><i class=\"fal fa-edit\" style=\"font-size: 16px;\"></i></span>\r\n <span class=\"text\">{{'Common.configureinfo'|translate}}</span>\r\n </div>\r\n <div class=\"button\" (click)=\"editWidget()\">\r\n <div class=\"configuretext\">\r\n {{'Common.configurewidget'|translate}}\r\n </div>\r\n <!-- <span class=\"editIcon\"><i class=\"fal fa-edit\"></i></span><span class=\"text\">Configure Widget</span> -->\r\n </div>\r\n </div>\r\n <div class=\"contentarea emptyDataView\"\r\n *ngIf=\"isWidgetStateApplicable && widgetEmptyState == widgetViewState.emptyData\">\r\n <div class=\"textarea light\">\r\n <span class=\"icon empty-data\"><i class=\"fal fa-empty-set\"></i></span>\r\n <span class=\"text\">{{'Common.widgetemptydatainfo'|translate}}</span>\r\n </div>\r\n </div>\r\n <div class=\"contentarea errorView\" *ngIf=\"isWidgetStateApplicable && widgetEmptyState == widgetViewState.error\">\r\n <div class=\"textarea light\">\r\n <span class=\"icon error-view\"><i class=\"fal fa-octagon\"></i></span>\r\n <span class=\"text\">{{'Common.widgeterrorinfo'|translate}}</span>\r\n </div>\r\n </div>\r\n </div>\r\n <div>\r\n </div>\r\n </div>\r\n</div>\r\n",
2277
2318
  styles: [".sp_icon{float:left;margin:0 15% 0 0}.dropbtn{color:#42b4e6;text-align:right;height:100%}.dropbtn i{cursor:pointer;width:100%;height:100%}.dropdown{visibility:hidden;opacity:0;transition:visibility,opacity .5s linear;position:relative;width:100%}@media screen and (max-width:400px){.dropdown{visibility:visible;opacity:1}}.dropdown hr{margin:0!important}.dropdown-content{display:none;position:absolute;right:0;background-color:#fff;min-width:100px;box-shadow:0 8px 16px 8px rgba(0,0,0,.2);z-index:2;font-size:12px;font-weight:400;width:122px}.dropdown-content a{color:#000;padding:5px 16px;text-decoration:none;display:block;cursor:pointer}.wc{height:100%}.defaultConfig{height:100%;display:flex;align-items:center}.defaultConfig .button{min-height:34px;font-size:13px;width:100%;min-height:34px;color:#fff;background:no-repeat padding-box #3dcd58;display:table;margin:9px 0 0;cursor:pointer;text-align:center;float:left}.defaultConfig .contentarea{width:80%;margin:0 auto;float:left;height:-webkit-fit-content;height:-moz-fit-content;height:fit-content}.defaultConfig .textarea{width:100%;float:left}.defaultConfig .textarea .icon{width:52px;height:100%;float:left}.defaultConfig .textarea .empty-config{color:#32ad3c}.defaultConfig .textarea .error-view{color:#dc0a0a}.defaultConfig .textarea .empty-data{color:#5ab5e6}.defaultConfig .textarea .text{width:calc(100% - 52px);min-height:60px;float:left;font-size:14px;text-align:left}.defaultConfig .textarea .icon i{font-size:40px!important}.configuretext{display:table-cell;vertical-align:middle;height:34px}.dropdown-content a:hover{background-color:#f1f1f1}.lockInvisible{margin-right:-17px}.dropdown-click{display:block!important;-webkit-animation:.3s ease-out slide-down;animation:.3s ease-out slide-down}.download-icon{cursor:pointer}.dropdown:hover .dropdown-content{color:#fff}.title-bar-icon{color:#42b4e6}.title-bar-lock-icon{margin:0 3px}.hr{border:0;border-top:1px solid rgba(0,0,0,.1)}.settingstyle{color:#9fa0a4;font-size:12px}@-webkit-keyframes slide-down{0%{opacity:0;transform:translateY(-20%)}100%{opacity:1;transform:translateY(0)}}@keyframes slide-down{0%{opacity:0;transform:translateY(-20%)}100%{opacity:1;transform:translateY(0)}}.widget-config-item i{font-size:17px;color:#42b4e6}.widget-config-item span{font-size:12px;font:inherit;padding-left:12px;color:#42b4e6}.lock{color:#42b4e6}.locked{color:#42b4e6;background:#fff}.partiallocked{color:#a0d9f2}.unlocked{display:none}.download{visibility:hidden;opacity:0;transition:visibility,opacity .5s linear;position:relative}.wc-wrapper:hover .download{visibility:visible;opacity:1}.download-content a{color:#000;padding:5px 16px;text-decoration:none;display:block;cursor:pointer}.download-content a:hover{background-color:#f1f1f1}.download-content a i{font-size:17px;color:#42b4e6}.download-content a span{font-size:12px;font:inherit;padding-left:12px;color:#42b4e6}.title-label{width:96%;padding-left:0;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.lock-dropdown{transition:visibility,opacity .5s linear;position:relative;display:inline-block;margin:0 6px 0 10px}.lock-dropdown-content{display:none;margin-top:8px;position:absolute;right:0;top:79%;box-shadow:0 8px 16px 8px rgba(0,0,0,.2);z-index:899;font-size:12px;min-width:220px!important;min-height:112px;background-color:#219bfd;opacity:.9;padding:15px;color:#fff}.lock-dropdown-content hr{border-bottom:1px solid #fff}.lock-dropdown:hover .lock-dropdown-content{display:block!important;-webkit-animation:.3s ease-out slide-down;animation:.3s ease-out slide-down}"]
2278
2319
  }] }
2279
2320
  ];
@@ -7579,6 +7620,7 @@
7579
7620
  function RaBaseDashboardTemplate(ngZone) {
7580
7621
  var _this = this;
7581
7622
  this.ngZone = ngZone;
7623
+ this.widgetRearrangeSubject = new rxjs.Subject();
7582
7624
  this.initialize = (/**
7583
7625
  * @param {?} eventBus
7584
7626
  * @param {?} userDashboardId
@@ -7596,6 +7638,17 @@
7596
7638
  }));
7597
7639
  _this.init();
7598
7640
  });
7641
+ this.rearrangeWidgets = (/**
7642
+ * @return {?}
7643
+ */
7644
+ function () {
7645
+ _this.ngZone.run((/**
7646
+ * @return {?}
7647
+ */
7648
+ function () {
7649
+ _this.widgetRearrangeSubject.next(true);
7650
+ }));
7651
+ });
7599
7652
  }
7600
7653
  /**
7601
7654
  * @return {?}
@@ -7611,7 +7664,8 @@
7611
7664
  RaBaseDashboardTemplate.propDecorators = {
7612
7665
  dashboardId: [{ type: core.Input, args: ['dashboard-id',] }],
7613
7666
  globalFilter: [{ type: core.Input, args: ['global-filter',] }],
7614
- initialize: [{ type: core.Input }]
7667
+ initialize: [{ type: core.Input }],
7668
+ rearrangeWidgets: [{ type: core.Input }]
7615
7669
  };
7616
7670
  return RaBaseDashboardTemplate;
7617
7671
  }());
@@ -7623,11 +7677,15 @@
7623
7677
  /** @type {?} */
7624
7678
  RaBaseDashboardTemplate.prototype.appConfig;
7625
7679
  /** @type {?} */
7680
+ RaBaseDashboardTemplate.prototype.widgetRearrangeSubject;
7681
+ /** @type {?} */
7626
7682
  RaBaseDashboardTemplate.prototype.dashboardId;
7627
7683
  /** @type {?} */
7628
7684
  RaBaseDashboardTemplate.prototype.globalFilter;
7629
7685
  /** @type {?} */
7630
7686
  RaBaseDashboardTemplate.prototype.initialize;
7687
+ /** @type {?} */
7688
+ RaBaseDashboardTemplate.prototype.rearrangeWidgets;
7631
7689
  /**
7632
7690
  * @type {?}
7633
7691
  * @private