info-library 2.10.81 → 2.10.82

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.
Files changed (71) hide show
  1. package/bundles/info-library.umd.js +207 -12
  2. package/bundles/info-library.umd.js.map +1 -1
  3. package/bundles/info-library.umd.min.js +1 -1
  4. package/bundles/info-library.umd.min.js.map +1 -1
  5. package/controls/grid/grid.component.d.ts +7 -0
  6. package/esm2015/controls/alert/alert.component.js +1 -1
  7. package/esm2015/controls/autocomplete/autocomplete.component.js +1 -1
  8. package/esm2015/controls/big-checkbox/big-checkbox.component.js +1 -1
  9. package/esm2015/controls/card/card.component.js +1 -1
  10. package/esm2015/controls/card-menu/card-menu.component.js +1 -1
  11. package/esm2015/controls/checkbox/checkbox.component.js +1 -1
  12. package/esm2015/controls/chips/chips.component.js +1 -1
  13. package/esm2015/controls/date/date.component.js +1 -1
  14. package/esm2015/controls/date-month/date-month.component.js +1 -1
  15. package/esm2015/controls/editor/editor.component.js +1 -1
  16. package/esm2015/controls/grid/grid.component.js +50 -5
  17. package/esm2015/controls/input/input.component.js +1 -1
  18. package/esm2015/controls/input-list/input-list.component.js +1 -1
  19. package/esm2015/controls/list-checkbox/list-checkbox.component.js +1 -1
  20. package/esm2015/controls/message/message.component.js +1 -1
  21. package/esm2015/controls/multi-select/multi-select.component.js +1 -1
  22. package/esm2015/controls/paginator/paginator.component.js +1 -1
  23. package/esm2015/controls/select/select.component.js +1 -1
  24. package/esm2015/controls/timeline/timeline.component.js +1 -1
  25. package/esm2015/directives/mask.directive.js +1 -1
  26. package/esm2015/directives/unmask.directive.js +1 -1
  27. package/esm2015/enum/dialog-buttons.enum.js +1 -1
  28. package/esm2015/enum/index.js +1 -1
  29. package/esm2015/enum/modal-action.enum.js +1 -1
  30. package/esm2015/enum/page-action.enum.js +1 -1
  31. package/esm2015/global-config.js +1 -1
  32. package/esm2015/info-library.js +1 -1
  33. package/esm2015/info-library.module.js +1 -1
  34. package/esm2015/layouts/dialog/dialog.component.js +1 -1
  35. package/esm2015/layouts/loading/loading.component.js +1 -1
  36. package/esm2015/layouts/main/main.component.js +2 -2
  37. package/esm2015/layouts/modal/modal.component.js +1 -1
  38. package/esm2015/layouts/pagebar/pagebar.component.js +1 -1
  39. package/esm2015/layouts/sidebar/sidebar.component.js +1 -1
  40. package/esm2015/layouts/topbar/topbar.component.js +1 -1
  41. package/esm2015/layouts/topmenu/topmenu.component.js +1 -1
  42. package/esm2015/model/app-config.model.js +1 -1
  43. package/esm2015/model/data-access.model.js +1 -1
  44. package/esm2015/model/dialog-result.model.js +1 -1
  45. package/esm2015/model/dialog.model.js +1 -1
  46. package/esm2015/model/form-prop.model.js +1 -1
  47. package/esm2015/model/grid-button.model.js +1 -1
  48. package/esm2015/model/index.js +1 -1
  49. package/esm2015/model/last-search.model.js +1 -1
  50. package/esm2015/model/login.model.js +1 -1
  51. package/esm2015/model/method-grid-button.model.js +1 -1
  52. package/esm2015/model/notification.model.js +1 -1
  53. package/esm2015/model/pagebar-buttons.model.js +1 -1
  54. package/esm2015/model/permission.model.js +1 -1
  55. package/esm2015/model/platform.model.js +1 -1
  56. package/esm2015/model/session.model.js +1 -1
  57. package/esm2015/pipe/index.js +1 -1
  58. package/esm2015/pipe/mask.pipe.js +1 -1
  59. package/esm2015/pipe/translate.pipe.js +1 -1
  60. package/esm2015/public_api.js +1 -1
  61. package/esm2015/service/authentication.service.js +1 -1
  62. package/esm2015/service/configuration.service.js +1 -1
  63. package/esm2015/service/data.service.js +1 -1
  64. package/esm2015/service/index.js +1 -1
  65. package/esm2015/service/theme.service.js +1 -1
  66. package/esm2015/service/translate.service.js +1 -1
  67. package/esm2015/utils/utilities.js +1 -1
  68. package/fesm2015/info-library.js +50 -5
  69. package/fesm2015/info-library.js.map +1 -1
  70. package/info-library.metadata.json +1 -1
  71. package/package.json +1 -1
@@ -933,7 +933,7 @@
933
933
  OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
934
934
  PERFORMANCE OF THIS SOFTWARE.
935
935
  ***************************************************************************** */
936
- /* global Reflect, Promise */
936
+ /* global Reflect, Promise, SuppressedError, Symbol */
937
937
  var extendStatics = function (d, b) {
938
938
  extendStatics = Object.setPrototypeOf ||
939
939
  ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
@@ -986,6 +986,64 @@
986
986
  function __param(paramIndex, decorator) {
987
987
  return function (target, key) { decorator(target, key, paramIndex); };
988
988
  }
989
+ function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
990
+ function accept(f) { if (f !== void 0 && typeof f !== "function")
991
+ throw new TypeError("Function expected"); return f; }
992
+ var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
993
+ var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
994
+ var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
995
+ var _, done = false;
996
+ for (var i = decorators.length - 1; i >= 0; i--) {
997
+ var context = {};
998
+ for (var p in contextIn)
999
+ context[p] = p === "access" ? {} : contextIn[p];
1000
+ for (var p in contextIn.access)
1001
+ context.access[p] = contextIn.access[p];
1002
+ context.addInitializer = function (f) { if (done)
1003
+ throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
1004
+ var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
1005
+ if (kind === "accessor") {
1006
+ if (result === void 0)
1007
+ continue;
1008
+ if (result === null || typeof result !== "object")
1009
+ throw new TypeError("Object expected");
1010
+ if (_ = accept(result.get))
1011
+ descriptor.get = _;
1012
+ if (_ = accept(result.set))
1013
+ descriptor.set = _;
1014
+ if (_ = accept(result.init))
1015
+ initializers.unshift(_);
1016
+ }
1017
+ else if (_ = accept(result)) {
1018
+ if (kind === "field")
1019
+ initializers.unshift(_);
1020
+ else
1021
+ descriptor[key] = _;
1022
+ }
1023
+ }
1024
+ if (target)
1025
+ Object.defineProperty(target, contextIn.name, descriptor);
1026
+ done = true;
1027
+ }
1028
+ ;
1029
+ function __runInitializers(thisArg, initializers, value) {
1030
+ var useValue = arguments.length > 2;
1031
+ for (var i = 0; i < initializers.length; i++) {
1032
+ value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
1033
+ }
1034
+ return useValue ? value : void 0;
1035
+ }
1036
+ ;
1037
+ function __propKey(x) {
1038
+ return typeof x === "symbol" ? x : "".concat(x);
1039
+ }
1040
+ ;
1041
+ function __setFunctionName(f, name, prefix) {
1042
+ if (typeof name === "symbol")
1043
+ name = name.description ? "[".concat(name.description, "]") : "";
1044
+ return Object.defineProperty(f, "name", { configurable: true, value: prefix ? "".concat(prefix, " ", name) : name });
1045
+ }
1046
+ ;
989
1047
  function __metadata(metadataKey, metadataValue) {
990
1048
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
991
1049
  return Reflect.metadata(metadataKey, metadataValue);
@@ -1017,7 +1075,7 @@
1017
1075
  function step(op) {
1018
1076
  if (f)
1019
1077
  throw new TypeError("Generator is already executing.");
1020
- while (_)
1078
+ while (g && (g = 0, op[0] && (_ = 0)), _)
1021
1079
  try {
1022
1080
  if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done)
1023
1081
  return t;
@@ -1167,9 +1225,13 @@
1167
1225
  if (!Symbol.asyncIterator)
1168
1226
  throw new TypeError("Symbol.asyncIterator is not defined.");
1169
1227
  var g = generator.apply(thisArg, _arguments || []), i, q = [];
1170
- return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
1171
- function verb(n) { if (g[n])
1172
- i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
1228
+ return i = {}, verb("next"), verb("throw"), verb("return", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;
1229
+ function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }
1230
+ function verb(n, f) { if (g[n]) {
1231
+ i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); };
1232
+ if (f)
1233
+ i[n] = f(i[n]);
1234
+ } }
1173
1235
  function resume(n, v) { try {
1174
1236
  step(g[n](v));
1175
1237
  }
@@ -1185,7 +1247,7 @@
1185
1247
  function __asyncDelegator(o) {
1186
1248
  var i, p;
1187
1249
  return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i;
1188
- function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === "return" } : f ? f(v) : v; } : f; }
1250
+ function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }
1189
1251
  }
