@schneideress/dashboardframework 0.0.140 → 0.0.142

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,7 +5,7 @@ import { BaseService, RATranslateService, RACommonModule } from '@schneideress/r
5
5
  import { filter, map } from 'rxjs/operators';
6
6
  import { NgxUiLoaderService, NgxUiLoaderModule } from 'ngx-ui-loader';
7
7
  import { NotifierService, NotifierModule } from 'angular-notifier';
8
- import { RaWidgetlockStatus, RADownloadType, RADownloadOption } from '@schneideress/widgetframework';
8
+ import { RaWidgetlockStatus, WidgetViewState, RADownloadType, RADownloadOption } from '@schneideress/widgetframework';
9
9
  import { BrowserModule } from '@angular/platform-browser';
10
10
  import { HttpClientModule } from '@angular/common/http';
11
11
  import { CommonModule } from '@angular/common';
@@ -698,6 +698,7 @@ var RADashboardArea = /** @class */ (function () {
698
698
  this.notifier = notifier;
699
699
  this.widgetList = Array();
700
700
  this.gridheight = 300;
701
+ this.gridcellHeight = 0;
701
702
  this.isWidgetLoaded = false;
702
703
  this.domResized = false;
703
704
  this.widgetHeight = 3;
@@ -1003,6 +1004,7 @@ var RADashboardArea = /** @class */ (function () {
1003
1004
  }
1004
1005
  t.widgetInfo.rowHeight = curRowHeight;
1005
1006
  }));
1007
+ this.gridcellHeight = curRowHeight;
1006
1008
  if (this.options.api) {
1007
1009
  areaHeight = areaScrollHeight * this.options.api.getCurrentRowHeight() + 100;
1008
1010
  }