1190
1252
  function __asyncValues(o) {
1191
1253
  if (!Symbol.asyncIterator)
@@ -1244,7 +1306,95 @@
1244
1306
  if (receiver === null || (typeof receiver !== "object" && typeof receiver !== "function"))
1245
1307
  throw new TypeError("Cannot use 'in' operator on non-object");
1246
1308
  return typeof state === "function" ? receiver === state : state.has(receiver);
1247
- }
1309
+ }
1310
+ function __addDisposableResource(env, value, async) {
1311
+ if (value !== null && value !== void 0) {
1312
+ if (typeof value !== "object" && typeof value !== "function")
1313
+ throw new TypeError("Object expected.");
1314
+ var dispose, inner;
1315
+ if (async) {
1316
+ if (!Symbol.asyncDispose)
1317
+ throw new TypeError("Symbol.asyncDispose is not defined.");
1318
+ dispose = value[Symbol.asyncDispose];
1319
+ }
1320
+ if (dispose === void 0) {
1321
+ if (!Symbol.dispose)
1322
+ throw new TypeError("Symbol.dispose is not defined.");
1323
+ dispose = value[Symbol.dispose];
1324
+ if (async)
1325
+ inner = dispose;
1326
+ }
1327
+ if (typeof dispose !== "function")
1328
+ throw new TypeError("Object not disposable.");
1329
+ if (inner)
1330
+ dispose = function () { try {
1331
+ inner.call(this);
1332
+ }
1333
+ catch (e) {
1334
+ return Promise.reject(e);
1335
+ } };
1336
+ env.stack.push({ value: value, dispose: dispose, async: async });
1337
+ }
1338
+ else if (async) {
1339
+ env.stack.push({ async: true });
1340
+ }
1341
+ return value;
1342
+ }
1343
+ var _SuppressedError = typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
1344
+ var e = new Error(message);
1345
+ return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
1346
+ };
1347
+ function __disposeResources(env) {
1348
+ function fail(e) {
1349
+ env.error = env.hasError ? new _SuppressedError(e, env.error, "An error was suppressed during disposal.") : e;
1350
+ env.hasError = true;
1351
+ }
1352
+ function next() {
1353
+ while (env.stack.length) {
1354
+ var rec = env.stack.pop();
1355
+ try {
1356
+ var result = rec.dispose && rec.dispose.call(rec.value);
1357
+ if (rec.async)
1358
+ return Promise.resolve(result).then(next, function (e) { fail(e); return next(); });
1359
+ }
1360
+ catch (e) {
1361
+ fail(e);
1362
+ }
1363
+ }
1364
+ if (env.hasError)
1365
+ throw env.error;
1366
+ }
1367
+ return next();
1368
+ }
1369
+ var tslib_es6 = {
1370
+ __extends: __extends,
1371
+ __assign: __assign,
1372
+ __rest: __rest,
1373
+ __decorate: __decorate,
1374
+ __param: __param,
1375
+ __metadata: __metadata,
1376
+ __awaiter: __awaiter,
1377
+ __generator: __generator,
1378
+ __createBinding: __createBinding,
1379
+ __exportStar: __exportStar,
1380
+ __values: __values,
1381
+ __read: __read,
1382
+ __spread: __spread,
1383
+ __spreadArrays: __spreadArrays,
1384
+ __spreadArray: __spreadArray,
1385
+ __await: __await,
1386
+ __asyncGenerator: __asyncGenerator,
1387
+ __asyncDelegator: __asyncDelegator,
1388
+ __asyncValues: __asyncValues,
1389
+ __makeTemplateObject: __makeTemplateObject,
1390
+ __importStar: __importStar,
1391
+ __importDefault: __importDefault,
1392
+ __classPrivateFieldGet: __classPrivateFieldGet,
1393
+ __classPrivateFieldSet: __classPrivateFieldSet,
1394
+ __classPrivateFieldIn: __classPrivateFieldIn,
1395
+ __addDisposableResource: __addDisposableResource,
1396
+ __disposeResources: __disposeResources,
1397
+ };
1248
1398
 
1249
1399
  /**
1250
1400
  * @fileoverview added by tsickle
@@ -4384,6 +4534,7 @@
4384
4534
  this.enabledclassicons = true;
4385
4535
  this.enabledclickaccess = false;
4386
4536
  this.enabledclickevent = false;
4537
+ this.enabledexpand = false;
4387
4538
  this.searchopened = false;
4388
4539
  this.searchonlyonebutton = false;
4389
4540
  this.disablesearchlast = false;
@@ -4424,10 +4575,12 @@
4424
4575
  this.colunasWidth = [];
4425
4576
  this.colunasTranslate = [];
4426
4577
  this.colunasHtml = [];
4578
+ this.colunasItensExpandidos = [];
4427
4579
  this.currentUrl = null;
4428
4580
  this.url = null;
4429
4581
  this.chaveStorage = 'cols';
4430
4582
  this.identificador = null;
4583
+ this.limitcharacters = 250;
4431
4584
  this.parentIdUrlChange = new i0.EventEmitter();
4432
4585
  this.parentIdUrlValue = null;
4433
4586
  this._cols = '';
@@ -4472,6 +4625,7 @@
4472
4625
  * @return {?}
4473
4626
  */
4474
4627
  InfoGridComponent.prototype.ngOnInit = function () {
4628
+ clearTimeout(this.callTimeout);
4475
4629
  this.url = (this._activatedRoute.snapshot.data['URL'] || this._router.url).toLowerCase();
4476
4630
  this._renderer.addClass(this._element.nativeElement, 'uxc' + this._platform.Config.ux);
4477
4631
  this.setPagebarTitle();
@@ -4542,6 +4696,12 @@
4542
4696
  if (this.enabledclickevent)
4543
4697
  this.enabledclickaccess = true;
4544
4698
  };
4699
+ /**
4700
+ * @return {?}
4701
+ */
4702
+ InfoGridComponent.prototype.ngOnDestroy = function () {
4703
+ clearTimeout(this.callTimeout);
4704
+ };
4545
4705
  /**
4546
4706
  * @return {?}
4547
4707
  */
@@ -4656,6 +4816,21 @@
4656
4816
  this.colunasWidth[0] = '100%';
4657
4817
  }
4658
4818
  };
4819
+ /**
4820
+ * @return {?}
4821
+ */
4822
+ InfoGridComponent.prototype.setItensExpandidos = function () {
4823
+ var _a, _b;
4824
+ this.colunasItensExpandidos = [];
4825
+ for (var i = 0; i < ((_a = this.data) === null || _a === void 0 ? void 0 : _a.length); i++) {
4826
+ /** @type {?} */
4827
+ var row = [];
4828
+ for (var j = 0; j < ((_b = this.colunasItens) === null || _b === void 0 ? void 0 : _b.length); j++) {
4829
+ row.push(false);
4830
+ }
4831
+ this.colunasItensExpandidos.push(row);
4832
+ }
4833
+ };
4659
4834
  /**
4660
4835
  * @return {?}
4661
4836
  */
@@ -4838,11 +5013,14 @@
4838
5013
  this.parentIdUrl = result.parentId;
4839
5014
  if (refreshPaginator)
4840
5015
  this.paginator.refresh(result.total);
4841
- if (this.autorefresh > 0 && this.currentUrl == location.href)
4842
- setTimeout(( /**
5016
+ if (this.autorefresh > 0 && this.currentUrl == location.href) {
5017
+ clearTimeout(this.callTimeout);
5018
+ this.callTimeout = setTimeout(( /**
4843
5019
  * @return {?}
4844
5020
  */function () { _this.getData(); }), this.autorefresh * 1000);
5021
+ }
4845
5022
  this.fillIcons();
5023
+ this.setItensExpandidos();
4846
5024
  }
4847
5025
  else {
4848
5026
  this.data = [];
@@ -4907,6 +5085,14 @@
4907
5085
  this._prop.set(InfoPageAction.Search, model);
4908
5086
  this.openModal();
4909
5087
  };
5088
+ /**
5089
+ * @param {?} linha
5090
+ * @param {?} coluna
5091
+ * @return {?}
5092
+ */
5093
+ InfoGridComponent.prototype.mostrarMais = function (linha, coluna) {
5094
+ this.colunasItensExpandidos[linha][coluna] = !this.colunasItensExpandidos[linha][coluna];
5095
+ };
4910
5096
  /**
4911
5097
  * @param {?} model
4912
5098
  * @return {?}
@@ -5296,9 +5482,9 @@
5296
5482
  InfoGridComponent.decorators = [
5297
5483
  { type: i0.Component, args: [{
5298
5484
  selector: 'info-grid',
5299
- template: "<info-pagebar *ngIf=\"showPagebar\" icon=\"work\" [pagetitle]=\"pagebarTitle\" [description]=\"description\">\r\n <button mat-button type=\"button\" *ngIf=\"backurl != null && backurl != ''\" color=\"primary\" (click)=\"back()\">\r\n <mat-icon class=\"fs-20\">chevron_left</mat-icon>{{\"Voltar\" | translate}}\r\n </button>\r\n\r\n <ng-container *ngFor=\"let b of pagebarbuttons\">\r\n <button type=\"button\" mat-button color=\"primary\" (click)=\"b.modal == null ? navigateTo(b.url, false, null) : openCustomModal(b.modal, b.modalwidth, null)\">\r\n <mat-icon *ngIf=\"b.icon != 'chevron_right'\" class=\"fs-20\">{{ b.icon }}</mat-icon>\r\n {{ b.label | translate }}\r\n </button>\r\n </ng-container>\r\n\r\n <button mat-button type=\"button\" *ngIf=\"searchmodel != null && !enabledSearch\" color=\"primary\" (click)=\"enabledSearch = !enabledSearch\">\r\n <mat-icon class=\"fs-20\">search</mat-icon> {{ \"Pesquisar\" | translate}}\r\n </button>\r\n\r\n <button mat-button type=\"button\" *ngIf=\"searchmodel != null && enabledSearch\" color=\"primary\" (click)=\"enabledSearch = !enabledSearch\">\r\n <mat-icon class=\"fs-20\">search_off</mat-icon> {{ \"Ocultar\" | translate}}\r\n </button>\r\n\r\n <button mat-button type=\"button\" *ngIf=\"enablednew && hasPermissionNew\" color=\"primary\" (click)=\"add()\">\r\n <mat-icon class=\"fs-20\">add</mat-icon> {{ newlabel | translate}}\r\n </button>\r\n</info-pagebar>\r\n\r\n<div [ngClass]=\"{ 'table-full': fullarea }\">\r\n <div class=\"table-responsive white\">\r\n <div class=\"table-title grid-search\" [ngStyle]=\"{ 'padding': (enabledSearch ? 10 : 0) + 'px 20px' }\">\r\n <form autocomplete=\"off\" #formSearch=\"ngForm\" (ngSubmit)=\"search()\">\r\n <div *ngIf=\"enabledSearch\" class=\"search-container row\">\r\n <div class=\"col-md-{{(searchbuttons || []).length == 0 ? '10' : '9' }}\">\r\n <div class=\"row\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n <div class=\"col-md-{{(searchbuttons || []).length == 0 ? '2' : '3' }} align-right\" *ngIf=\"searchmodel != null\">\r\n <div class=\"search-buttons \">\r\n <ng-container *ngIf=\"searchonlyonebutton\">\r\n <button mat-button type=\"submit\" color=\"primary\" [disabled]=\"formSearch.invalid || loading\">\r\n {{ 'Buscar' | translate }}\r\n </button>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"!searchonlyonebutton\">\r\n <button mat-button type=\"button\" color=\"warn\" (click)=\"cancelSearch()\" *ngIf=\"enabledcancelsearch\">\r\n <mat-icon class=\"fs-20\">close</mat-icon>\r\n </button>\r\n <button mat-button type=\"submit\" color=\"primary\" [disabled]=\"formSearch.invalid || loading\">\r\n <mat-icon class=\"fs-20\">search</mat-icon>\r\n </button>\r\n \r\n <ng-container *ngFor=\"let b of searchbuttons\">\r\n <button mat-button type=\"button\" color=\"primary\" [disabled]=\"formSearch.invalid || loading\" (click)=\"b.method()\">\r\n <mat-icon *ngIf=\"b.icon\" class=\"fs-20\">{{b.icon | translate}}</mat-icon> {{b.label | translate}}\r\n </button>\r\n </ng-container>\r\n \r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n </form>\r\n </div>\r\n\r\n <fieldset *ngIf=\"!showPagebar\"><legend [innerHTML]=\"pagebarTitle | translate\"></legend></fieldset>\r\n <section class=\"loading-bar\"><mat-progress-bar color=\"primary\" mode=\"indeterminate\" *ngIf=\"loading\"></mat-progress-bar></section>\r\n\r\n <div id=\"auto-refresh\" *ngIf=\"autorefresh > 0\">\r\n <i class=\"material-icons\" matTooltip=\"{{ 'AutoRefresh' | translate }} {{ autorefresh }} seg\" matTooltipPosition=\"left\">access_time</i>\r\n </div>\r\n\r\n <table class=\"table table-hover\" [ngStyle]=\"{ 'min-height.px': tableHeight }\" [ngClass]=\"{ 'loading': loading, 'clickaccess': enabledclickaccess }\" *ngIf=\"data != null\">\r\n <thead>\r\n <tr>\r\n <th style=\"width: 5%;\" *ngIf=\"enabledclassicons && data?.length > 0 && data[0]?.Icon != null\"></th>\r\n\r\n <ng-container *ngFor=\"let col of colunasHeaders; let i = index\">\r\n <th *ngIf=\"colunasWidth[i] == ''\" [class]=\"'col_' + col.toLowerCase()\" [ngClass]=\"{ 'text-center': colunasType[i] == 'check', 'align-right': colunasType[i].startsWith('n') }\">{{ col | translate }}</th>\r\n <th *ngIf=\"colunasWidth[i] != ''\" [ngStyle]=\"{ 'width': colunasWidth[i] }\" [ngClass]=\"{ 'text-center': colunasType[i] == 'check', 'align-right': colunasType[i].startsWith('n') }\">{{ col | translate }}</th>\r\n </ng-container>\r\n\r\n <th class=\"actions align-right buttons\" *ngIf=\"(templateurl != '') || (buttons != null && buttons.length > 0) || enableddetail || enabledview || enabledcols || ((disabledcol == '') && enablededit && hasPermissionEdit) || ((disabledcol == '') && enableddelete && hasPermissionDelete)\">\r\n <button mat-icon-button type=\"button\"[matTooltip]=\"newlabel | translate\" matTooltipPosition=\"left\" (click)=\"add()\" *ngIf=\"!showPagebar && enablednew && hasPermissionNew\">\r\n <mat-icon>add_circle_outline</mat-icon>\r\n </button>\r\n <button mat-icon-button type=\"button\" class=\"managercols\" [matTooltip]=\"'CustomizarTabela' | translate\" matTooltipPosition=\"left\" (click)=\"customizeTable()\" *ngIf=\"enabledcols\">\r\n <mat-icon class=\"icon-out\">settings</mat-icon>\r\n </button>\r\n </th>\r\n </tr>\r\n </thead>\r\n <tbody class=\"grid-content\">\r\n <tr *ngFor=\"let mod of data\" [ngClass]=\"{ 'default-color': !enabledclassicons }\" [class]=\"mod.Class\" (click)=\"access(mod)\">\r\n <td *ngIf=\"enabledclassicons && mod?.Icon != null\">\r\n <ng-container *ngFor=\"let icon of icons\">\r\n <i class=\"material-icons\" [matTooltip]=\"icon.Tooltip | translate\" *ngIf=\"icon.Name == mod.Icon\" [ngClass]=\"{ 'icone-secundario': icon.Principal == false }\">{{icon.Icon}}</i>\r\n </ng-container>\r\n </td>\r\n\r\n <ng-container *ngFor=\"let col of colunasItens; let i = index\">\r\n <td *ngIf=\"mod[col] == null || mod[col] == undefined\"></td>\r\n <ng-container [ngSwitch]=\"colunasType[i]\" *ngIf=\"mod[col] != null && mod[col] != undefined\">\r\n <ng-container *ngSwitchCase=\"'label'\">\r\n <td *ngIf=\"mod[col] !== true && mod[col] !== false && mod[col] !== 0 && mod[col] !== '0'\" >\r\n <label *ngIf=\"colunasHtml[i] === true\" [outerHTML]=\"(mod[col] | translate:colunasTranslate[i]) || ''\"></label>\r\n <label *ngIf=\"colunasHtml[i] === false\">{{ (mod[col] | translate:colunasHtml[i]) || '' }}</label>\r\n <p *ngIf=\"i == 0 && mod.Badge != null && mod.Badge != undefined\">{{ mod.Badge | translate:colunasTranslate[i] }}</p>\r\n </td>\r\n <td *ngIf=\"mod[col] === true\"><mat-icon>check_box</mat-icon></td>\r\n <td *ngIf=\"mod[col] === false\"><mat-icon>check_box_outline_blank</mat-icon></td>\r\n <td *ngIf=\"mod[col] === 0 || mod[col] === '0'\">0</td>\r\n </ng-container>\r\n\r\n <td nowrap *ngSwitchCase=\"'date'\" [innerHTML]=\"mod[col] | date:'shortDate'\"></td>\r\n <td nowrap *ngSwitchCase=\"'datetime'\">{{ mod[col] | date:'shortDate' }} {{ mod[col] | date:'mediumTime' }}</td>\r\n <td nowrap *ngSwitchCase=\"'monthyear'\" [innerHTML]=\"mod[col] | date:'MM/yyyy'\"></td>\r\n <td nowrap *ngSwitchCase=\"'n0'\" [class]=\"'align-right ' + (mod[col] < 0 ? 'text-red' : '')\">{{ mod[col] | number:'1.0-0' }}</td>\r\n <td nowrap *ngSwitchCase=\"'n2'\" [class]=\"'align-right ' + (mod[col] < 0 ? 'text-red' : '')\">{{ mod[col] | number:'1.2-2' }}</td>\r\n <td nowrap *ngSwitchCase=\"'n4'\" [class]=\"'align-right ' + (mod[col] < 0 ? 'text-red' : '')\">{{ mod[col] | number:'1.4-4' }}</td>\r\n <td nowrap *ngSwitchCase=\"'n6'\" [class]=\"'align-right ' + (mod[col] < 0 ? 'text-red' : '')\">{{ mod[col] | number:'1.6-6' }}</td>\r\n <td nowrap *ngSwitchCase=\"'n9'\" [class]=\"'align-right ' + (mod[col] < 0 ? 'text-red' : '')\">{{ mod[col] | number:'1.9-9' }}</td>\r\n <td nowrap *ngSwitchCase=\"'n12'\" [class]=\"'align-right ' + (mod[col] < 0 ? 'text-red' : '')\">{{ mod[col] | number:'1.12-12' }}</td>\r\n \r\n <td *ngSwitchCase=\"'check'\" class=\"text-center\">\r\n <ng-container *ngIf=\"mod[col] != null && (mod[col] === true || mod[col] == 1 || mod[col].toLowerCase() == 's'); then checked; else unchecked\"></ng-container>\r\n <ng-template #checked><mat-icon>check_box</mat-icon></ng-template>\r\n <ng-template #unchecked><mat-icon>check_box_outline_blank</mat-icon></ng-template>\r\n </td>\r\n </ng-container>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"enabledclickaccess\">\r\n <td class=\"td-actions clickaccess\">\r\n <button mat-icon-button type=\"button\" (click)=\"access(mod)\" *ngIf=\"enabledview\">\r\n <mat-icon>{{accessicon || 'arrow_forward'}}</mat-icon>\r\n </button>\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"!enabledclickaccess\">\r\n <td class=\"td-actions\" *ngIf=\"(templateurl != '') || (buttons != null && buttons.length > 0) || (mod.Download != null) || enableddetail || (mod?.Info != null) || enabledview || ((disabledcol == '' || mod[disabledcol] === true) && enablededit && hasPermissionEdit) || ((disabledcol == '' || mod[disabledcol] === true) && enableddelete && hasPermissionDelete)\">\r\n\r\n <a mat-icon-button href=\"{{ templateurl.replace('{id}', mod.Id) }}\" target=\"_blank\" [matTooltip]=\"'Abrir' | translate\" *ngIf=\"templateurl != ''\">\r\n <mat-icon>visibility</mat-icon>\r\n </a>\r\n\r\n <ng-container *ngFor=\"let b of buttons\">\r\n <button mat-icon-button type=\"button\" [matTooltip]=\"b.label | translate\" (click)=\"b.modalComponent != null ? openCustomModal(b.modalComponent, b.widthModalComponent, mod) : b.api != null ? eventButton(mod, b.api, b.method, b.confirm) : navigateTo(b.navigateTo, b.passId, mod.Id)\" *ngIf=\"b.showOnlyClass == null || b.showOnlyClass == mod.Class\" [disabled]=\"b.disabledField && mod[b.disabledField] === true\">\r\n <mat-icon>{{b.icon}}</mat-icon>\r\n </button>\r\n </ng-container>\r\n\r\n <button mat-icon-button type=\"button\" [matTooltip]=\"'Download' | translate\" (click)=\"download(mod.Download)\" *ngIf=\"mod.Download != null\">\r\n <mat-icon>file_download</mat-icon>\r\n </button>\r\n \r\n <button mat-icon-button type=\"button\" [matTooltip]=\"'Detalhe' | translate\" (click)=\"detail(mod)\" *ngIf=\"enableddetail\">\r\n <mat-icon>list</mat-icon>\r\n </button>\r\n \r\n <button mat-icon-button type=\"button\" [matTooltip]=\"'Informacao' | translate\" (click)=\"info(mod?.Info)\" *ngIf=\"mod?.Info != null\" [disabled]=\"mod?.Info == ''\">\r\n <mat-icon>info</mat-icon>\r\n </button>\r\n \r\n <!-- <button mat-icon-button type=\"button\" [matTooltip]=\"'Visualizar' | translate\" (click)=\"view(mod)\" *ngIf=\"enabledview\">\r\n <mat-icon>visibility</mat-icon>\r\n </button>\r\n \r\n <button mat-icon-button type=\"button\" [matTooltip]=\"'Editar' | translate\" (click)=\"edit(mod)\" *ngIf=\"(disabledcol == '' || mod[disabledcol] === true) && enablededit && hasPermissionEdit\">\r\n <mat-icon>edit</mat-icon>\r\n </button> -->\r\n \r\n <button mat-icon-button type=\"button\" [matTooltip]=\"'Excluir' | translate\" (click)=\"delete(mod)\" *ngIf=\"(disabledcol == '' || mod[disabledcol] === true) && enableddelete && hasPermissionDelete && !mod.HideDelete\">\r\n <mat-icon>delete</mat-icon>\r\n </button>\r\n\r\n <button mat-icon-button type=\"button\" [matTooltip]=\"'Acessar' | translate\" (click)=\"edit(mod)\" *ngIf=\"((disabledcol == '' || mod[disabledcol] === true) && enablededit && hasPermissionEdit) || enabledview\">\r\n <mat-icon>arrow_forward</mat-icon>\r\n </button>\r\n </td>\r\n </ng-container>\r\n </tr>\r\n </tbody>\r\n </table>\r\n <span class=\"blank-table\" *ngIf=\"data != null && data.length == 0\">{{\"NenhumItemEncontrado\" | translate}}</span>\r\n\r\n <info-paginator #paginator [hidden]=\"!paged || (data != null && data.length == 0)\" [size]=\"size\" (change)=\"changePage($event)\" ></info-paginator>\r\n </div>\r\n</div>\r\n\r\n<div class=\"block\" *ngIf=\"loading\"></div>\r\n<info-alert [messages]=\"messages\"></info-alert>",
5485
+ template: "<info-pagebar *ngIf=\"showPagebar\" icon=\"work\" [pagetitle]=\"pagebarTitle\" [description]=\"description\">\r\n <button mat-button type=\"button\" *ngIf=\"backurl != null && backurl != ''\" color=\"primary\" (click)=\"back()\">\r\n <mat-icon class=\"fs-20\">chevron_left</mat-icon>{{\"Voltar\" | translate}}\r\n </button>\r\n\r\n <ng-container *ngFor=\"let b of pagebarbuttons\">\r\n <button type=\"button\" mat-button color=\"primary\" (click)=\"b.modal == null ? navigateTo(b.url, false, null) : openCustomModal(b.modal, b.modalwidth, null)\">\r\n <mat-icon *ngIf=\"b.icon != 'chevron_right'\" class=\"fs-20\">{{ b.icon }}</mat-icon>\r\n {{ b.label | translate }}\r\n </button>\r\n </ng-container>\r\n\r\n <button mat-button type=\"button\" *ngIf=\"searchmodel != null && !enabledSearch\" color=\"primary\" (click)=\"enabledSearch = !enabledSearch\">\r\n <mat-icon class=\"fs-20\">search</mat-icon> {{ \"Pesquisar\" | translate}}\r\n </button>\r\n\r\n <button mat-button type=\"button\" *ngIf=\"searchmodel != null && enabledSearch\" color=\"primary\" (click)=\"enabledSearch = !enabledSearch\">\r\n <mat-icon class=\"fs-20\">search_off</mat-icon> {{ \"Ocultar\" | translate}}\r\n </button>\r\n\r\n <button mat-button type=\"button\" *ngIf=\"enablednew && hasPermissionNew\" color=\"primary\" (click)=\"add()\">\r\n <mat-icon class=\"fs-20\">add</mat-icon> {{ newlabel | translate}}\r\n </button>\r\n</info-pagebar>\r\n\r\n<div [ngClass]=\"{ 'table-full': fullarea }\">\r\n <div class=\"table-responsive white\">\r\n <div class=\"table-title grid-search\" [ngStyle]=\"{ 'padding': (enabledSearch ? 10 : 0) + 'px 20px' }\">\r\n <form autocomplete=\"off\" #formSearch=\"ngForm\" (ngSubmit)=\"search()\">\r\n <div *ngIf=\"enabledSearch\" class=\"search-container row\">\r\n <div class=\"col-md-{{(searchbuttons || []).length == 0 ? '10' : '9' }}\">\r\n <div class=\"row\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n <div class=\"col-md-{{(searchbuttons || []).length == 0 ? '2' : '3' }} align-right\" *ngIf=\"searchmodel != null\">\r\n <div class=\"search-buttons \">\r\n <ng-container *ngIf=\"searchonlyonebutton\">\r\n <button mat-button type=\"submit\" color=\"primary\" [disabled]=\"formSearch.invalid || loading\">\r\n {{ 'Buscar' | translate }}\r\n </button>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"!searchonlyonebutton\">\r\n <button mat-button type=\"button\" color=\"warn\" (click)=\"cancelSearch()\" *ngIf=\"enabledcancelsearch\">\r\n <mat-icon class=\"fs-20\">close</mat-icon>\r\n </button>\r\n <button mat-button type=\"submit\" color=\"primary\" [disabled]=\"formSearch.invalid || loading\">\r\n <mat-icon class=\"fs-20\">search</mat-icon>\r\n </button>\r\n \r\n <ng-container *ngFor=\"let b of searchbuttons\">\r\n <button mat-button type=\"button\" color=\"primary\" [disabled]=\"formSearch.invalid || loading\" (click)=\"b.method()\">\r\n <mat-icon *ngIf=\"b.icon\" class=\"fs-20\">{{b.icon | translate}}</mat-icon> {{b.label | translate}}\r\n </button>\r\n </ng-container>\r\n \r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n </form>\r\n </div>\r\n\r\n <fieldset *ngIf=\"!showPagebar\"><legend [innerHTML]=\"pagebarTitle | translate\"></legend></fieldset>\r\n <section class=\"loading-bar\"><mat-progress-bar color=\"primary\" mode=\"indeterminate\" *ngIf=\"loading\"></mat-progress-bar></section>\r\n\r\n <div id=\"auto-refresh\" *ngIf=\"autorefresh > 0\">\r\n <i class=\"material-icons\" matTooltip=\"{{ 'AutoRefresh' | translate }} {{ autorefresh }} seg\" matTooltipPosition=\"left\">access_time</i>\r\n </div>\r\n\r\n <table class=\"table table-hover\" [ngStyle]=\"{ 'min-height.px': tableHeight }\" [ngClass]=\"{ 'loading': loading, 'clickaccess': enabledclickaccess }\" *ngIf=\"data != null\">\r\n <thead>\r\n <tr>\r\n <th style=\"width: 5%;\" *ngIf=\"enabledclassicons && data?.length > 0 && data[0]?.Icon != null\"></th>\r\n\r\n <ng-container *ngFor=\"let col of colunasHeaders; let i = index\">\r\n <th *ngIf=\"colunasWidth[i] == ''\" [class]=\"'col_' + col.toLowerCase()\" [ngClass]=\"{ 'text-center': colunasType[i] == 'check', 'align-right': colunasType[i].startsWith('n') }\">{{ col | translate }}</th>\r\n <th *ngIf=\"colunasWidth[i] != ''\" [ngStyle]=\"{ 'width': colunasWidth[i] }\" [ngClass]=\"{ 'text-center': colunasType[i] == 'check', 'align-right': colunasType[i].startsWith('n') }\">{{ col | translate }}</th>\r\n </ng-container>\r\n\r\n <th class=\"actions align-right buttons\" *ngIf=\"(templateurl != '') || (buttons != null && buttons.length > 0) || enableddetail || enabledview || enabledcols || ((disabledcol == '') && enablededit && hasPermissionEdit) || ((disabledcol == '') && enableddelete && hasPermissionDelete)\">\r\n <button mat-icon-button type=\"button\"[matTooltip]=\"newlabel | translate\" matTooltipPosition=\"left\" (click)=\"add()\" *ngIf=\"!showPagebar && enablednew && hasPermissionNew\">\r\n <mat-icon>add_circle_outline</mat-icon>\r\n </button>\r\n <button mat-icon-button type=\"button\" class=\"managercols\" [matTooltip]=\"'CustomizarTabela' | translate\" matTooltipPosition=\"left\" (click)=\"customizeTable()\" *ngIf=\"enabledcols\">\r\n <mat-icon class=\"icon-out\">settings</mat-icon>\r\n </button>\r\n </th>\r\n </tr>\r\n </thead>\r\n <tbody class=\"grid-content\">\r\n <tr *ngFor=\"let mod of data; let j = index\" [ngClass]=\"{ 'default-color': !enabledclassicons }\" [class]=\"mod.Class\" (click)=\"access(mod)\">\r\n <td *ngIf=\"enabledclassicons && mod?.Icon != null\">\r\n <ng-container *ngFor=\"let icon of icons\">\r\n <i class=\"material-icons\" [matTooltip]=\"icon.Tooltip | translate\" *ngIf=\"icon.Name == mod.Icon\" [ngClass]=\"{ 'icone-secundario': icon.Principal == false }\">{{icon.Icon}}</i>\r\n </ng-container>\r\n </td>\r\n\r\n <ng-container *ngFor=\"let col of colunasItens; let i = index\">\r\n <td *ngIf=\"mod[col] == null || mod[col] == undefined\"></td>\r\n <ng-container [ngSwitch]=\"colunasType[i]\" *ngIf=\"mod[col] != null && mod[col] != undefined\">\r\n <ng-container *ngSwitchCase=\"'label'\">\r\n <td [ngClass]=\"{ 'td-expansivel': mod[col].length > limitcharacters && enabledexpand == true}\" *ngIf=\"mod[col] !== true && mod[col] !== false && mod[col] !== 0 && mod[col] !== '0'\">\r\n <label [ngClass]=\"{'label-expansivel': enabledexpand == true && mod[col].length > limitcharacters, 'label-expandida': colunasItensExpandidos[j][i] }\" *ngIf=\"colunasHtml[i] === true\" [innerHTML]=\"(mod[col] | translate:colunasTranslate[i]) || '' \"></label>\r\n <label class=\"break-word\" [ngClass]=\"{'label-expansivel': enabledexpand == true && mod[col].length > limitcharacters, 'label-expandida': colunasItensExpandidos[j][i] }\" *ngIf=\"colunasHtml[i] === false\">{{ (mod[col] | translate:colunasHtml[i]) || '' }}</label>\r\n <div *ngIf=\"enabledexpand == true && mod[col].length > limitcharacters\" [ngClass]=\"{'mostrar-mais-expandido': colunasItensExpandidos[j][i] }\" class=\"mostrar-mais\" (click)=\"mostrarMais(j,i)\">\r\n <mat-icon [ngClass]=\"{'icone-expandido': colunasItensExpandidos[j][i] }\">keyboard_arrow_down</mat-icon>\r\n </div>\r\n <p *ngIf=\"i == 0 && mod.Badge != null && mod.Badge != undefined\">{{ mod.Badge | translate:colunasTranslate[i] }}</p>\r\n </td>\r\n <td *ngIf=\"mod[col] === true\"><mat-icon>check_box</mat-icon></td>\r\n <td *ngIf=\"mod[col] === false\"><mat-icon>check_box_outline_blank</mat-icon></td>\r\n <td *ngIf=\"mod[col] === 0 || mod[col] === '0'\">0</td>\r\n </ng-container>\r\n\r\n <td nowrap *ngSwitchCase=\"'date'\" [innerHTML]=\"mod[col] | date:'shortDate'\"></td>\r\n <td nowrap *ngSwitchCase=\"'datetime'\">{{ mod[col] | date:'shortDate' }} {{ mod[col] | date:'mediumTime' }}</td>\r\n <td nowrap *ngSwitchCase=\"'monthyear'\" [innerHTML]=\"mod[col] | date:'MM/yyyy'\"></td>\r\n <td nowrap *ngSwitchCase=\"'n0'\" [class]=\"'align-right ' + (mod[col] < 0 ? 'text-red' : '')\">{{ mod[col] | number:'1.0-0' }}</td>\r\n <td nowrap *ngSwitchCase=\"'n2'\" [class]=\"'align-right ' + (mod[col] < 0 ? 'text-red' : '')\">{{ mod[col] | number:'1.2-2' }}</td>\r\n <td nowrap *ngSwitchCase=\"'n4'\" [class]=\"'align-right ' + (mod[col] < 0 ? 'text-red' : '')\">{{ mod[col] | number:'1.4-4' }}</td>\r\n <td nowrap *ngSwitchCase=\"'n6'\" [class]=\"'align-right ' + (mod[col] < 0 ? 'text-red' : '')\">{{ mod[col] | number:'1.6-6' }}</td>\r\n <td nowrap *ngSwitchCase=\"'n9'\" [class]=\"'align-right ' + (mod[col] < 0 ? 'text-red' : '')\">{{ mod[col] | number:'1.9-9' }}</td>\r\n <td nowrap *ngSwitchCase=\"'n12'\" [class]=\"'align-right ' + (mod[col] < 0 ? 'text-red' : '')\">{{ mod[col] | number:'1.12-12' }}</td>\r\n \r\n <td *ngSwitchCase=\"'check'\" class=\"text-center\">\r\n <ng-container *ngIf=\"mod[col] != null && (mod[col] === true || mod[col] == 1 || mod[col].toLowerCase() == 's'); then checked; else unchecked\"></ng-container>\r\n <ng-template #checked><mat-icon>check_box</mat-icon></ng-template>\r\n <ng-template #unchecked><mat-icon>check_box_outline_blank</mat-icon></ng-template>\r\n </td>\r\n </ng-container>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"enabledclickaccess\">\r\n <td class=\"td-actions clickaccess\">\r\n <button mat-icon-button type=\"button\" (click)=\"access(mod)\" *ngIf=\"enabledview\">\r\n <mat-icon>{{accessicon || 'arrow_forward'}}</mat-icon>\r\n </button>\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"!enabledclickaccess\">\r\n <td class=\"td-actions\" *ngIf=\"(templateurl != '') || (buttons != null && buttons.length > 0) || (mod.Download != null) || enableddetail || (mod?.Info != null) || enabledview || ((disabledcol == '' || mod[disabledcol] === true) && enablededit && hasPermissionEdit) || ((disabledcol == '' || mod[disabledcol] === true) && enableddelete && hasPermissionDelete)\">\r\n\r\n <a mat-icon-button href=\"{{ templateurl.replace('{id}', mod.Id) }}\" target=\"_blank\" [matTooltip]=\"'Abrir' | translate\" *ngIf=\"templateurl != ''\">\r\n <mat-icon>visibility</mat-icon>\r\n </a>\r\n\r\n <ng-container *ngFor=\"let b of buttons\">\r\n <button mat-icon-button type=\"button\" [matTooltip]=\"b.label | translate\" (click)=\"b.modalComponent != null ? openCustomModal(b.modalComponent, b.widthModalComponent, mod) : b.api != null ? eventButton(mod, b.api, b.method, b.confirm) : navigateTo(b.navigateTo, b.passId, mod.Id)\" *ngIf=\"b.showOnlyClass == null || b.showOnlyClass == mod.Class\" [disabled]=\"b.disabledField && mod[b.disabledField] === true\">\r\n <mat-icon>{{b.icon}}</mat-icon>\r\n </button>\r\n </ng-container>\r\n\r\n <button mat-icon-button type=\"button\" [matTooltip]=\"'Download' | translate\" (click)=\"download(mod.Download)\" *ngIf=\"mod.Download != null\">\r\n <mat-icon>file_download</mat-icon>\r\n </button>\r\n \r\n <button mat-icon-button type=\"button\" [matTooltip]=\"'Detalhe' | translate\" (click)=\"detail(mod)\" *ngIf=\"enableddetail\">\r\n <mat-icon>list</mat-icon>\r\n </button>\r\n \r\n <button mat-icon-button type=\"button\" [matTooltip]=\"'Informacao' | translate\" (click)=\"info(mod?.Info)\" *ngIf=\"mod?.Info != null\" [disabled]=\"mod?.Info == ''\">\r\n <mat-icon>info</mat-icon>\r\n </button>\r\n \r\n <!-- <button mat-icon-button type=\"button\" [matTooltip]=\"'Visualizar' | translate\" (click)=\"view(mod)\" *ngIf=\"enabledview\">\r\n <mat-icon>visibility</mat-icon>\r\n </button>\r\n \r\n <button mat-icon-button type=\"button\" [matTooltip]=\"'Editar' | translate\" (click)=\"edit(mod)\" *ngIf=\"(disabledcol == '' || mod[disabledcol] === true) && enablededit && hasPermissionEdit\">\r\n <mat-icon>edit</mat-icon>\r\n </button> -->\r\n \r\n <button mat-icon-button type=\"button\" [matTooltip]=\"'Excluir' | translate\" (click)=\"delete(mod)\" *ngIf=\"(disabledcol == '' || mod[disabledcol] === true) && enableddelete && hasPermissionDelete && !mod.HideDelete\">\r\n <mat-icon>delete</mat-icon>\r\n </button>\r\n\r\n <button mat-icon-button type=\"button\" [matTooltip]=\"'Acessar' | translate\" (click)=\"edit(mod)\" *ngIf=\"((disabledcol == '' || mod[disabledcol] === true) && enablededit && hasPermissionEdit) || enabledview\">\r\n <mat-icon>arrow_forward</mat-icon>\r\n </button>\r\n </td>\r\n </ng-container>\r\n </tr>\r\n </tbody>\r\n </table>\r\n <span class=\"blank-table\" *ngIf=\"data != null && data.length == 0\">{{\"NenhumItemEncontrado\" | translate}}</span>\r\n\r\n <info-paginator #paginator [hidden]=\"!paged || (data != null && data.length == 0)\" [size]=\"size\" (change)=\"changePage($event)\" ></info-paginator>\r\n </div>\r\n</div>\r\n\r\n<div class=\"block\" *ngIf=\"loading\"></div>\r\n<info-alert [messages]=\"messages\"></info-alert>",
5300
5486
  providers: [InfoFormPropModel],
5301
- styles: [":host{display:block;position:relative}:host #auto-refresh{background:transparent;margin:0;padding:0;position:absolute;right:0;top:8px}:host #auto-refresh i{cursor:default;font-size:18px}:host .table-title{background:#fcfcfc}:host .table-title .mat-icon-button{height:25px;line-height:25px;text-align:center;width:25px}:host .table-title .mat-icon-button .mat-icon{font-size:18px}:host .table-title :hover{transition:color .2s}:host .search-container{margin-top:10px;position:relative}:host .title-grid{font-size:.8rem;font-weight:700;padding-top:8px;text-transform:uppercase}:host table thead .col_dia,:host table thead .col_id{width:80px}:host table thead .col_moeda{width:90px}:host table thead .col_data,:host table thead .col_datacotacao,:host table thead .col_dataposicao,:host table thead .col_referencia{width:125px}:host table thead .col_conta,:host table thead .col_identificador{width:250px}:host table thead .col_cliente,:host table thead .col_descricao,:host table thead .col_nome{width:400px}:host table tbody .icone-secundario{font-size:12px}:host.uxc3 div.table-responsive .table-title{padding:0!important}:host.uxc3 div.table-responsive .table thead{background:transparent}:host.uxc3 div.table-responsive .table thead th{border-top:none;font-size:10px;padding:10px 5px 5px;text-transform:capitalize}:host.uxc3 div.table-responsive .table thead th.actions{border-bottom-width:0}:host.uxc3 div.table-responsive .table thead th:after{display:none}:host.uxc3 div.table-responsive .table thead th .managercols{opacity:0;right:0;top:-4px;transition:opacity .3s ease-in-out}:host.uxc3 div.table-responsive .table thead:hover .managercols{opacity:1!important}:host.uxc3 div.table-responsive .table tbody tr{background:#f9f9f9;height:40px}:host.uxc3 div.table-responsive .table tbody tr td{cursor:default;font-size:13px;font-weight:600;transition:color .2s ease-in-out}:host.uxc3 div.table-responsive .table tbody tr td.td-actions{border-bottom:none;margin-top:1px;padding-bottom:6px;padding-top:7px}:host.uxc3 div.table-responsive .table tbody tr td mat-icon{height:17px;line-height:17px}:host.uxc3 div.table-responsive .table tbody tr td p{border:1px solid;border-radius:3px;display:inline-block;font-size:8px;margin:0 0 0 5px;padding:2px 5px;position:relative;text-transform:uppercase;top:-2px}:host.uxc3 div.table-responsive .table tbody tr:hover{background:#f9f9f9}:host.uxc3 div.table-responsive .table tbody tr:nth-child(2n):hover,:host.uxc3 div.table-responsive .table tbody tr:nth-child(2n):hover .td-actions{background:#fff}"]
5487
+ styles: [":host{display:block;position:relative}:host #auto-refresh{background:transparent;margin:0;padding:0;position:absolute;right:0;top:8px}:host #auto-refresh i{cursor:default;font-size:18px}:host .table-title{background:#fcfcfc}:host .table-title .mat-icon-button{height:25px;line-height:25px;text-align:center;width:25px}:host .table-title .mat-icon-button .mat-icon{font-size:18px}:host .table-title :hover{transition:color .2s}:host .search-container{margin-top:10px;position:relative}:host .title-grid{font-size:.8rem;font-weight:700;padding-top:8px;text-transform:uppercase}:host table thead .col_dia,:host table thead .col_id{width:80px}:host table thead .col_moeda{width:90px}:host table thead .col_data,:host table thead .col_datacotacao,:host table thead .col_dataposicao,:host table thead .col_referencia{width:125px}:host table thead .col_conta,:host table thead .col_identificador{width:250px}:host table thead .col_cliente,:host table thead .col_descricao,:host table thead .col_nome{width:400px}:host table tbody .icone-secundario{font-size:12px}:host.uxc3 div.table-responsive .table-title{padding:0!important}:host.uxc3 div.table-responsive .table thead{background:transparent}:host.uxc3 div.table-responsive .table thead th{border-top:none;font-size:10px;padding:10px 5px 5px;text-transform:capitalize}:host.uxc3 div.table-responsive .table thead th.actions{border-bottom-width:0}:host.uxc3 div.table-responsive .table thead th:after{display:none}:host.uxc3 div.table-responsive .table thead th .managercols{opacity:0;right:0;top:-4px;transition:opacity .3s ease-in-out}:host.uxc3 div.table-responsive .table thead:hover .managercols{opacity:1!important}:host.uxc3 div.table-responsive .table tbody tr{background:#f9f9f9;height:40px}:host.uxc3 div.table-responsive .table tbody tr td{cursor:default;font-size:13px;font-weight:600;transition:color .2s ease-in-out}:host.uxc3 div.table-responsive .table tbody tr td .mostrar-mais{align-items:baseline;background-color:#f9f9f9;bottom:18px;box-shadow:0 -6px 6px -3px rgba(0,0,0,.2);display:flex;justify-content:center;position:relative;width:100%}:host.uxc3 div.table-responsive .table tbody tr td .mostrar-mais .mat-icon{cursor:pointer;height:5px;line-height:11px;transform:rotate(0);transition:transform .2s ease-in-out}:host.uxc3 div.table-responsive .table tbody tr td .mostrar-mais .mat-icon.icone-expandido{transform:rotate(180deg)}:host.uxc3 div.table-responsive .table tbody tr td .mostrar-mais.mostrar-mais-expandido{bottom:0;box-shadow:none}:host.uxc3 div.table-responsive .table tbody tr td.td-actions{border-bottom:none;margin-top:1px;padding-bottom:6px;padding-top:7px}:host.uxc3 div.table-responsive .table tbody tr td mat-icon{height:17px;line-height:17px}:host.uxc3 div.table-responsive .table tbody tr td p{border:1px solid;border-radius:3px;display:inline-block;font-size:8px;margin:0 0 0 5px;padding:2px 5px;position:relative;text-transform:uppercase;top:-2px}:host.uxc3 div.table-responsive .table tbody tr .td-expansivel .label-expansivel{height:35px;overflow:hidden}:host.uxc3 div.table-responsive .table tbody tr .td-expansivel .label-expansivel.break-word{word-break:break-word}:host.uxc3 div.table-responsive .table tbody tr .td-expansivel .label-expansivel.label-expandida{height:100%}:host.uxc3 div.table-responsive .table tbody tr:hover{background:#f9f9f9}:host.uxc3 div.table-responsive .table tbody tr:hover .mostrar-mais{background-color:#f9f9f9}:host.uxc3 div.table-responsive .table tbody tr:nth-child(2n):hover{background:#fff}:host.uxc3 div.table-responsive .table tbody tr:nth-child(2n):hover .mostrar-mais{background-color:#fff}:host.uxc3 div.table-responsive .table tbody tr:nth-child(2n):hover .td-actions{background:#fff}"]
5302
5488
  }] }
5303
5489
  ];
5304
5490
  /** @nocollapse */