@@ -1096,6 +1098,14 @@ var RADashboardArea = /** @class */ (function () {
1096
1098
  gridsterItem = _this.mapObjectsToGridsterItem(widget);
1097
1099
  _this.widgetList.push(gridsterItem);
1098
1100
  _this.setAreaHeight();
1101
+ if (_this.options.api) {
1102
+ /** @type {?} */
1103
+ var curRowHeight = Number(_this.options.api.getCurrentRowHeight());
1104
+ if (curRowHeight > 0) {
1105
+ widget.rowHeight = curRowHeight;
1106
+ _this.gridcellHeight = curRowHeight;
1107
+ }
1108
+ }
1099
1109
  /**To save added widget position in db */
1100
1110
  setTimeout((/**
1101
1111
  * @return {?}
@@ -1215,8 +1225,8 @@ var RADashboardArea = /** @class */ (function () {
1215
1225
  RADashboardArea.decorators = [
1216
1226
  { type: Component, args: [{
1217
1227
  selector: 'ra-dashboard-area',
1218
- template: "<div #gridWrapper class=\"wrap gridster\" [style.height.px]=\"gridheight\" >\r\n<!-- <div #gridWrapper class=\"wrap gridster\"> -->\r\n <gridster [options]=\"options\" style=\"height:100%;\">\r\n <gridster-item [item]=\"item\" *ngFor=\"let item of widgetList\">\r\n <ra-widget-container [app-config]=\"appConfig\" [event-bus]=\"raDashboardEventBus\" (widgetDeleted)=\"deleteWidget($event)\" [data]=\"item\"\r\n [global-filter]=\"globalFilter\" [grid-cell-height]=\"item.widgetInfo.rowHeight\" [widget-width]=\"item.cols\" [widget-height]=\"item.rows\" [widget-instance-id]=\"item.widgetInstanceId\" [dom-resized]=\"domResized\"></ra-widget-container>\r\n </gridster-item>\r\n </gridster>\r\n <notifier-container></notifier-container>\r\n</div>\r\n\r\n",
1219
- styles: ["gridster{width:inherit;resize:height;display:-webkit-box;display:flex;background-color:#ededed;overflow-y:hidden!important}.dvheader{width:100%;height:35px;background:#000;color:#fff;padding:7px 3px 5px 6px;text-transform:uppercase}gridster-item{box-sizing:border-box;z-index:1;position:absolute;overflow:hidden;-webkit-transition:.3s;transition:.3s;display:none;background:#fff;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text;box-shadow:0 1px 10px rgba(0,0,0,.05)}gridster-item:hover{box-shadow:0 1px 10px rgba(0,0,0,.15)}"]
1228
+ template: "<div #gridWrapper class=\"wrap gridster\" [style.height.px]=\"gridheight\" >\r\n<!-- <div #gridWrapper class=\"wrap gridster\"> -->\r\n <gridster [options]=\"options\" style=\"height:100%;\">\r\n <gridster-item [item]=\"item\" *ngFor=\"let item of widgetList\">\r\n <ra-widget-container [app-config]=\"appConfig\" [event-bus]=\"raDashboardEventBus\" (widgetDeleted)=\"deleteWidget($event)\" [data]=\"item\"\r\n [global-filter]=\"globalFilter\" [grid-cell-height]=\"(gridcellHeight > 0)?gridcellHeight:item.widgetInfo.rowHeight\" [widget-width]=\"item.cols\" [widget-height]=\"item.rows\" [widget-instance-id]=\"item.widgetInstanceId\" [dom-resized]=\"domResized\"></ra-widget-container>\r\n </gridster-item>\r\n </gridster>\r\n <notifier-container></notifier-container>\r\n</div>\r\n\r\n",
1229
+ styles: ["gridster{width:inherit;resize:height;display:flex;background-color:#ededed;overflow-y:hidden!important}.dvheader{width:100%;height:35px;background:#000;color:#fff;padding:7px 3px 5px 6px;text-transform:uppercase}gridster-item{box-sizing:border-box;z-index:1;position:absolute;overflow:hidden;transition:.3s;display:none;background:#fff;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text;box-shadow:0 1px 10px rgba(0,0,0,.05)}gridster-item:hover{box-shadow:0 1px 10px rgba(0,0,0,.15)}"]
1220
1230
  }] }
1221
1231
  ];
1222
1232
  /** @nocollapse */
@@ -1247,6 +1257,8 @@ if (false) {
1247
1257
  RADashboardArea.prototype.options;
1248
1258
  /** @type {?} */
1249
1259
  RADashboardArea.prototype.gridheight;
1260
+ /** @type {?} */
1261
+ RADashboardArea.prototype.gridcellHeight;
1250
1262
  /**
1251
1263
  * @type {?}
1252
1264
  * @private
@@ -1361,7 +1373,8 @@ var RAWidgetContainer = /** @class */ (function () {
1361
1373
  this.deleteToolTipWidth = '0px';
1362
1374
  this.noPadding = false;
1363
1375
  this.widgetDeleted = new EventEmitter();
1364
- this.isNotConfigured = false;
1376
+ this.isWidgetStateApplicable = false;
1377
+ this.widgetEmptyState = '';
1365
1378
  this.lockVisible = false;
1366
1379
  this.renderer.listen('window', 'click', (/**
1367
1380
  * @param {?} e
@@ -1393,6 +1406,14 @@ var RAWidgetContainer = /** @class */ (function () {
1393
1406
  enumerable: true,
1394
1407
  configurable: true
1395
1408
  });
1409
+ Object.defineProperty(RAWidgetContainer.prototype, "widgetViewState", {
1410
+ get: /**
1411
+ * @return {?}
1412
+ */
1413
+ function () { return WidgetViewState; },
1414
+ enumerable: true,
1415
+ configurable: true
1416
+ });
1396
1417
  /**
1397
1418
  * @param {?} changes
1398
1419
  * @return {?}
@@ -1569,6 +1590,9 @@ var RAWidgetContainer = /** @class */ (function () {
1569
1590
  */
1570
1591
  function (widgetInfo) {
1571
1592
  this.data.widgetInfo = widgetInfo;
1593
+ if (this.gridCellHeight > 0) {
1594
+ this.data.widgetInfo.rowHeight = this.gridCellHeight;
1595
+ }
1572
1596
  this.refreshWidget(this.data.widgetInfo);
1573
1597
  // this.updateWidget(widgetInfo);
1574
1598
  };
@@ -1645,7 +1669,9 @@ var RAWidgetContainer = /** @class */ (function () {
1645
1669
  * @return {?}
1646
1670
  */
1647
1671
  function (e) {
1648
- widgetContainer.setNotConfiguredState(widgetInfo, e.detail);
1672
+ console.log('in widget default state');
1673
+ console.log(e);
1674
+ widgetContainer.setEmptyState(e.detail);
1649
1675
  }));
1650
1676
  titleLineEnabled = widgetContainer.widgetElement.titleLineEnabled();
1651
1677
  if (typeof (titleLineEnabled) != 'undefined') {
@@ -1722,11 +1748,52 @@ var RAWidgetContainer = /** @class */ (function () {
1722
1748
  */
1723
1749
  function (widgetInfo, forceEnable) {
1724
1750
  if (forceEnable === void 0) { forceEnable = false; }
1751
+ console.log('in set no configured');
1752
+ console.log(widgetInfo);
1753
+ console.log(forceEnable);
1725
1754
  if ((widgetInfo.showDefaultState && (widgetInfo.widgetConfigInfo.config == "" || Object.keys(JSON.parse(widgetInfo.widgetConfigInfo.config)).length == 0)) || (forceEnable)) {
1726
- this.isNotConfigured = true;
1755
+ console.log('ininf');
1756
+ this.isWidgetStateApplicable = true;
1757
+ this.widgetEmptyState = WidgetViewState.emptyConfig.toString();
1758
+ }
1759
+ else {
1760
+ console.log('in else');
1761
+ this.widgetEmptyState = '';
1762
+ this.isWidgetStateApplicable = false;
1763
+ }
1764
+ };
1765
+ /**To configure empty state for the widget */
1766
+ /**
1767
+ * To configure empty state for the widget
1768
+ * @param {?} widgetState
1769
+ * @return {?}
1770
+ */
1771
+ RAWidgetContainer.prototype.setEmptyState = /**
1772
+ * To configure empty state for the widget
1773
+ * @param {?} widgetState
1774
+ * @return {?}
1775
+ */
1776
+ function (widgetState) {
1777
+ console.log('in wc contanjiner widget state');
1778
+ console.log(widgetState);
1779
+ this.widgetEmptyState = widgetState;
1780
+ if (widgetState != WidgetViewState.normal) {
1781
+ this.isWidgetStateApplicable = true;
1727
1782
  }
1728
1783
  else {
1729
- this.isNotConfigured = false;
1784
+ console.log('in else case');
1785
+ this.isWidgetStateApplicable = false;
1786
+ }
1787
+ switch (widgetState) {
1788
+ case WidgetViewState.emptyConfig:
1789
+ console.log('in case emptyconfig');
1790
+ this.setNotConfiguredState(this.data.widgetInfo, true);
1791
+ break;
1792
+ case WidgetViewState.emptyData:
1793
+ console.log('in case empty');
1794
+ break;
1795
+ case WidgetViewState.error:
1796
+ break;
1730
1797
  }
1731
1798
  };
1732
1799
  /** To refresh widget on input config changes */
@@ -1998,8 +2065,8 @@ var RAWidgetContainer = /** @class */ (function () {
1998
2065
  RAWidgetContainer.decorators = [
1999
2066
  { type: Component, args: [{
2000
2067
  selector: 'ra-widget-container',
2001
- 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 || isNotConfigured}\">\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;\" [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]=\"isNotConfigured\" 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]=\"isNotConfigured\"> \r\n <div #ctlWidget></div>\r\n </div>\r\n <div [hidden]=\"!isNotConfigured\" class=\"defaultConfig\">\r\n <div class=\"contentarea\">\r\n <div class=\"textarea light\">\r\n <span class=\"icon\"><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>\r\n </div>\r\n</div>",
2002
- 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;-webkit-transition:visibility,opacity .5s linear;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:-webkit-box;display:flex;-webkit-box-align:center;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;color:#32ad3c;height:100%;float:left}.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;-webkit-transform:translateY(-20%);transform:translateY(-20%)}100%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes slide-down{0%{opacity:0;-webkit-transform:translateY(-20%);transform:translateY(-20%)}100%{opacity:1;-webkit-transform:translateY(0);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;-webkit-transition:visibility,opacity .5s linear;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{-webkit-transition:visibility,opacity .5s linear;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}"]
2068
+ 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",
2069
+ 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}"]
2003
2070
  }] }
2004
2071
  ];
2005
2072
  /** @nocollapse */
@@ -2143,7 +2210,9 @@ if (false) {
2143
2210
  /** @type {?} */
2144
2211
  RAWidgetContainer.prototype.lockTitle;
2145
2212
  /** @type {?} */
2146
- RAWidgetContainer.prototype.isNotConfigured;
2213
+ RAWidgetContainer.prototype.isWidgetStateApplicable;
2214
+ /** @type {?} */
2215
+ RAWidgetContainer.prototype.widgetEmptyState;
2147
2216
  /** @type {?} */
2148
2217
  RAWidgetContainer.prototype.domResized;
2149
2218
  /** @type {?} */
@@ -4334,7 +4403,7 @@ var GridsterComponent = /** @class */ (function () {
4334
4403
  selector: 'gridster',
4335
4404
  template: "<div class=\"gridster-column\" *ngFor=\"let column of gridColumns; let i = index;\"\r\n [ngStyle]=\"gridRenderer.getGridColumnStyle(i)\"></div>\r\n<div class=\"gridster-row\" *ngFor=\"let row of gridRows; let i = index;\"\r\n [ngStyle]=\"gridRenderer.getGridRowStyle(i)\"></div>\r\n<ng-content></ng-content>\r\n<gridster-preview class=\"gridster-preview\"></gridster-preview>\r\n",
4336
4405
  encapsulation: ViewEncapsulation.None,
4337
- styles: ["gridster{clear:both;position:relative;box-sizing:border-box;background:#fff;width:100%;height:100%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:block;overflow:auto}gridster.fit{overflow-x:hidden;overflow-y:hidden}gridster.scrollVertical{overflow-x:hidden;overflow-y:auto}gridster.scrollHorizontal{overflow-x:auto;overflow-y:hidden}gridster.fixed{overflow:auto}gridster.mobile{overflow-x:hidden;overflow-y:auto;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-flow:column}gridster.mobile gridster-item{position:relative;width:100%!important;min-height:300px!important}gridster .gridster-column,gridster .gridster-row{position:absolute;display:none;-webkit-transition:.3s;transition:.3s;box-sizing:border-box}gridster.display-grid .gridster-column,gridster.display-grid .gridster-row{display:block}gridster .gridster-column{border-left:1px solid #ccc;border-right:1px solid #ccc}gridster .gridster-row{border-top:1px solid #ccc;border-bottom:1px solid #ccc}"]
4406
+ styles: ["gridster{clear:both;position:relative;box-sizing:border-box;background:#fff;width:100%;height:100%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:block;overflow:auto}gridster.fit{overflow-x:hidden;overflow-y:hidden}gridster.scrollVertical{overflow-x:hidden;overflow-y:auto}gridster.scrollHorizontal{overflow-x:auto;overflow-y:hidden}gridster.fixed{overflow:auto}gridster.mobile{overflow-x:hidden;overflow-y:auto;flex-flow:column}gridster.mobile gridster-item{position:relative;width:100%!important;min-height:300px!important}gridster .gridster-column,gridster .gridster-row{position:absolute;display:none;transition:.3s;box-sizing:border-box}gridster.display-grid .gridster-column,gridster.display-grid .gridster-row{display:block}gridster .gridster-column{border-left:1px solid #ccc;border-right:1px solid #ccc}gridster .gridster-row{border-top:1px solid #ccc;border-bottom:1px solid #ccc}"]
4338
4407
  }] }
4339
4408
  ];
4340
4409
  /** @nocollapse */
@@ -7114,7 +7183,7 @@ var GridsterItemComponent = /** @class */ (function () {
7114
7183
  selector: 'gridster-item',
7115
7184
  template: "<ng-content></ng-content>\r\n<div (mousedown)=\"resize.dragStartDelay($event)\" (touchstart)=\"resize.dragStartDelay($event)\"\r\n [hidden]=\"!gridster.$options.resizable.handles.s || !resize.resizeEnabled\"\r\n class=\"gridster-item-resizable-handler handle-s\"></div>\r\n<div (mousedown)=\"resize.dragStartDelay($event)\" (touchstart)=\"resize.dragStartDelay($event)\"\r\n [hidden]=\"!gridster.$options.resizable.handles.e || !resize.resizeEnabled\"\r\n class=\"gridster-item-resizable-handler handle-e\"></div>\r\n<div (mousedown)=\"resize.dragStartDelay($event)\" (touchstart)=\"resize.dragStartDelay($event)\"\r\n [hidden]=\"!gridster.$options.resizable.handles.n || !resize.resizeEnabled\"\r\n class=\"gridster-item-resizable-handler handle-n\"></div>\r\n<div (mousedown)=\"resize.dragStartDelay($event)\" (touchstart)=\"resize.dragStartDelay($event)\"\r\n [hidden]=\"!gridster.$options.resizable.handles.w || !resize.resizeEnabled\"\r\n class=\"gridster-item-resizable-handler handle-w\"></div>\r\n<div (mousedown)=\"resize.dragStartDelay($event)\" (touchstart)=\"resize.dragStartDelay($event)\"\r\n [hidden]=\"!gridster.$options.resizable.handles.se || !resize.resizeEnabled\"\r\n class=\"gridster-item-resizable-handler handle-se\"></div>\r\n<div (mousedown)=\"resize.dragStartDelay($event)\" (touchstart)=\"resize.dragStartDelay($event)\"\r\n [hidden]=\"!gridster.$options.resizable.handles.ne || !resize.resizeEnabled\"\r\n class=\"gridster-item-resizable-handler handle-ne\"></div>\r\n<div (mousedown)=\"resize.dragStartDelay($event)\" (touchstart)=\"resize.dragStartDelay($event)\"\r\n [hidden]=\"!gridster.$options.resizable.handles.sw || !resize.resizeEnabled\"\r\n class=\"gridster-item-resizable-handler handle-sw\"></div>\r\n<div (mousedown)=\"resize.dragStartDelay($event)\" (touchstart)=\"resize.dragStartDelay($event)\"\r\n [hidden]=\"!gridster.$options.resizable.handles.nw || !resize.resizeEnabled\"\r\n class=\"gridster-item-resizable-handler handle-nw\"></div>\r\n",
7116
7185
  encapsulation: ViewEncapsulation.None,
7117
- styles: ["gridster-item{box-sizing:border-box;z-index:1;position:absolute;overflow:hidden;-webkit-transition:.3s;transition:.3s;display:none;background:#fff;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}gridster-item.gridster-item-moving{cursor:move}gridster-item.gridster-item-moving,gridster-item.gridster-item-resizing{-webkit-transition:none;transition:none;z-index:2;box-shadow:0 0 5px 5px rgba(0,0,0,.2),0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12)}.gridster-item-resizable-handler{position:absolute;z-index:2}.gridster-item-resizable-handler.handle-n{cursor:n-resize;height:10px;right:0;top:0;left:0}.gridster-item-resizable-handler.handle-e{cursor:e-resize;width:10px;bottom:0;right:0;top:0}.gridster-item-resizable-handler.handle-s{cursor:s-resize;height:10px;right:0;bottom:0;left:0}.gridster-item-resizable-handler.handle-w{cursor:w-resize;width:10px;left:0;top:0;bottom:0}.gridster-item-resizable-handler.handle-ne{cursor:ne-resize;width:10px;height:10px;right:0;top:0}.gridster-item-resizable-handler.handle-nw{cursor:nw-resize;width:10px;height:10px;left:0;top:0}.gridster-item-resizable-handler.handle-se{cursor:se-resize;width:0;height:0;right:0;bottom:0;border-style:solid;border-width:0 0 10px 10px;border-color:transparent}.gridster-item-resizable-handler.handle-sw{cursor:sw-resize;width:10px;height:10px;left:0;bottom:0}gridster-item:hover .gridster-item-resizable-handler.handle-se{border-color:transparent transparent #ccc}"]
7186
+ styles: ["gridster-item{box-sizing:border-box;z-index:1;position:absolute;overflow:hidden;transition:.3s;display:none;background:#fff;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}gridster-item.gridster-item-moving{cursor:move}gridster-item.gridster-item-moving,gridster-item.gridster-item-resizing{transition:none;z-index:2;box-shadow:0 0 5px 5px rgba(0,0,0,.2),0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12)}.gridster-item-resizable-handler{position:absolute;z-index:2}.gridster-item-resizable-handler.handle-n{cursor:n-resize;height:10px;right:0;top:0;left:0}.gridster-item-resizable-handler.handle-e{cursor:e-resize;width:10px;bottom:0;right:0;top:0}.gridster-item-resizable-handler.handle-s{cursor:s-resize;height:10px;right:0;bottom:0;left:0}.gridster-item-resizable-handler.handle-w{cursor:w-resize;width:10px;left:0;top:0;bottom:0}.gridster-item-resizable-handler.handle-ne{cursor:ne-resize;width:10px;height:10px;right:0;top:0}.gridster-item-resizable-handler.handle-nw{cursor:nw-resize;width:10px;height:10px;left:0;top:0}.gridster-item-resizable-handler.handle-se{cursor:se-resize;width:0;height:0;right:0;bottom:0;border-style:solid;border-width:0 0 10px 10px;border-color:transparent}.gridster-item-resizable-handler.handle-sw{cursor:sw-resize;width:10px;height:10px;left:0;bottom:0}gridster-item:hover .gridster-item-resizable-handler.handle-se{border-color:transparent transparent #ccc}"]
7118
7187
  }] }
7119
7188
  ];
7120
7189
  /** @nocollapse */