@@ -5349,6 +5535,7 @@
5349
5535
  enabledclassicons: [{ type: i0.Input }],
5350
5536
  enabledclickaccess: [{ type: i0.Input }],
5351
5537
  enabledclickevent: [{ type: i0.Input }],
5538
+ enabledexpand: [{ type: i0.Input }],
5352
5539
  searchopened: [{ type: i0.Input }],
5353
5540
  searchonlyonebutton: [{ type: i0.Input }],
5354
5541
  disablesearchlast: [{ type: i0.Input }],
@@ -5442,6 +5629,8 @@
5442
5629
  /** @type {?} */
5443
5630
  InfoGridComponent.prototype.enabledclickevent;
5444
5631
  /** @type {?} */
5632
+ InfoGridComponent.prototype.enabledexpand;
5633
+ /** @type {?} */
5445
5634
  InfoGridComponent.prototype.searchopened;
5446
5635
  /** @type {?} */
5447
5636
  InfoGridComponent.prototype.searchonlyonebutton;
@@ -5528,6 +5717,8 @@
5528
5717
  /** @type {?} */
5529
5718
  InfoGridComponent.prototype.colunasHtml;
5530
5719
  /** @type {?} */
5720
+ InfoGridComponent.prototype.colunasItensExpandidos;
5721
+ /** @type {?} */
5531
5722
  InfoGridComponent.prototype.currentUrl;
5532
5723
  /** @type {?} */
5533
5724
  InfoGridComponent.prototype.url;
@@ -5536,6 +5727,10 @@
5536
5727
  /** @type {?} */
5537
5728
  InfoGridComponent.prototype.identificador;
5538
5729
  /** @type {?} */
5730
+ InfoGridComponent.prototype.limitcharacters;
5731
+ /** @type {?} */
5732
+ InfoGridComponent.prototype.callTimeout;
5733
+ /** @type {?} */
5539
5734
  InfoGridComponent.prototype.paginator;
5540
5735
  /** @type {?} */
5541
5736
  InfoGridComponent.prototype.parentIdUrlChange;
@@ -7571,7 +7766,7 @@
7571
7766
  { type: i0.Component, args: [{
7572
7767
  selector: 'info-main',
7573
7768
  template: "<div class=\"site-container\" [ngClass]=\"{ 'open-sidebar': opened }\">\r\n \r\n <info-topbar #topbar\r\n [themes]=\"themes\" \r\n [languages]=\"languages\" \r\n [profileurl]=\"profileurl\"\r\n [notificationapi]=\"notificationapi\" \r\n [notificationgetmethod]=\"notificationgetmethod\" \r\n [notificationpostmethod]=\"notificationpostmethod\"\r\n [notificationverifymethod]=\"notificationverifymethod\"\r\n [notificationverifyenabled]=\"notificationverifyenabled\"\r\n [fastsearchform]=\"fastsearchform\"\r\n [fastsearchformwidth]=\"fastsearchformwidth\"\r\n [fastsearchtitle]=\"fastsearchtitle\"\r\n [setthemeonchangecompany]=\"setthemeonchangecompany\"\r\n (onchangestate)=\"onChangeTopBarState()\"\r\n (ongetnotification)=\"onGetNotificationsTopBar($event)\"\r\n (onverifynotification)=\"onVerifyNotificationsTopBar($event)\"\r\n [enabledia]=\"enabledia\">\r\n <ng-content select=\"[infoia]\"></ng-content>\r\n </info-topbar>\r\n \r\n <info-topmenu *ngIf=\"_platform.Config.topMenu\"\r\n [api]=\"menuapi\" \r\n [method]=\"menumethod\" \r\n (onchangestate)=\"onChangeSideBarState()\">\r\n </info-topmenu>\r\n\r\n <info-sidebar *ngIf=\"!_platform.Config.topMenu\"\r\n [api]=\"menuapi\" \r\n [method]=\"menumethod\" \r\n [activemenubyurl]=\"activemenubyurl\"\r\n (onchangestate)=\"onChangeSideBarState()\">\r\n </info-sidebar>\r\n\r\n <main class=\"main-content\">\r\n <div class=\"main-content-wrap\">\r\n <ng-content select=\"[main]\"></ng-content>\r\n </div>\r\n\r\n <div class=\"footer row\">\r\n <div class=\"copyright col-md-9\">{{ 'Copyright' | translate}}</div>\r\n <div class=\"version col-md-3\" *ngIf=\"version\">{{ 'Versao' | translate}} {{ version }}</div>\r\n </div>\r\n \r\n <info-alert [messages]=\"messages\"></info-alert>\r\n </main>\r\n</div>",
7574
- styles: [":host.topmenu .main-content{padding:180px 0 0!important}:host.uxc3 .main-content{padding:140px 0 0 240px;transition:padding .2s ease-in-out}:host.uxc3 .main-content .bg{background:#fff}@media screen and (max-width:991px){:host.uxc3 .main-content{padding-left:0}}@media screen and (max-width:543px){:host.uxc3 .main-content{padding-top:70px}}:host.uxc3 .main-content .footer{background:#fafafa}:host.uxc3 .main-content .footer .version{text-align:right}:host.uxc3 .open-sidebar info-sidebar,:host.uxc3 .open-sidebar info-topbar{left:0}@media screen and (max-width:991px){:host.uxc3 .open-sidebar info-sidebar .sidebar-overlay{opacity:.5;transition:opacity .2s ease-in-out 0s,visibility 0s ease-in-out 0s;visibility:visible}}@media screen and (max-width:991px){:host.uxc3 .open-sidebar info-sidebar .site-sidebar:before,:host.uxc3 .open-sidebar info-sidebar .sub-menu{display:block!important}}:host.uxc2 .main-content{padding:131px 0 0 240px;transition:padding .2s ease-in-out}@media (max-width:991px){:host.uxc2 .main-content{padding-left:0}}@media (max-width:543px){:host.uxc2 .main-content{padding-top:123px}}:host.uxc2 info-topbar{transition:left .2s ease-in-out}@media (max-width:991px){:host.uxc2 info-topbar{width:100%}}:host.uxc2 .open-sidebar info-topbar{left:240px}:host.uxc2 .open-sidebar info-sidebar{left:0}@media (max-width:991px){:host.uxc2 .open-sidebar info-sidebar /deep/ .sidebar-overlay{opacity:1;transition:opacity .2s ease-in-out 0s,visibility 0s ease-in-out 0s;visibility:visible}}:host.uxc2 .footer{align-items:center;background:rgba(0,0,0,.1);bottom:0;display:flex;font-size:.8rem;height:3.14286rem;justify-content:space-between;position:-webkit-sticky;position:sticky;width:100%;z-index:9997}@media (max-width:543px){:host.uxc2 .footer{font-size:.7rem}}:host.uxc2 .footer .copyright,:host.uxc2 .footer .version{padding:10px 22px}@media (max-width:543px){:host.uxc2 .footer .copyright{padding-right:0}}:host.uxc2 .footer .version{color:#000;text-align:right}"]
7769
+ styles: [":host.topmenu .main-content{padding:180px 0 0!important}:host.uxc3 .main-content{padding:140px 0 0 240px;transition:padding .2s ease-in-out}:host.uxc3 .main-content .bg{background:#fff}@media screen and (max-width:991px){:host.uxc3 .main-content{padding-left:0}}@media screen and (max-width:543px){:host.uxc3 .main-content{padding-top:70px}}:host.uxc3 .main-content .footer{background:#fafafa}:host.uxc3 .main-content .footer .version{text-align:right}:host.uxc3 .open-sidebar info-sidebar,:host.uxc3 .open-sidebar info-topbar{left:0}@media screen and (max-width:991px){:host.uxc3 .open-sidebar info-sidebar .sidebar-overlay{opacity:.5;transition:opacity .2s ease-in-out 0s,visibility 0s ease-in-out 0s;visibility:visible}}@media screen and (max-width:991px){:host.uxc3 .open-sidebar info-sidebar .site-sidebar:before,:host.uxc3 .open-sidebar info-sidebar .sub-menu{display:block!important}}:host.uxc2 .main-content{padding:131px 0 0 240px;transition:padding .2s ease-in-out}@media (max-width:991px){:host.uxc2 .main-content{padding-left:0}}@media (max-width:543px){:host.uxc2 .main-content{padding-top:123px}}:host.uxc2 info-topbar{transition:left .2s ease-in-out}@media (max-width:991px){:host.uxc2 info-topbar{width:100%}}:host.uxc2 .open-sidebar info-topbar{left:240px}:host.uxc2 .open-sidebar info-sidebar{left:0}@media (max-width:991px){:host.uxc2 .open-sidebar info-sidebar /deep/ .sidebar-overlay{opacity:1;transition:opacity .2s ease-in-out 0s,visibility 0s ease-in-out 0s;visibility:visible}}:host.uxc2 .footer{align-items:center;background:rgba(0,0,0,.1);bottom:0;display:flex;font-size:.8rem;height:3.14286rem;justify-content:space-between;position:sticky;width:100%;z-index:9997}@media (max-width:543px){:host.uxc2 .footer{font-size:.7rem}}:host.uxc2 .footer .copyright,:host.uxc2 .footer .version{padding:10px 22px}@media (max-width:543px){:host.uxc2 .footer .copyright{padding-right:0}}:host.uxc2 .footer .version{color:#000;text-align:right}"]
7575
7770
  }] }
7576
7771
  ];
7577
7772
  /** @nocollapse */