@senior-gestao-empresarial/angular-components 7.19.0 → 7.20.0
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.
- package/bundles/senior-gestao-empresarial-angular-components.umd.js +843 -220
- package/bundles/senior-gestao-empresarial-angular-components.umd.js.map +1 -1
- package/bundles/senior-gestao-empresarial-angular-components.umd.min.js +2 -2
- package/bundles/senior-gestao-empresarial-angular-components.umd.min.js.map +1 -1
- package/components/object-card/elements/field/object-card-field.component.d.ts +18 -0
- package/components/object-card/elements/main/object-card-main.component.d.ts +37 -0
- package/components/object-card/index.d.ts +4 -0
- package/components/object-card/object-card.component.d.ts +29 -0
- package/components/object-card/object-card.module.d.ts +2 -0
- package/components/shared/border-button/border-button.component.d.ts +7 -0
- package/components/shared/border-button/border-button.module.d.ts +2 -0
- package/components/shared/models/border-button-options.d.ts +9 -0
- package/components/shared/models/enum-severity.d.ts +7 -0
- package/components/thumbnail/index.d.ts +3 -0
- package/components/thumbnail/thumbnail-size.d.ts +5 -0
- package/components/thumbnail/thumbnail.component.d.ts +28 -0
- package/components/thumbnail/thumbnail.module.d.ts +2 -0
- package/components/thumbnail/thumbnail.service.d.ts +21 -0
- package/esm2015/components/object-card/elements/field/object-card-field.component.js +58 -0
- package/esm2015/components/object-card/elements/main/object-card-main.component.js +142 -0
- package/esm2015/components/object-card/index.js +5 -0
- package/esm2015/components/object-card/object-card.component.js +142 -0
- package/esm2015/components/object-card/object-card.module.js +22 -0
- package/esm2015/components/shared/border-button/border-button.component.js +24 -0
- package/esm2015/components/shared/border-button/border-button.module.js +16 -0
- package/esm2015/components/shared/models/border-button-options.js +1 -0
- package/esm2015/components/shared/models/enum-severity.js +9 -0
- package/esm2015/components/thumbnail/index.js +4 -0
- package/esm2015/components/thumbnail/thumbnail-size.js +7 -0
- package/esm2015/components/thumbnail/thumbnail.component.js +96 -0
- package/esm2015/components/thumbnail/thumbnail.module.js +17 -0
- package/esm2015/components/thumbnail/thumbnail.service.js +90 -0
- package/esm2015/public-api.js +3 -1
- package/esm2015/senior-gestao-empresarial-angular-components.js +8 -5
- package/esm5/components/object-card/elements/field/object-card-field.component.js +60 -0
- package/esm5/components/object-card/elements/main/object-card-main.component.js +167 -0
- package/esm5/components/object-card/index.js +5 -0
- package/esm5/components/object-card/object-card.component.js +144 -0
- package/esm5/components/object-card/object-card.module.js +25 -0
- package/esm5/components/shared/border-button/border-button.component.js +25 -0
- package/esm5/components/shared/border-button/border-button.module.js +19 -0
- package/esm5/components/shared/models/border-button-options.js +1 -0
- package/esm5/components/shared/models/enum-severity.js +9 -0
- package/esm5/components/thumbnail/index.js +4 -0
- package/esm5/components/thumbnail/thumbnail-size.js +7 -0
- package/esm5/components/thumbnail/thumbnail.component.js +99 -0
- package/esm5/components/thumbnail/thumbnail.module.js +20 -0
- package/esm5/components/thumbnail/thumbnail.service.js +95 -0
- package/esm5/public-api.js +3 -1
- package/esm5/senior-gestao-empresarial-angular-components.js +8 -5
- package/fesm2015/senior-gestao-empresarial-angular-components.js +737 -167
- package/fesm2015/senior-gestao-empresarial-angular-components.js.map +1 -1
- package/fesm5/senior-gestao-empresarial-angular-components.js +835 -218
- package/fesm5/senior-gestao-empresarial-angular-components.js.map +1 -1
- package/package.json +1 -1
- package/public-api.d.ts +2 -0
- package/senior-gestao-empresarial-angular-components.d.ts +7 -4
- package/senior-gestao-empresarial-angular-components.metadata.json +1 -1
|
@@ -1,18 +1,21 @@
|
|
|
1
|
-
import { __decorate,
|
|
2
|
-
import { Input, Component, NgModule, Injectable, Inject, ɵɵdefineInjectable, ɵɵinject } from '@angular/core';
|
|
1
|
+
import { __decorate, __param, __awaiter } from 'tslib';
|
|
2
|
+
import { Input, Component, NgModule, Injectable, ViewChild, EventEmitter, Output, ContentChild, TemplateRef, Inject, HostListener, ContentChildren, ɵɵdefineInjectable, ɵɵinject } from '@angular/core';
|
|
3
3
|
import { CommonModule } from '@angular/common';
|
|
4
4
|
import { BreadcrumbModule as BreadcrumbModule$1 } from 'primeng/breadcrumb';
|
|
5
5
|
import { NavigationEnd, PRIMARY_OUTLET, ActivatedRoute, Router, RouterModule } from '@angular/router';
|
|
6
|
-
import { Subject, throwError,
|
|
6
|
+
import { Subject, throwError, from, of, interval, BehaviorSubject, ReplaySubject } from 'rxjs';
|
|
7
7
|
import { takeUntil, filter, catchError, map, takeWhile, switchMap, take, finalize } from 'rxjs/operators';
|
|
8
|
-
import * as
|
|
9
|
-
import { FormField, FieldType } from '@seniorsistemas/angular-components';
|
|
8
|
+
import * as moment$2 from 'moment';
|
|
9
|
+
import { FormField, FieldType, ButtonModule, LoadingStateModule } from '@seniorsistemas/angular-components';
|
|
10
10
|
import { HttpParams, HttpClient } from '@angular/common/http';
|
|
11
11
|
import { MessageService } from 'primeng/api';
|
|
12
12
|
import { TranslateService } from '@ngx-translate/core';
|
|
13
13
|
import { HttpInterceptorModule } from '@seniorsistemas/platform-components';
|
|
14
|
-
import {
|
|
14
|
+
import { TooltipModule } from 'primeng/tooltip';
|
|
15
|
+
import { DialogModule } from 'primeng/dialog';
|
|
16
|
+
import { trigger, state, style, transition, animate } from '@angular/animations';
|
|
15
17
|
import { FormControl, FormGroup } from '@angular/forms';
|
|
18
|
+
import { user } from '@seniorsistemas/senior-platform-data';
|
|
16
19
|
import { Client, FrameImpl } from '@stomp/stompjs';
|
|
17
20
|
import * as SockJS from 'sockjs-client';
|
|
18
21
|
import { get } from 'js-cookie';
|
|
@@ -184,7 +187,7 @@ ErpLookupsService = __decorate([
|
|
|
184
187
|
Injectable()
|
|
185
188
|
], ErpLookupsService);
|
|
186
189
|
|
|
187
|
-
const moment =
|
|
190
|
+
const moment = moment$2;
|
|
188
191
|
/** Filter System Query Option - Operators supported in the expression language */
|
|
189
192
|
var EnumLogicalOperator;
|
|
190
193
|
(function (EnumLogicalOperator) {
|
|
@@ -7082,175 +7085,208 @@ ErpLookupsModule = __decorate([
|
|
|
7082
7085
|
})
|
|
7083
7086
|
], ErpLookupsModule);
|
|
7084
7087
|
|
|
7085
|
-
|
|
7086
|
-
|
|
7087
|
-
|
|
7088
|
-
|
|
7089
|
-
|
|
7090
|
-
|
|
7091
|
-
|
|
7092
|
-
|
|
7093
|
-
|
|
7094
|
-
|
|
7095
|
-
return
|
|
7096
|
-
|
|
7088
|
+
var ThumbnailSize;
|
|
7089
|
+
(function (ThumbnailSize) {
|
|
7090
|
+
ThumbnailSize["Small"] = "small";
|
|
7091
|
+
ThumbnailSize["Medium"] = "medium";
|
|
7092
|
+
ThumbnailSize["Large"] = "large";
|
|
7093
|
+
})(ThumbnailSize || (ThumbnailSize = {}));
|
|
7094
|
+
|
|
7095
|
+
var ThumbnailService_1;
|
|
7096
|
+
let ThumbnailService = ThumbnailService_1 = class ThumbnailService {
|
|
7097
|
+
getBinaryFile(img) {
|
|
7098
|
+
return new Promise(resolve => {
|
|
7099
|
+
const getOrientation = this.getOrientation.bind(this);
|
|
7100
|
+
let http = new XMLHttpRequest();
|
|
7101
|
+
http.addEventListener("load", () => {
|
|
7102
|
+
if (http.readyState === 4 && (http.status === ThumbnailService_1.HTTP_STATUS_OK || http.status === 0)) {
|
|
7103
|
+
const orientation = getOrientation(http.response);
|
|
7104
|
+
http = null;
|
|
7105
|
+
resolve(orientation);
|
|
7106
|
+
}
|
|
7107
|
+
});
|
|
7108
|
+
http.addEventListener("error", () => {
|
|
7109
|
+
http = null;
|
|
7110
|
+
throw new Error("Não foi possível carregar a imagem");
|
|
7111
|
+
});
|
|
7112
|
+
http.open("GET", img.src, true);
|
|
7113
|
+
http.responseType = "arraybuffer";
|
|
7114
|
+
http.send(null);
|
|
7097
7115
|
});
|
|
7098
7116
|
}
|
|
7099
|
-
|
|
7100
|
-
|
|
7101
|
-
|
|
7102
|
-
|
|
7103
|
-
|
|
7104
|
-
|
|
7105
|
-
|
|
7117
|
+
/**
|
|
7118
|
+
* Retorna a tag da orientação EXIF {-1} Não definido, {-2} Não é formato JPEG, {1, 2, 3, 4, 5, 6, 7, 8} valores da orientação.
|
|
7119
|
+
*/
|
|
7120
|
+
getOrientation(file) {
|
|
7121
|
+
const view = new DataView(file);
|
|
7122
|
+
if (view.getUint16(0, false) !== ThumbnailService_1.JPEG_MARKER) {
|
|
7123
|
+
return ThumbnailService_1.NOT_JPEG;
|
|
7124
|
+
}
|
|
7125
|
+
const length = view.byteLength;
|
|
7126
|
+
let offset = ThumbnailService_1.INITIAL_OFFSET;
|
|
7127
|
+
while (offset < length) {
|
|
7128
|
+
const marker = view.getUint16(offset, false);
|
|
7129
|
+
offset += ThumbnailService_1.INITIAL_OFFSET;
|
|
7130
|
+
if (marker === ThumbnailService_1.EXIF_MARKER) {
|
|
7131
|
+
const orientation = this.extractOrientationFromExif(view, offset);
|
|
7132
|
+
if (orientation !== null) {
|
|
7133
|
+
return orientation;
|
|
7134
|
+
}
|
|
7135
|
+
return ThumbnailService_1.NOT_DEFINED;
|
|
7136
|
+
}
|
|
7137
|
+
// tslint:disable-next-line: no-bitwise
|
|
7138
|
+
if ((marker & ThumbnailService_1.MARKER_MASK) !== ThumbnailService_1.MARKER_MASK) {
|
|
7139
|
+
break;
|
|
7140
|
+
}
|
|
7141
|
+
offset += view.getUint16(offset, false);
|
|
7142
|
+
}
|
|
7143
|
+
return ThumbnailService_1.NOT_DEFINED;
|
|
7106
7144
|
}
|
|
7107
|
-
|
|
7108
|
-
|
|
7109
|
-
|
|
7110
|
-
|
|
7111
|
-
|
|
7112
|
-
|
|
7113
|
-
|
|
7114
|
-
|
|
7115
|
-
|
|
7116
|
-
|
|
7117
|
-
|
|
7145
|
+
extractOrientationFromExif(view, initialOffset) {
|
|
7146
|
+
let offset = initialOffset;
|
|
7147
|
+
offset += ThumbnailService_1.INITIAL_OFFSET;
|
|
7148
|
+
if (view.getUint32(offset, false) !== ThumbnailService_1.EXIF_SIGNATURE) {
|
|
7149
|
+
return null;
|
|
7150
|
+
}
|
|
7151
|
+
offset += ThumbnailService_1.EXIF_OFFSET;
|
|
7152
|
+
const little = view.getUint16(offset, false) === ThumbnailService_1.LITTLE_ENDIAN_MARKER;
|
|
7153
|
+
offset += view.getUint32(offset + 4, little);
|
|
7154
|
+
const tags = view.getUint16(offset, little);
|
|
7155
|
+
offset += ThumbnailService_1.INITIAL_OFFSET;
|
|
7156
|
+
for (let i = 0; i < tags; i++) {
|
|
7157
|
+
const tagOffset = offset + i * ThumbnailService_1.TAG_SIZE;
|
|
7158
|
+
if (view.getUint16(tagOffset, little) === ThumbnailService_1.ORIENTATION_TAG) {
|
|
7159
|
+
return view.getUint16(tagOffset + ThumbnailService_1.TAG_VALUE_OFFSET, little);
|
|
7160
|
+
}
|
|
7161
|
+
}
|
|
7162
|
+
return null;
|
|
7163
|
+
}
|
|
7164
|
+
};
|
|
7165
|
+
ThumbnailService.HTTP_STATUS_OK = 200;
|
|
7166
|
+
ThumbnailService.JPEG_MARKER = 0xffd8;
|
|
7167
|
+
ThumbnailService.EXIF_MARKER = 0xffe1;
|
|
7168
|
+
ThumbnailService.EXIF_SIGNATURE = 0x45786966;
|
|
7169
|
+
ThumbnailService.LITTLE_ENDIAN_MARKER = 0x4949;
|
|
7170
|
+
ThumbnailService.ORIENTATION_TAG = 0x0112;
|
|
7171
|
+
ThumbnailService.MARKER_MASK = 0xff00;
|
|
7172
|
+
ThumbnailService.NOT_DEFINED = -1;
|
|
7173
|
+
ThumbnailService.NOT_JPEG = -2;
|
|
7174
|
+
ThumbnailService.INITIAL_OFFSET = 2;
|
|
7175
|
+
ThumbnailService.EXIF_OFFSET = 6;
|
|
7176
|
+
ThumbnailService.TAG_SIZE = 12;
|
|
7177
|
+
ThumbnailService.TAG_VALUE_OFFSET = 8;
|
|
7178
|
+
ThumbnailService = ThumbnailService_1 = __decorate([
|
|
7179
|
+
Injectable()
|
|
7180
|
+
], ThumbnailService);
|
|
7181
|
+
|
|
7182
|
+
var ThumbnailComponent_1;
|
|
7183
|
+
let ThumbnailComponent = ThumbnailComponent_1 = class ThumbnailComponent {
|
|
7184
|
+
constructor(thumbnailService) {
|
|
7185
|
+
this.thumbnailService = thumbnailService;
|
|
7186
|
+
this.fallback = false;
|
|
7187
|
+
this.id = `s-thumbnail-${ThumbnailComponent_1.getNextId()}`;
|
|
7188
|
+
this.size = ThumbnailSize.Medium;
|
|
7189
|
+
this.iconClass = "far fa-image";
|
|
7190
|
+
this.hasAction = false;
|
|
7191
|
+
this.actionIconClass = "fas fa-camera";
|
|
7192
|
+
this.isTile = false;
|
|
7193
|
+
this.isBrand = false;
|
|
7194
|
+
this.ngUnsubscribe = new Subject();
|
|
7118
7195
|
}
|
|
7119
|
-
|
|
7120
|
-
|
|
7121
|
-
|
|
7122
|
-
});
|
|
7123
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
7124
|
-
const store = (yield _super.get.call(this, this.FILTERS_KEY)) || {};
|
|
7125
|
-
return store[key] || {};
|
|
7126
|
-
});
|
|
7196
|
+
ngOnDestroy() {
|
|
7197
|
+
this.ngUnsubscribe.next();
|
|
7198
|
+
this.ngUnsubscribe.complete();
|
|
7127
7199
|
}
|
|
7128
|
-
|
|
7129
|
-
|
|
7130
|
-
|
|
7131
|
-
|
|
7132
|
-
|
|
7133
|
-
|
|
7134
|
-
|
|
7135
|
-
|
|
7136
|
-
yield _super.store.call(this, this.FILTERS_KEY, store);
|
|
7137
|
-
});
|
|
7200
|
+
ngAfterViewInit() {
|
|
7201
|
+
if (this.imgEl) {
|
|
7202
|
+
this.imgEl.nativeElement.addEventListener("load", () => {
|
|
7203
|
+
from(this.thumbnailService.getBinaryFile(this.imgEl.nativeElement))
|
|
7204
|
+
.pipe(takeUntil(this.ngUnsubscribe))
|
|
7205
|
+
.subscribe((orientation) => (this.orientation = orientation));
|
|
7206
|
+
});
|
|
7207
|
+
}
|
|
7138
7208
|
}
|
|
7139
|
-
|
|
7140
|
-
|
|
7141
|
-
|
|
7142
|
-
|
|
7209
|
+
static getNextId() {
|
|
7210
|
+
const id = ThumbnailComponent_1.nextId;
|
|
7211
|
+
ThumbnailComponent_1.nextId++;
|
|
7212
|
+
return id;
|
|
7143
7213
|
}
|
|
7144
|
-
|
|
7145
|
-
|
|
7146
|
-
|
|
7147
|
-
|
|
7148
|
-
}
|
|
7149
|
-
});
|
|
7214
|
+
getImageAltText() {
|
|
7215
|
+
const altText = this.imageAlt || '';
|
|
7216
|
+
// Remove a palavra "image" ou "imagem" para evitar redundância
|
|
7217
|
+
return altText.replace(/\bimage\b/gi, '').replace(/\bimagem\b/gi, '').trim();
|
|
7150
7218
|
}
|
|
7151
|
-
|
|
7152
|
-
|
|
7153
|
-
return true;
|
|
7154
|
-
}
|
|
7155
|
-
if (Array.isArray(field)) {
|
|
7156
|
-
return field.length === 0;
|
|
7157
|
-
}
|
|
7158
|
-
if (typeof field === "string") {
|
|
7159
|
-
return field.trim() === "";
|
|
7160
|
-
}
|
|
7161
|
-
if (typeof field === "object") {
|
|
7162
|
-
return Object.keys(field).length === 0;
|
|
7163
|
-
}
|
|
7164
|
-
return false;
|
|
7219
|
+
onImageError() {
|
|
7220
|
+
this.fallback = true;
|
|
7165
7221
|
}
|
|
7166
|
-
|
|
7167
|
-
|
|
7168
|
-
return {};
|
|
7169
|
-
}
|
|
7170
|
-
Object.keys(values).forEach(fieldValue => {
|
|
7171
|
-
const field = fields.find((it) => it.name == fieldValue);
|
|
7172
|
-
if (field) {
|
|
7173
|
-
const val = values[fieldValue];
|
|
7174
|
-
if (!val)
|
|
7175
|
-
return;
|
|
7176
|
-
switch (field.type) {
|
|
7177
|
-
case FieldType.Integer:
|
|
7178
|
-
case FieldType.Double:
|
|
7179
|
-
case FieldType.Money:
|
|
7180
|
-
if (typeof val !== "number")
|
|
7181
|
-
delete values[fieldValue];
|
|
7182
|
-
break;
|
|
7183
|
-
case FieldType.Boolean:
|
|
7184
|
-
if (typeof val !== "boolean")
|
|
7185
|
-
delete values[fieldValue];
|
|
7186
|
-
break;
|
|
7187
|
-
case FieldType.Date:
|
|
7188
|
-
case FieldType.DateTime:
|
|
7189
|
-
case FieldType.Time:
|
|
7190
|
-
if (!moment$1(val, moment$1.ISO_8601, true).isValid())
|
|
7191
|
-
delete values[fieldValue];
|
|
7192
|
-
break;
|
|
7193
|
-
case FieldType.String:
|
|
7194
|
-
case FieldType.Text:
|
|
7195
|
-
if (typeof val !== "string")
|
|
7196
|
-
delete values[fieldValue];
|
|
7197
|
-
break;
|
|
7198
|
-
case FieldType.Lookup:
|
|
7199
|
-
case FieldType.Autocomplete:
|
|
7200
|
-
if (field.multiple) {
|
|
7201
|
-
if (!(Array.isArray(val) && val.length))
|
|
7202
|
-
delete values[fieldValue];
|
|
7203
|
-
}
|
|
7204
|
-
else {
|
|
7205
|
-
if (!(val instanceof Object))
|
|
7206
|
-
delete values[fieldValue];
|
|
7207
|
-
}
|
|
7208
|
-
break;
|
|
7209
|
-
case FieldType.Enum:
|
|
7210
|
-
if (field.multiple && !(Array.isArray(val) && val.length)) {
|
|
7211
|
-
delete values[fieldValue];
|
|
7212
|
-
}
|
|
7213
|
-
break;
|
|
7214
|
-
case FieldType.Chips:
|
|
7215
|
-
if (!(Array.isArray(val) && val.length)) {
|
|
7216
|
-
delete values[fieldValue];
|
|
7217
|
-
}
|
|
7218
|
-
break;
|
|
7219
|
-
default:
|
|
7220
|
-
break;
|
|
7221
|
-
}
|
|
7222
|
-
}
|
|
7223
|
-
});
|
|
7224
|
-
return values;
|
|
7222
|
+
onFallbackError() {
|
|
7223
|
+
this.imageFallback = null;
|
|
7225
7224
|
}
|
|
7226
|
-
}
|
|
7225
|
+
};
|
|
7226
|
+
ThumbnailComponent.nextId = 0;
|
|
7227
|
+
ThumbnailComponent.ctorParameters = () => [
|
|
7228
|
+
{ type: ThumbnailService }
|
|
7229
|
+
];
|
|
7230
|
+
__decorate([
|
|
7231
|
+
ViewChild("img", { static: false })
|
|
7232
|
+
], ThumbnailComponent.prototype, "imgEl", void 0);
|
|
7233
|
+
__decorate([
|
|
7234
|
+
Input()
|
|
7235
|
+
], ThumbnailComponent.prototype, "id", void 0);
|
|
7236
|
+
__decorate([
|
|
7237
|
+
Input()
|
|
7238
|
+
], ThumbnailComponent.prototype, "size", void 0);
|
|
7239
|
+
__decorate([
|
|
7240
|
+
Input()
|
|
7241
|
+
], ThumbnailComponent.prototype, "imageSource", void 0);
|
|
7242
|
+
__decorate([
|
|
7243
|
+
Input()
|
|
7244
|
+
], ThumbnailComponent.prototype, "imageFallback", void 0);
|
|
7245
|
+
__decorate([
|
|
7246
|
+
Input()
|
|
7247
|
+
], ThumbnailComponent.prototype, "imageAlt", void 0);
|
|
7248
|
+
__decorate([
|
|
7249
|
+
Input()
|
|
7250
|
+
], ThumbnailComponent.prototype, "iconClass", void 0);
|
|
7251
|
+
__decorate([
|
|
7252
|
+
Input()
|
|
7253
|
+
], ThumbnailComponent.prototype, "hasAction", void 0);
|
|
7254
|
+
__decorate([
|
|
7255
|
+
Input()
|
|
7256
|
+
], ThumbnailComponent.prototype, "actionIconClass", void 0);
|
|
7257
|
+
__decorate([
|
|
7258
|
+
Input()
|
|
7259
|
+
], ThumbnailComponent.prototype, "isTile", void 0);
|
|
7260
|
+
__decorate([
|
|
7261
|
+
Input()
|
|
7262
|
+
], ThumbnailComponent.prototype, "isBrand", void 0);
|
|
7263
|
+
ThumbnailComponent = ThumbnailComponent_1 = __decorate([
|
|
7264
|
+
Component({
|
|
7265
|
+
selector: "s-thumbnail",
|
|
7266
|
+
template: "<div\n [id]=\"id\"\n class=\"thumbnail-container thumbnail-container--{{size}}\"\n [attr.title]=\"imageAlt || 'Thumbnail'\"\n [ngClass]=\"{\n 'thumbnail-container--with-action': hasAction,\n 'thumbnail-container--brand': isBrand\n }\">\n <div\n [id]=\"id + '-image-container'\"\n *ngIf=\"imageSource || imageFallback\"\n class=\"image-container\"\n [ngClass]=\"{\n 'image-container--rounded': !isBrand\n }\">\n <ng-container *ngIf=\"!fallback; else fallbackImage\">\n <ng-container *ngTemplateOutlet=\"imageTemplate; context: {\n imgId: id + '-image',\n imgSrc: imageSource,\n errorHandler: onImageError,\n titleText: imageAlt || 'Thumbnail'\n }\"></ng-container>\n </ng-container>\n\n <ng-template #fallbackImage>\n <ng-container *ngIf=\"imageFallback; else iconFallback\">\n <ng-container *ngTemplateOutlet=\"imageTemplate; context: {\n imgId: id + '-image-fallback',\n imgSrc: imageFallback,\n errorHandler: onFallbackError,\n titleText: imageAlt || 'Thumbnail fallback'\n }\"></ng-container>\n </ng-container>\n </ng-template>\n\n <ng-template #iconFallback>\n <i\n ngClass=\"far fa-image\"\n class=\"fallback-img-color\">\n </i>\n </ng-template>\n\n <ng-template\n #imageTemplate\n let-imgId=\"imgId\"\n let-imgSrc=\"imgSrc\"\n let-errorHandler=\"errorHandler\"\n let-titleText=\"titleText\">\n <img\n #img\n [id]=\"imgId\"\n (error)=\"errorHandler()\"\n [src]=\"imgSrc\"\n alt=\"\"\n [attr.alt]=\"getImageAltText()\"\n [attr.title]=\"titleText\"\n width=\"100%\"\n height=\"auto\"\n [ngClass]=\"{\n 'smallThumbnail': isTile,\n 'exif-orientation-2': orientation == 2,\n 'exif-orientation-3': orientation == 3,\n 'exif-orientation-4': orientation == 4,\n 'exif-orientation-5': orientation == 5,\n 'exif-orientation-6': orientation == 6,\n 'exif-orientation-7': orientation == 7,\n 'exif-orientation-8': orientation == 8\n }\"/>\n </ng-template>\n </div>\n <div\n [id]=\"id + '-action-icon-container'\"\n *ngIf=\"hasAction\"\n class=\"action-icon-container action-icon-container--{{size}}\">\n <span\n [id]=\"id + '-action-icon'\"\n [class]=\"actionIconClass\"\n aria-hidden=\"true\">\n </span>\n </div>\n <div\n [id]=\"id + '-icon-container'\"\n *ngIf=\"!imageSource && !imageFallback\"\n class=\"icon-container icon-container--{{size}}\"\n [ngClass]=\"{'image-container--rounded': !isBrand}\">\n <span\n [id]=\"id + '-icon'\"\n [class]=\"iconClass\"\n aria-hidden=\"true\">\n </span>\n </div>\n\n <ng-content></ng-content>\n</div>\n",
|
|
7267
|
+
styles: [":host{display:inline-block}.thumbnail-container{color:#fff;position:relative;text-align:center}.thumbnail-container--large{font-size:50px;height:100px;width:100px}.thumbnail-container--large.thumbnail-container--brand{width:200px}.thumbnail-container--medium{font-size:40px;height:70px;width:70px}.thumbnail-container--medium.thumbnail-container--brand{width:140px}.thumbnail-container--small{font-size:22px;height:40px;width:40px}.thumbnail-container--small.thumbnail-container--brand{width:80px}.thumbnail-container--with-action{cursor:pointer}.action-icon-container{background-color:#428bca;border-radius:50%;bottom:0;position:absolute;right:0}.action-icon-container--large,.action-icon-container--medium{font-size:10pt;height:25px;padding:3px;width:25px}.action-icon-container--small{font-size:6pt;height:16px;padding:2px;width:16px}.icon-container,.image-container{-ms-flex-align:center;align-items:center;height:100%;overflow:hidden;width:100%}.icon-container--rounded,.image-container--rounded{border-radius:50%}.smallThumbnail{height:40px!important}.icon-container{background-color:#ccc;color:#fff}.icon-container--large{line-height:98px}.icon-container--medium{line-height:68px}.icon-container--small{line-height:38px}.image-container{-ms-flex-align:center;align-items:center;background-color:#ccc;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center}.image-container img{width:100%}.image-container img.exif-orientation-2{transform:rotateY(180deg)}.image-container img.exif-orientation-3{transform:rotate(180deg)}.image-container img.exif-orientation-4{transform:rotate(180deg) rotateY(180deg)}.image-container img.exif-orientation-5{transform:rotate(270deg) rotateY(180deg)}.image-container img.exif-orientation-6{transform:rotate(90deg)}.image-container img.exif-orientation-7{transform:rotate(90deg) rotateY(180deg)}.image-container img.exif-orientation-8{transform:rotate(270deg)}.fallback-img-color{color:#fff}"]
|
|
7268
|
+
})
|
|
7269
|
+
], ThumbnailComponent);
|
|
7227
7270
|
|
|
7228
|
-
let
|
|
7229
|
-
/**
|
|
7230
|
-
* Erp Polling
|
|
7231
|
-
* @class ErpPolling
|
|
7232
|
-
*/
|
|
7233
|
-
class ErpPolling {
|
|
7234
|
-
/**
|
|
7235
|
-
* Criação de um polling.
|
|
7236
|
-
* @typeParam `<T>` Tipo do objeto que o retorno do `observable` vai devolver.
|
|
7237
|
-
* @param takeWhileFn Função com retorno booleano, condição para a conclusão do polling, se falso conclui o polling.
|
|
7238
|
-
* @param calling Função com retorno `Observable<T>`, será a chamada feita pelo polling a cada X ms.
|
|
7239
|
-
* @param intervalMs Valor em ms que determina o intervalo das chamadas do polling.
|
|
7240
|
-
* @return Um `observable` com repetição cíclica a cada X ms _(`interval` informado nos parâmetros de entrada)_
|
|
7241
|
-
*/
|
|
7242
|
-
pollingMount(takeWhileFn, calling, intervalMs = 29000) {
|
|
7243
|
-
return interval(intervalMs)
|
|
7244
|
-
.pipe(takeWhile(takeWhileFn), switchMap(calling));
|
|
7245
|
-
}
|
|
7271
|
+
let ThumbnailModule = class ThumbnailModule {
|
|
7246
7272
|
};
|
|
7247
|
-
|
|
7248
|
-
|
|
7249
|
-
|
|
7250
|
-
|
|
7251
|
-
|
|
7252
|
-
|
|
7253
|
-
|
|
7273
|
+
ThumbnailModule = __decorate([
|
|
7274
|
+
NgModule({
|
|
7275
|
+
imports: [CommonModule],
|
|
7276
|
+
declarations: [ThumbnailComponent],
|
|
7277
|
+
exports: [ThumbnailComponent],
|
|
7278
|
+
providers: [ThumbnailService],
|
|
7279
|
+
})
|
|
7280
|
+
], ThumbnailModule);
|
|
7281
|
+
|
|
7282
|
+
var EnumSeverity;
|
|
7283
|
+
(function (EnumSeverity) {
|
|
7284
|
+
EnumSeverity["Default"] = "Default";
|
|
7285
|
+
EnumSeverity["Info"] = "Info";
|
|
7286
|
+
EnumSeverity["Warn"] = "Warn";
|
|
7287
|
+
EnumSeverity["Error"] = "Error";
|
|
7288
|
+
EnumSeverity["Success"] = "Success";
|
|
7289
|
+
})(EnumSeverity || (EnumSeverity = {}));
|
|
7254
7290
|
|
|
7255
7291
|
const Breakpoints = {
|
|
7256
7292
|
SM_MIN: 0,
|
|
@@ -7263,6 +7299,60 @@ const Breakpoints = {
|
|
|
7263
7299
|
XL_MAX: Infinity,
|
|
7264
7300
|
};
|
|
7265
7301
|
|
|
7302
|
+
var ObjectCardFieldComponent_1;
|
|
7303
|
+
let ObjectCardFieldComponent = ObjectCardFieldComponent_1 = class ObjectCardFieldComponent {
|
|
7304
|
+
constructor() {
|
|
7305
|
+
this.id = `erp-object-card-field-${ObjectCardFieldComponent_1.getNextId()}`;
|
|
7306
|
+
this.buttonClick = new EventEmitter();
|
|
7307
|
+
}
|
|
7308
|
+
static getNextId() {
|
|
7309
|
+
const id = ObjectCardFieldComponent_1.nextId;
|
|
7310
|
+
ObjectCardFieldComponent_1.nextId++;
|
|
7311
|
+
return id;
|
|
7312
|
+
}
|
|
7313
|
+
};
|
|
7314
|
+
ObjectCardFieldComponent.nextId = 0;
|
|
7315
|
+
__decorate([
|
|
7316
|
+
Input()
|
|
7317
|
+
], ObjectCardFieldComponent.prototype, "id", void 0);
|
|
7318
|
+
__decorate([
|
|
7319
|
+
Input()
|
|
7320
|
+
], ObjectCardFieldComponent.prototype, "imageSource", void 0);
|
|
7321
|
+
__decorate([
|
|
7322
|
+
Input()
|
|
7323
|
+
], ObjectCardFieldComponent.prototype, "imageAlt", void 0);
|
|
7324
|
+
__decorate([
|
|
7325
|
+
Input()
|
|
7326
|
+
], ObjectCardFieldComponent.prototype, "iconClass", void 0);
|
|
7327
|
+
__decorate([
|
|
7328
|
+
Input()
|
|
7329
|
+
], ObjectCardFieldComponent.prototype, "label", void 0);
|
|
7330
|
+
__decorate([
|
|
7331
|
+
Input()
|
|
7332
|
+
], ObjectCardFieldComponent.prototype, "description", void 0);
|
|
7333
|
+
__decorate([
|
|
7334
|
+
Input()
|
|
7335
|
+
], ObjectCardFieldComponent.prototype, "buttonLabel", void 0);
|
|
7336
|
+
__decorate([
|
|
7337
|
+
Input()
|
|
7338
|
+
], ObjectCardFieldComponent.prototype, "buttonModel", void 0);
|
|
7339
|
+
__decorate([
|
|
7340
|
+
Output()
|
|
7341
|
+
], ObjectCardFieldComponent.prototype, "buttonClick", void 0);
|
|
7342
|
+
__decorate([
|
|
7343
|
+
ContentChild(ThumbnailComponent, { static: true })
|
|
7344
|
+
], ObjectCardFieldComponent.prototype, "thumbnailComponent", void 0);
|
|
7345
|
+
__decorate([
|
|
7346
|
+
ViewChild(TemplateRef, { static: true })
|
|
7347
|
+
], ObjectCardFieldComponent.prototype, "content", void 0);
|
|
7348
|
+
ObjectCardFieldComponent = ObjectCardFieldComponent_1 = __decorate([
|
|
7349
|
+
Component({
|
|
7350
|
+
selector: "erp-object-card-field",
|
|
7351
|
+
template: "<ng-template>\n <div class=\"container\">\n <ng-content select=\"s-thumbnail\"></ng-content>\n <s-thumbnail\n [id]=\"id + '-thumbnail'\"\n *ngIf=\"!thumbnailComponent && (imageSource || iconClass)\"\n [imageSource]=\"imageSource\"\n [imageAlt]=\"imageAlt || label\"\n [iconClass]=\"iconClass\"\n size=\"small\"\n ></s-thumbnail>\n\n <div class=\"info-container\">\n <div #labelTemplate><ng-content select=\"[labelTemplate]\"></ng-content></div>\n <ng-container *ngTemplateOutlet=\"textSpan; context: {\n elementId: id + '-label',\n text: label,\n cssClass: 'label',\n templateWrapper: labelTemplate\n }\"></ng-container>\n\n <div #descriptionTemplate><ng-content select=\"[descriptionTemplate]\"></ng-content></div>\n <ng-container *ngTemplateOutlet=\"textSpan; context: {\n cssClass: 'description',\n elementId: id + '-description',\n templateWrapper: descriptionTemplate,\n text: description\n }\"></ng-container>\n\n <s-button\n *ngIf=\"buttonLabel\"\n [id]=\"id + '-button'\"\n styleClass=\"object-card-button\"\n [label]=\"buttonLabel\"\n priority=\"link\"\n size=\"small\"\n [model]=\"buttonModel\"\n (onClick)=\"buttonClick.emit($event)\"\n ></s-button>\n\n <ng-template\n #textSpan\n let-text=\"text\"\n let-elementId=\"elementId\"\n let-templateWrapper=\"templateWrapper\"\n let-cssClass=\"cssClass\"\n >\n <span\n *ngIf=\"!templateWrapper.children.length\"\n [id]=\"elementId\"\n [pTooltip]=\"text\"\n tooltipPosition=\"top\"\n [class]=\"cssClass\"\n showDelay=\"500\"\n >{{ text }}</span>\n </ng-template>\n </div>\n </div>\n</ng-template>\n",
|
|
7352
|
+
styles: [".container{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;height:100%}.info-container{margin-left:10px}.info-container,.info-container span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.info-container .label{color:#999;display:block}.info-container .description{display:block}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.info-container{-ms-flex:1;flex:1}}@media (max-width:767px){.info-container,.info-container span{white-space:normal}}.info-container:only-child{margin-left:0}"]
|
|
7353
|
+
})
|
|
7354
|
+
], ObjectCardFieldComponent);
|
|
7355
|
+
|
|
7266
7356
|
class ExportUtils {
|
|
7267
7357
|
constructor() {
|
|
7268
7358
|
throw new Error("Classe não deve ser instanciada.");
|
|
@@ -7409,7 +7499,7 @@ let FormUtilsService = class FormUtilsService {
|
|
|
7409
7499
|
* @returns A Date object in the format of "format" parameter
|
|
7410
7500
|
*/
|
|
7411
7501
|
getFormFormattedDate(date, format = "YYYY-MM-DDT00:00:00") {
|
|
7412
|
-
return date ? new Date(
|
|
7502
|
+
return date ? new Date(moment$2(date).format(format)) : undefined;
|
|
7413
7503
|
}
|
|
7414
7504
|
/**
|
|
7415
7505
|
* Method to format dates in a string
|
|
@@ -7418,7 +7508,7 @@ let FormUtilsService = class FormUtilsService {
|
|
|
7418
7508
|
* @returns A string date in the format of "format" parameter
|
|
7419
7509
|
*/
|
|
7420
7510
|
getEntityFormattedDate(date, format = "YYYY-MM-DD") {
|
|
7421
|
-
return date ?
|
|
7511
|
+
return date ? moment$2(date).format(format) : undefined;
|
|
7422
7512
|
}
|
|
7423
7513
|
/**
|
|
7424
7514
|
* Method to get a object with only the lookup id
|
|
@@ -7683,6 +7773,486 @@ const HTTP_STATUS_CODE = {
|
|
|
7683
7773
|
GENERIC_ERROR: 600
|
|
7684
7774
|
};
|
|
7685
7775
|
|
|
7776
|
+
var ObjectCardMainComponent_1;
|
|
7777
|
+
let ObjectCardMainComponent = ObjectCardMainComponent_1 = class ObjectCardMainComponent {
|
|
7778
|
+
constructor() {
|
|
7779
|
+
this.id = `erp-object-card-main-${ObjectCardMainComponent_1.getNextId()}`;
|
|
7780
|
+
this.iconClass = "fa fa-picture-o";
|
|
7781
|
+
this.hasThumbnail = true;
|
|
7782
|
+
this.hasDescription = true;
|
|
7783
|
+
this.isBrand = false;
|
|
7784
|
+
this.expandableImage = false;
|
|
7785
|
+
this.buttonClick = new EventEmitter();
|
|
7786
|
+
this.showImageModal = false;
|
|
7787
|
+
this.loadingFullImage = false;
|
|
7788
|
+
this._thumbnailSize = ThumbnailSize.Medium;
|
|
7789
|
+
}
|
|
7790
|
+
set thumbnailSize(value) {
|
|
7791
|
+
this._thumbnailSize = value;
|
|
7792
|
+
if (this.thumbnailComponent) {
|
|
7793
|
+
this.thumbnailComponent.size = value;
|
|
7794
|
+
}
|
|
7795
|
+
}
|
|
7796
|
+
get thumbnailSize() {
|
|
7797
|
+
return this._thumbnailSize;
|
|
7798
|
+
}
|
|
7799
|
+
onResize() {
|
|
7800
|
+
this.update();
|
|
7801
|
+
}
|
|
7802
|
+
ngAfterContentInit() {
|
|
7803
|
+
this.update();
|
|
7804
|
+
}
|
|
7805
|
+
update() {
|
|
7806
|
+
const windowWidth = window.innerWidth;
|
|
7807
|
+
if (windowWidth <= Breakpoints.SM_MAX) {
|
|
7808
|
+
this.thumbnailSize = ThumbnailSize.Small;
|
|
7809
|
+
}
|
|
7810
|
+
else {
|
|
7811
|
+
this.thumbnailSize = ThumbnailSize.Medium;
|
|
7812
|
+
}
|
|
7813
|
+
}
|
|
7814
|
+
static getNextId() {
|
|
7815
|
+
const id = ObjectCardMainComponent_1.nextId;
|
|
7816
|
+
ObjectCardMainComponent_1.nextId++;
|
|
7817
|
+
return id;
|
|
7818
|
+
}
|
|
7819
|
+
getImageAltText() {
|
|
7820
|
+
const altText = this.imageAlt || this.label || '';
|
|
7821
|
+
return altText.replace(/\bimage\b/gi, '').replace(/\bimagem\b/gi, '').trim();
|
|
7822
|
+
}
|
|
7823
|
+
openImageModal() {
|
|
7824
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
7825
|
+
if (!this.expandableImage || !this.imageSource) {
|
|
7826
|
+
return;
|
|
7827
|
+
}
|
|
7828
|
+
this.showImageModal = true;
|
|
7829
|
+
this.fullImageSource = yield this.resolveFullImageSource();
|
|
7830
|
+
});
|
|
7831
|
+
}
|
|
7832
|
+
resolveFullImageSource() {
|
|
7833
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
7834
|
+
if (!this.imageLoader || this.fullImageSource) {
|
|
7835
|
+
return this.fullImageSource || this.imageSource;
|
|
7836
|
+
}
|
|
7837
|
+
this.loadingFullImage = true;
|
|
7838
|
+
try {
|
|
7839
|
+
const result = this.imageLoader();
|
|
7840
|
+
return yield (result instanceof Promise ? result : result.toPromise());
|
|
7841
|
+
}
|
|
7842
|
+
catch (error) {
|
|
7843
|
+
console.error('Erro ao carregar imagem completa:', error);
|
|
7844
|
+
return this.imageSource;
|
|
7845
|
+
}
|
|
7846
|
+
finally {
|
|
7847
|
+
this.loadingFullImage = false;
|
|
7848
|
+
}
|
|
7849
|
+
});
|
|
7850
|
+
}
|
|
7851
|
+
};
|
|
7852
|
+
ObjectCardMainComponent.nextId = 0;
|
|
7853
|
+
__decorate([
|
|
7854
|
+
Input()
|
|
7855
|
+
], ObjectCardMainComponent.prototype, "id", void 0);
|
|
7856
|
+
__decorate([
|
|
7857
|
+
Input()
|
|
7858
|
+
], ObjectCardMainComponent.prototype, "imageSource", void 0);
|
|
7859
|
+
__decorate([
|
|
7860
|
+
Input()
|
|
7861
|
+
], ObjectCardMainComponent.prototype, "imageFallback", void 0);
|
|
7862
|
+
__decorate([
|
|
7863
|
+
Input()
|
|
7864
|
+
], ObjectCardMainComponent.prototype, "imageAlt", void 0);
|
|
7865
|
+
__decorate([
|
|
7866
|
+
Input()
|
|
7867
|
+
], ObjectCardMainComponent.prototype, "iconClass", void 0);
|
|
7868
|
+
__decorate([
|
|
7869
|
+
Input()
|
|
7870
|
+
], ObjectCardMainComponent.prototype, "hasThumbnail", void 0);
|
|
7871
|
+
__decorate([
|
|
7872
|
+
Input()
|
|
7873
|
+
], ObjectCardMainComponent.prototype, "hasDescription", void 0);
|
|
7874
|
+
__decorate([
|
|
7875
|
+
Input()
|
|
7876
|
+
], ObjectCardMainComponent.prototype, "isBrand", void 0);
|
|
7877
|
+
__decorate([
|
|
7878
|
+
Input()
|
|
7879
|
+
], ObjectCardMainComponent.prototype, "expandableImage", void 0);
|
|
7880
|
+
__decorate([
|
|
7881
|
+
Input()
|
|
7882
|
+
], ObjectCardMainComponent.prototype, "imageLoader", void 0);
|
|
7883
|
+
__decorate([
|
|
7884
|
+
Input()
|
|
7885
|
+
], ObjectCardMainComponent.prototype, "label", void 0);
|
|
7886
|
+
__decorate([
|
|
7887
|
+
Input()
|
|
7888
|
+
], ObjectCardMainComponent.prototype, "description", void 0);
|
|
7889
|
+
__decorate([
|
|
7890
|
+
Input()
|
|
7891
|
+
], ObjectCardMainComponent.prototype, "buttonLabel", void 0);
|
|
7892
|
+
__decorate([
|
|
7893
|
+
Input()
|
|
7894
|
+
], ObjectCardMainComponent.prototype, "buttonModel", void 0);
|
|
7895
|
+
__decorate([
|
|
7896
|
+
Output()
|
|
7897
|
+
], ObjectCardMainComponent.prototype, "buttonClick", void 0);
|
|
7898
|
+
__decorate([
|
|
7899
|
+
ContentChild(ThumbnailComponent, { static: true })
|
|
7900
|
+
], ObjectCardMainComponent.prototype, "thumbnailComponent", void 0);
|
|
7901
|
+
__decorate([
|
|
7902
|
+
HostListener("window:resize")
|
|
7903
|
+
], ObjectCardMainComponent.prototype, "onResize", null);
|
|
7904
|
+
ObjectCardMainComponent = ObjectCardMainComponent_1 = __decorate([
|
|
7905
|
+
Component({
|
|
7906
|
+
selector: "erp-object-card-main",
|
|
7907
|
+
template: "<ng-container *ngIf=\"hasThumbnail\">\n <ng-content select=\"s-thumbnail\"></ng-content>\n <s-thumbnail\n [id]=\"id + '-thumbnail'\"\n [imageSource]=\"imageSource\"\n [imageFallback]=\"imageFallback\"\n [imageAlt]=\"imageAlt\"\n [iconClass]=\"iconClass\"\n [size]=\"thumbnailSize\"\n *ngIf=\"!thumbnailComponent\"\n [isBrand]=\"isBrand\"\n [ngClass]=\"{'expandable-thumbnail': expandableImage && imageSource}\"\n (click)=\"openImageModal()\"\n (keydown.enter)=\"openImageModal()\"\n (keydown.space)=\"openImageModal()\"\n tabindex=\"0\"\n role=\"button\"\n ></s-thumbnail>\n</ng-container>\n\n<p-dialog\n [header]=\"imageAlt || 'Visualizar'\"\n [(visible)]=\"showImageModal\"\n [modal]=\"true\"\n [dismissableMask]=\"true\"\n [styleClass]=\"'image-modal'\"\n [contentStyle]=\"{'overflow': 'auto', 'text-align': 'center'}\"\n>\n <s-loading-state [loading]=\"loadingFullImage\">\n <img\n *ngIf=\"fullImageSource\"\n [src]=\"fullImageSource\"\n alt=\"\"\n [attr.alt]=\"getImageAltText()\"\n width=\"100%\"\n height=\"auto\"\n class=\"expanded-image\"\n />\n </s-loading-state>\n</p-dialog>\n\n<ng-container *ngIf=\"hasDescription\">\n <div class=\"info-container\">\n <div #labelTemplate><ng-content select=\"[labelTemplate]\"></ng-content></div>\n <ng-container *ngTemplateOutlet=\"textSpan; context: {\n elementId: id + '-label',\n text: label,\n cssClass: 'label',\n templateWrapper: labelTemplate\n }\"></ng-container>\n\n <div #descriptionTemplate><ng-content select=\"[descriptionTemplate]\"></ng-content></div>\n <ng-container *ngTemplateOutlet=\"textSpan; context: {\n elementId: id + '-description',\n text: description,\n cssClass: 'description',\n templateWrapper: descriptionTemplate\n }\"></ng-container>\n\n <s-button\n [id]=\"id + '-button'\"\n *ngIf=\"buttonLabel\"\n styleClass=\"object-card-button\"\n priority=\"link\"\n [label]=\"buttonLabel\"\n [model]=\"buttonModel\"\n size=\"small\"\n (onClick)=\"buttonClick.emit($event)\"\n ></s-button>\n\n <ng-template\n #textSpan\n let-elementId=\"elementId\"\n let-text=\"text\"\n let-cssClass=\"cssClass\"\n let-templateWrapper=\"templateWrapper\"\n >\n <span\n [id]=\"elementId\"\n *ngIf=\"!templateWrapper.children.length\"\n [class]=\"cssClass\"\n [pTooltip]=\"text\"\n tooltipPosition=\"top\"\n showDelay=\"500\"\n >{{ text }}</span>\n </ng-template>\n </div>\n</ng-container>\n",
|
|
7908
|
+
styles: [":host{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;min-height:70px}.info-container{margin-left:10px;-ms-flex:1;flex:1}.info-container,.info-container span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.info-container .label{display:block;font-weight:700}.info-container .description{color:#999;display:block}@media (max-width:767px){.info-container,.info-container span{white-space:normal}}::ng-deep .expandable-thumbnail{cursor:pointer;transition:opacity .2s}::ng-deep .expandable-thumbnail:hover{opacity:.8}::ng-deep .image-modal .p-dialog{max-width:90vw;max-height:90vh}::ng-deep .image-modal .expanded-image{max-width:80vw;max-height:80vh;width:auto;height:auto;object-fit:contain}"]
|
|
7909
|
+
})
|
|
7910
|
+
], ObjectCardMainComponent);
|
|
7911
|
+
|
|
7912
|
+
var ObjectCardComponent_1;
|
|
7913
|
+
let ObjectCardComponent = ObjectCardComponent_1 = class ObjectCardComponent {
|
|
7914
|
+
constructor() {
|
|
7915
|
+
this.id = `erp-object-card-${ObjectCardComponent_1.getNextId()}`;
|
|
7916
|
+
this.expanded = false;
|
|
7917
|
+
this.expandTooltip = "Abrir painel";
|
|
7918
|
+
this.collapseTooltip = "Fechar painel";
|
|
7919
|
+
this.fieldsMinWidth = 200;
|
|
7920
|
+
this.expandedChange = new EventEmitter();
|
|
7921
|
+
this.maxVisibleFields = 0;
|
|
7922
|
+
this.severity = EnumSeverity.Default;
|
|
7923
|
+
this.EnumSeverity = EnumSeverity;
|
|
7924
|
+
}
|
|
7925
|
+
ngAfterContentChecked() {
|
|
7926
|
+
this.update();
|
|
7927
|
+
}
|
|
7928
|
+
update() {
|
|
7929
|
+
const windowWidth = window.innerWidth;
|
|
7930
|
+
const containerWidth = this.container.nativeElement.getBoundingClientRect().width;
|
|
7931
|
+
const mainFieldWidth = this.cardMainContainer.nativeElement.getBoundingClientRect().width;
|
|
7932
|
+
let remainingSpace = containerWidth - mainFieldWidth;
|
|
7933
|
+
const fieldsMinWidth = this.fieldsMinWidth;
|
|
7934
|
+
const expandIconWidth = this.iconContainer.nativeElement.getBoundingClientRect().width;
|
|
7935
|
+
let maxFieldQtd;
|
|
7936
|
+
if (windowWidth <= Breakpoints.SM_MAX) {
|
|
7937
|
+
maxFieldQtd = 0;
|
|
7938
|
+
}
|
|
7939
|
+
else {
|
|
7940
|
+
maxFieldQtd = Math.floor((remainingSpace) / fieldsMinWidth);
|
|
7941
|
+
}
|
|
7942
|
+
const hasExpandIcon = maxFieldQtd && maxFieldQtd < this.fields.length;
|
|
7943
|
+
if (hasExpandIcon) {
|
|
7944
|
+
this.iconContainer.nativeElement.style.display = 'flex';
|
|
7945
|
+
remainingSpace = remainingSpace - expandIconWidth;
|
|
7946
|
+
maxFieldQtd = Math.floor((remainingSpace) / fieldsMinWidth);
|
|
7947
|
+
}
|
|
7948
|
+
else {
|
|
7949
|
+
this.iconContainer.nativeElement.style.display = 'none';
|
|
7950
|
+
}
|
|
7951
|
+
this.maxVisibleFields = maxFieldQtd;
|
|
7952
|
+
if (maxFieldQtd >= this.fields.length && this.expanded) {
|
|
7953
|
+
this.collapse();
|
|
7954
|
+
}
|
|
7955
|
+
}
|
|
7956
|
+
toggle() {
|
|
7957
|
+
this.expanded ? this.collapse() : this.expand();
|
|
7958
|
+
}
|
|
7959
|
+
expand() {
|
|
7960
|
+
this.expanded = true;
|
|
7961
|
+
this.expandedChange.emit(this.expanded);
|
|
7962
|
+
}
|
|
7963
|
+
collapse() {
|
|
7964
|
+
this.expanded = false;
|
|
7965
|
+
this.expandedChange.emit(this.expanded);
|
|
7966
|
+
}
|
|
7967
|
+
static getNextId() {
|
|
7968
|
+
const id = ObjectCardComponent_1.nextId;
|
|
7969
|
+
ObjectCardComponent_1.nextId++;
|
|
7970
|
+
return id;
|
|
7971
|
+
}
|
|
7972
|
+
};
|
|
7973
|
+
ObjectCardComponent.nextId = 0;
|
|
7974
|
+
__decorate([
|
|
7975
|
+
Input()
|
|
7976
|
+
], ObjectCardComponent.prototype, "id", void 0);
|
|
7977
|
+
__decorate([
|
|
7978
|
+
Input()
|
|
7979
|
+
], ObjectCardComponent.prototype, "expanded", void 0);
|
|
7980
|
+
__decorate([
|
|
7981
|
+
Input()
|
|
7982
|
+
], ObjectCardComponent.prototype, "expandTooltip", void 0);
|
|
7983
|
+
__decorate([
|
|
7984
|
+
Input()
|
|
7985
|
+
], ObjectCardComponent.prototype, "collapseTooltip", void 0);
|
|
7986
|
+
__decorate([
|
|
7987
|
+
Input()
|
|
7988
|
+
], ObjectCardComponent.prototype, "fieldsMinWidth", void 0);
|
|
7989
|
+
__decorate([
|
|
7990
|
+
Output()
|
|
7991
|
+
], ObjectCardComponent.prototype, "expandedChange", void 0);
|
|
7992
|
+
__decorate([
|
|
7993
|
+
ContentChild(ObjectCardMainComponent, { static: true })
|
|
7994
|
+
], ObjectCardComponent.prototype, "main", void 0);
|
|
7995
|
+
__decorate([
|
|
7996
|
+
ContentChildren(ObjectCardFieldComponent, { descendants: true })
|
|
7997
|
+
], ObjectCardComponent.prototype, "fields", void 0);
|
|
7998
|
+
__decorate([
|
|
7999
|
+
Input()
|
|
8000
|
+
], ObjectCardComponent.prototype, "severity", void 0);
|
|
8001
|
+
__decorate([
|
|
8002
|
+
Input()
|
|
8003
|
+
], ObjectCardComponent.prototype, "borderButtonOptions", void 0);
|
|
8004
|
+
__decorate([
|
|
8005
|
+
ViewChild('contentContainer', { static: true })
|
|
8006
|
+
], ObjectCardComponent.prototype, "container", void 0);
|
|
8007
|
+
__decorate([
|
|
8008
|
+
ViewChild('cardMainContainer', { static: true })
|
|
8009
|
+
], ObjectCardComponent.prototype, "cardMainContainer", void 0);
|
|
8010
|
+
__decorate([
|
|
8011
|
+
ViewChild('iconContainer', { static: true })
|
|
8012
|
+
], ObjectCardComponent.prototype, "iconContainer", void 0);
|
|
8013
|
+
ObjectCardComponent = ObjectCardComponent_1 = __decorate([
|
|
8014
|
+
Component({
|
|
8015
|
+
selector: "erp-object-card",
|
|
8016
|
+
template: "<div [id]=\"id\" class=\"container\">\n <s-border-button\n *ngIf=\"\n borderButtonOptions?.visible\n ? borderButtonOptions?.visible(severity)\n : false\n \"\n [severity]=\"severity\"\n [options]=\"borderButtonOptions\"\n class=\"object-card__border-button\"\n [@BorderButtonAnimation]\n ></s-border-button>\n\n <div\n [id]=\"id + '-main-container'\"\n class=\"main-container\"\n #contentContainer\n [ngClass]=\"{\n 'with-hidden-fields': fields.length > maxVisibleFields,\n 'with-visible-fields': fields.length && maxVisibleFields,\n 'main-container--severity-default': severity === EnumSeverity.Default,\n 'main-container--severity-info': severity === EnumSeverity.Info,\n 'main-container--severity-warn': severity === EnumSeverity.Warn,\n 'main-container--severity-error': severity === EnumSeverity.Error,\n 'main-container--severity-success': severity == EnumSeverity.Success\n }\"\n >\n <div class=\"object-content\">\n <div class=\"erp-object-card-main\" #cardMainContainer [style.min-width.px]=\"fieldsMinWidth\">\n <ng-content select=\"erp-object-card-main\"></ng-content>\n </div>\n\n <div class=\"divider\" *ngIf=\"maxVisibleFields && fields.length\"></div>\n\n <div *ngFor=\"let field of (fields.toArray() | slice: 0:maxVisibleFields)\"\n class=\"erp-object-card-field\"\n [style.min-width.px]=\"fieldsMinWidth\">\n\n <ng-container *ngTemplateOutlet=\"field.content\"></ng-container>\n </div>\n </div>\n\n <button\n #iconContainer\n [id]=\"id + '-expand-icon-container'\"\n class=\"expand-icon-container\"\n (click)=\"toggle()\"\n [pTooltip]=\"expanded ? collapseTooltip : expandTooltip\"\n [attr.aria-label]=\"expanded ? collapseTooltip : expandTooltip\"\n title=\"Expandir/Recolher\"\n tooltipPosition=\"top\"\n [showDelay]=\"500\"\n type=\"button\"\n >\n <span\n [id]=\"id + '-expand-icon'\"\n class=\"expand-icon fa\"\n [ngClass]=\"{ 'fa-minus': expanded, 'fa-plus': !expanded }\"\n ></span>\n </button>\n </div>\n\n <div\n [id]=\"id + '-expandable-container'\"\n [@expandableContent]=\"expanded\"\n class=\"expandable-container\"\n [ngClass]=\"{\n 'expandable-container--severity-default':\n severity === EnumSeverity.Default,\n 'expandable-container--severity-info': severity === EnumSeverity.Info,\n 'expandable-container--severity-warn': severity === EnumSeverity.Warn,\n 'expandable-container--severity-error': severity === EnumSeverity.Error,\n 'expandable-container--severity-success':\n severity == EnumSeverity.Success\n }\"\n >\n <div class=\"childlist\">\n <ng-container\n *ngFor=\"\n let field of fields.toArray()\n | slice : maxVisibleFields : fields.length\n \"\n >\n <div class=\"erp-object-card-field\" [style.min-width.px]=\"fieldsMinWidth\">\n <ng-container\n *ngTemplateOutlet=\"field.content\"\n ></ng-container>\n </div>\n </ng-container>\n </div>\n </div>\n</div>\n",
|
|
8017
|
+
animations: [
|
|
8018
|
+
trigger("expandableContent", [
|
|
8019
|
+
state("*", style({
|
|
8020
|
+
height: "0",
|
|
8021
|
+
})),
|
|
8022
|
+
state("false", style({
|
|
8023
|
+
height: "0",
|
|
8024
|
+
})),
|
|
8025
|
+
state("true", style({
|
|
8026
|
+
height: "*",
|
|
8027
|
+
})),
|
|
8028
|
+
transition("* => true", animate("200ms ease-out")),
|
|
8029
|
+
transition("false <=> true", animate("200ms ease-out")),
|
|
8030
|
+
]),
|
|
8031
|
+
trigger("BorderButtonAnimation", [
|
|
8032
|
+
transition(":enter", [
|
|
8033
|
+
style({ transform: "scaleY(0)", opacity: 0 }),
|
|
8034
|
+
animate("300ms ease", style({ transform: "scaleY(1)", opacity: 1 })),
|
|
8035
|
+
]),
|
|
8036
|
+
transition(":leave", [
|
|
8037
|
+
style({ transform: "scaleY(1)", opacity: 1 }),
|
|
8038
|
+
animate("300ms ease", style({ transform: "scaleY(0)", opacity: 0 })),
|
|
8039
|
+
]),
|
|
8040
|
+
]),
|
|
8041
|
+
],
|
|
8042
|
+
styles: [":host{display:block}:host::ng-deep .sds-badge{height:auto;white-space:normal}.container{margin-bottom:20px;position:relative}.main-container{display:-ms-flexbox;display:flex}.expandable-container,.main-container{background-color:#fff;border:1px solid #ccc;position:relative;overflow:hidden;width:100%}.expandable-container--severity-default{border-color:#ccc;border-top:initial}.expandable-container--severity-info{transition:border-color .5s;border-color:#428bca;border-top:initial}.expandable-container--severity-warn{transition:border-color .5s;border-color:#f8931f;border-top:initial}.expandable-container--severity-error{transition:border-color .5s;border-color:#c13018;border-top:initial}.expandable-container--severity-success{transition:border-color .5s;border-color:#0c9348;border-top:initial}.main-container--severity-default{border-color:#ccc}.main-container--severity-info{transition:border-color .5s;border-color:#428bca}.main-container--severity-warn{transition:border-color .5s;border-color:#f8931f}.main-container--severity-error{transition:border-color .5s;border-color:#c13018}.main-container--severity-success{transition:border-color .5s;border-color:#0c9348}.object-card__border-button{position:absolute;top:-13px;right:15px;z-index:1}.expandable-container{border-top:none;box-shadow:inset 0 6px 4px -4px #ddd;margin-top:-1px}.expand-icon-container{display:none;text-align:center;-ms-flex-align:center;align-items:center;cursor:pointer;padding:12px;background:0 0;border:none;color:inherit}.expand-icon{-ms-flex:1;flex:1}.object-content{display:-ms-flexbox;display:flex;width:100%}.erp-object-card-main{overflow:hidden;padding:15px}.main-container.with-visible-fields .erp-object-card-main{max-width:30%}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){.main-container.with-visible-fields .erp-object-card-main{width:20%}}.erp-object-card-field{overflow:hidden;height:100%}.main-container .erp-object-card-field{padding:15px}.main-container .divider{width:1px;-ms-flex-negative:0;flex-shrink:0;background-color:#ccc;margin:15px -1px 15px 0}.main-container.with-hidden-fields .object-content{width:calc(100% - 35px)}.main-container.with-hidden-fields .expand-icon-container{display:-ms-flexbox;display:flex}::ng-deep .object-card-button{padding-left:0!important;padding-right:10px!important;border:none!important;height:auto!important;min-width:auto!important;text-align:left!important}@media (max-width:767px){.erp-object-card-main{max-width:calc(100% - 50px)}}.childlist{width:100%;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding:1em;gap:1em}"]
|
|
8043
|
+
})
|
|
8044
|
+
], ObjectCardComponent);
|
|
8045
|
+
|
|
8046
|
+
let BorderButtonComponent = class BorderButtonComponent {
|
|
8047
|
+
constructor() {
|
|
8048
|
+
this.severity = EnumSeverity.Default;
|
|
8049
|
+
this.EnumSeverity = EnumSeverity;
|
|
8050
|
+
}
|
|
8051
|
+
};
|
|
8052
|
+
__decorate([
|
|
8053
|
+
Input()
|
|
8054
|
+
], BorderButtonComponent.prototype, "severity", void 0);
|
|
8055
|
+
__decorate([
|
|
8056
|
+
Input()
|
|
8057
|
+
], BorderButtonComponent.prototype, "options", void 0);
|
|
8058
|
+
BorderButtonComponent = __decorate([
|
|
8059
|
+
Component({
|
|
8060
|
+
selector: "s-border-button",
|
|
8061
|
+
template: "<button\n class=\"border-button\"\n [ngClass]=\"{\n 'border-button--severity-default': severity === EnumSeverity.Default,\n 'border-button--severity-info': severity === EnumSeverity.Info,\n 'border-button--severity-warn': severity === EnumSeverity.Warn,\n 'border-button--severity-error': severity === EnumSeverity.Error,\n 'border-button--severity-success': severity == EnumSeverity.Success,\n 'border-button--disabled': options?.disabled\n ? options?.disabled(severity)\n : false\n }\"\n (click)=\"options?.onClick ? options?.onClick(severity) : null\"\n [pTooltip]=\"options?.tooltip ? options?.tooltip(severity) : null\"\n tooltipPosition=\"left\"\n [disabled]=\"options?.disabled ? options?.disabled(severity) : false\"\n>\n <span class=\"border-button__label\">\n {{ options?.label ? options?.label(severity) : null }}\n </span>\n <span\n *ngIf=\"options?.icon ? options?.icon(severity) : false\"\n class=\"border-button__icon {{ options?.icon(severity) }}\"\n ></span>\n</button>\n",
|
|
8062
|
+
styles: [".border-button{padding:0 8px;border:1px solid;border-radius:12px;height:23px;max-width:320px;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;cursor:pointer}.border-button__label{font-family:Open Sans,sans-serif;font-size:12px;line-height:150%;width:100%;display:block;color:#333;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.border-button__icon{font-size:12px;color:#333;margin-left:8px}.border-button--severity-default{border-color:#ccc;background-color:#fff}.border-button--severity-info{border-color:#428bca;background-color:#d5e8ec;transition:background-color .5s,border-color .5s}.border-button--severity-info:enabled:hover{background-color:#9ecad4;cursor:pointer}.border-button--severity-info:enabled:active{transition:none;background-color:#67acbc;border-color:#67acbc}.border-button--severity-warn{border-color:#f8931f;background-color:#fce3ba;transition:background-color .5s,border-color .5s}.border-button--severity-warn:enabled:hover{background-color:#f8bf5e;cursor:pointer}.border-button--severity-warn:enabled:active{transition:none;background-color:#f5a319;border-color:#f5a319}.border-button--severity-error{border-color:#c13018;background-color:#fcd2d2;transition:background-color .5s,border-color .5s}.border-button--severity-error:enabled:hover{background-color:#f89696;cursor:pointer}.border-button--severity-error:enabled:active{transition:none;background-color:#f45b5b;border-color:#f45b5b}.border-button--severity-success{border-color:#0c9348;background-color:#e6ffb3;transition:background-color .5s,border-color .5s}.border-button--severity-success:enabled:hover{background-color:#c8ff5c;cursor:pointer}.border-button--severity-success:enabled:active{transition:none;background-color:#ade500;border-color:#ade500}.border-button--disabled:disabled:hover{cursor:default}"]
|
|
8063
|
+
})
|
|
8064
|
+
], BorderButtonComponent);
|
|
8065
|
+
|
|
8066
|
+
let BorderButtonModule = class BorderButtonModule {
|
|
8067
|
+
};
|
|
8068
|
+
BorderButtonModule = __decorate([
|
|
8069
|
+
NgModule({
|
|
8070
|
+
imports: [CommonModule, TooltipModule],
|
|
8071
|
+
declarations: [BorderButtonComponent],
|
|
8072
|
+
exports: [BorderButtonComponent]
|
|
8073
|
+
})
|
|
8074
|
+
], BorderButtonModule);
|
|
8075
|
+
|
|
8076
|
+
let ErpObjectCardModule = class ErpObjectCardModule {
|
|
8077
|
+
};
|
|
8078
|
+
ErpObjectCardModule = __decorate([
|
|
8079
|
+
NgModule({
|
|
8080
|
+
imports: [CommonModule, TooltipModule, DialogModule, ThumbnailModule, ButtonModule, LoadingStateModule, BorderButtonModule],
|
|
8081
|
+
declarations: [ObjectCardComponent, ObjectCardMainComponent, ObjectCardFieldComponent],
|
|
8082
|
+
exports: [ThumbnailModule, ObjectCardComponent, ObjectCardMainComponent, ObjectCardFieldComponent],
|
|
8083
|
+
})
|
|
8084
|
+
], ErpObjectCardModule);
|
|
8085
|
+
|
|
8086
|
+
class StorageService {
|
|
8087
|
+
constructor() {
|
|
8088
|
+
this.GET_USER_ID = user.getUserData().then(user => user.id);
|
|
8089
|
+
}
|
|
8090
|
+
store(key, value) {
|
|
8091
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
8092
|
+
localStorage.setItem(`${yield this.GET_USER_ID}_${key}`, JSON.stringify(value));
|
|
8093
|
+
});
|
|
8094
|
+
}
|
|
8095
|
+
get(key) {
|
|
8096
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
8097
|
+
return JSON.parse(localStorage.getItem(`${yield this.GET_USER_ID}_${key}`)) || {};
|
|
8098
|
+
});
|
|
8099
|
+
}
|
|
8100
|
+
}
|
|
8101
|
+
|
|
8102
|
+
const moment$1 = moment$2; // @HACK Necessary because of https://github.com/rollup/rollup/issues/670
|
|
8103
|
+
class FiltersStorageService extends StorageService {
|
|
8104
|
+
constructor() {
|
|
8105
|
+
super(...arguments);
|
|
8106
|
+
this.FILTERS_KEY = "SENIOR_FILTERS";
|
|
8107
|
+
}
|
|
8108
|
+
storeFilters(key, filters) {
|
|
8109
|
+
const _super = Object.create(null, {
|
|
8110
|
+
get: { get: () => super.get },
|
|
8111
|
+
store: { get: () => super.store }
|
|
8112
|
+
});
|
|
8113
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
8114
|
+
const store = (yield _super.get.call(this, this.FILTERS_KEY)) || {};
|
|
8115
|
+
this.removeEmptyValues(filters);
|
|
8116
|
+
store[key] = filters;
|
|
8117
|
+
yield _super.store.call(this, this.FILTERS_KEY, store);
|
|
8118
|
+
});
|
|
8119
|
+
}
|
|
8120
|
+
getFilters(key) {
|
|
8121
|
+
const _super = Object.create(null, {
|
|
8122
|
+
get: { get: () => super.get }
|
|
8123
|
+
});
|
|
8124
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
8125
|
+
const store = (yield _super.get.call(this, this.FILTERS_KEY)) || {};
|
|
8126
|
+
return store[key] || {};
|
|
8127
|
+
});
|
|
8128
|
+
}
|
|
8129
|
+
removeFilter(key) {
|
|
8130
|
+
const _super = Object.create(null, {
|
|
8131
|
+
get: { get: () => super.get },
|
|
8132
|
+
store: { get: () => super.store }
|
|
8133
|
+
});
|
|
8134
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
8135
|
+
const store = (yield _super.get.call(this, this.FILTERS_KEY)) || {};
|
|
8136
|
+
delete store[key];
|
|
8137
|
+
yield _super.store.call(this, this.FILTERS_KEY, store);
|
|
8138
|
+
});
|
|
8139
|
+
}
|
|
8140
|
+
clearFilterValue(key, filters) {
|
|
8141
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
8142
|
+
yield this.storeFilters(key, filters);
|
|
8143
|
+
});
|
|
8144
|
+
}
|
|
8145
|
+
removeEmptyValues(filters) {
|
|
8146
|
+
Object.keys(filters).forEach((field) => {
|
|
8147
|
+
if (this.isInvalid(filters[field])) {
|
|
8148
|
+
delete filters[field];
|
|
8149
|
+
}
|
|
8150
|
+
});
|
|
8151
|
+
}
|
|
8152
|
+
isInvalid(field) {
|
|
8153
|
+
if (field === null || field === undefined) {
|
|
8154
|
+
return true;
|
|
8155
|
+
}
|
|
8156
|
+
if (Array.isArray(field)) {
|
|
8157
|
+
return field.length === 0;
|
|
8158
|
+
}
|
|
8159
|
+
if (typeof field === "string") {
|
|
8160
|
+
return field.trim() === "";
|
|
8161
|
+
}
|
|
8162
|
+
if (typeof field === "object") {
|
|
8163
|
+
return Object.keys(field).length === 0;
|
|
8164
|
+
}
|
|
8165
|
+
return false;
|
|
8166
|
+
}
|
|
8167
|
+
removeInvalidValues(values, fields) {
|
|
8168
|
+
if (!values) {
|
|
8169
|
+
return {};
|
|
8170
|
+
}
|
|
8171
|
+
Object.keys(values).forEach(fieldValue => {
|
|
8172
|
+
const field = fields.find((it) => it.name == fieldValue);
|
|
8173
|
+
if (field) {
|
|
8174
|
+
const val = values[fieldValue];
|
|
8175
|
+
if (!val)
|
|
8176
|
+
return;
|
|
8177
|
+
switch (field.type) {
|
|
8178
|
+
case FieldType.Integer:
|
|
8179
|
+
case FieldType.Double:
|
|
8180
|
+
case FieldType.Money:
|
|
8181
|
+
if (typeof val !== "number")
|
|
8182
|
+
delete values[fieldValue];
|
|
8183
|
+
break;
|
|
8184
|
+
case FieldType.Boolean:
|
|
8185
|
+
if (typeof val !== "boolean")
|
|
8186
|
+
delete values[fieldValue];
|
|
8187
|
+
break;
|
|
8188
|
+
case FieldType.Date:
|
|
8189
|
+
case FieldType.DateTime:
|
|
8190
|
+
case FieldType.Time:
|
|
8191
|
+
if (!moment$1(val, moment$1.ISO_8601, true).isValid())
|
|
8192
|
+
delete values[fieldValue];
|
|
8193
|
+
break;
|
|
8194
|
+
case FieldType.String:
|
|
8195
|
+
case FieldType.Text:
|
|
8196
|
+
if (typeof val !== "string")
|
|
8197
|
+
delete values[fieldValue];
|
|
8198
|
+
break;
|
|
8199
|
+
case FieldType.Lookup:
|
|
8200
|
+
case FieldType.Autocomplete:
|
|
8201
|
+
if (field.multiple) {
|
|
8202
|
+
if (!(Array.isArray(val) && val.length))
|
|
8203
|
+
delete values[fieldValue];
|
|
8204
|
+
}
|
|
8205
|
+
else {
|
|
8206
|
+
if (!(val instanceof Object))
|
|
8207
|
+
delete values[fieldValue];
|
|
8208
|
+
}
|
|
8209
|
+
break;
|
|
8210
|
+
case FieldType.Enum:
|
|
8211
|
+
if (field.multiple && !(Array.isArray(val) && val.length)) {
|
|
8212
|
+
delete values[fieldValue];
|
|
8213
|
+
}
|
|
8214
|
+
break;
|
|
8215
|
+
case FieldType.Chips:
|
|
8216
|
+
if (!(Array.isArray(val) && val.length)) {
|
|
8217
|
+
delete values[fieldValue];
|
|
8218
|
+
}
|
|
8219
|
+
break;
|
|
8220
|
+
default:
|
|
8221
|
+
break;
|
|
8222
|
+
}
|
|
8223
|
+
}
|
|
8224
|
+
});
|
|
8225
|
+
return values;
|
|
8226
|
+
}
|
|
8227
|
+
}
|
|
8228
|
+
|
|
8229
|
+
let ErpPolling =
|
|
8230
|
+
/**
|
|
8231
|
+
* Erp Polling
|
|
8232
|
+
* @class ErpPolling
|
|
8233
|
+
*/
|
|
8234
|
+
class ErpPolling {
|
|
8235
|
+
/**
|
|
8236
|
+
* Criação de um polling.
|
|
8237
|
+
* @typeParam `<T>` Tipo do objeto que o retorno do `observable` vai devolver.
|
|
8238
|
+
* @param takeWhileFn Função com retorno booleano, condição para a conclusão do polling, se falso conclui o polling.
|
|
8239
|
+
* @param calling Função com retorno `Observable<T>`, será a chamada feita pelo polling a cada X ms.
|
|
8240
|
+
* @param intervalMs Valor em ms que determina o intervalo das chamadas do polling.
|
|
8241
|
+
* @return Um `observable` com repetição cíclica a cada X ms _(`interval` informado nos parâmetros de entrada)_
|
|
8242
|
+
*/
|
|
8243
|
+
pollingMount(takeWhileFn, calling, intervalMs = 29000) {
|
|
8244
|
+
return interval(intervalMs)
|
|
8245
|
+
.pipe(takeWhile(takeWhileFn), switchMap(calling));
|
|
8246
|
+
}
|
|
8247
|
+
};
|
|
8248
|
+
ErpPolling = __decorate([
|
|
8249
|
+
Injectable()
|
|
8250
|
+
/**
|
|
8251
|
+
* Erp Polling
|
|
8252
|
+
* @class ErpPolling
|
|
8253
|
+
*/
|
|
8254
|
+
], ErpPolling);
|
|
8255
|
+
|
|
7686
8256
|
// https://widget.tracksale.co/
|
|
7687
8257
|
let NpsService = class NpsService {
|
|
7688
8258
|
getUserInformation() {
|
|
@@ -8327,5 +8897,5 @@ var ModulesEnum;
|
|
|
8327
8897
|
* Generated bundle index. Do not edit.
|
|
8328
8898
|
*/
|
|
8329
8899
|
|
|
8330
|
-
export { AgreementLookup, BankLookup, BeneficioFiscalLookup, BreadcrumbComponent, BreadcrumbModule, Breakpoints, CaracteristicaFiscalLookup, ClassificacaoTributariaLookup, ComposicaoBaseCalculoLookup, ContaInternaFilialLookup, CountryLookup, CplTriNotaSaidaE001EndLookup, CplTriNotaSaidaE001PesLookup, CplTriNotaSaidaE001TnsLookup, CplTriNotaSaidaE007UfsLookup, CplTriNotaSaidaE008RaiLookup, CplTriNotaSaidaE015MedLookup, CplTriNotaSaidaE020SnfLookup, CplTriNotaSaidaE024MsgLookup, CplTriNotaSaidaE028CpgLookup, CplTriNotaSaidaE032EdcLookup, CplTriNotaSaidaE051DisLookup, CplTriNotaSaidaE066FpgLookup, CplTriNotaSaidaE070EmpLookup, CplTriNotaSaidaE070FilLookup, CplTriNotaSaidaE075DerLookup, CplTriNotaSaidaE080SerLookup, CplTriNotaSaidaNaturezaReceitaPisCofinsLookup, CplTriNotaSaidaNcmLookup, CplTriNotaSaidaNfEntradaLookup, CplTriNotaSaidaNfSaidaLookup, CurrencyLookup, DfeEventoLookup, DocumentoLookup, E001EndLookup, E001PesLookup, E001TnsLookup, E001TnsSupEstLookup, E002TptLookup, E006PaiLookup, E007UfsLookup, E008CepLookup, E008RaiLookup, E012FamLookup, E015MedLookup, E020SnfLookup, E021MotLookup, E023CrpLookup, E024MsgLookup, E027EqiLookup, E027StrLookup, E028CpgLookup, E030AgeLookup, E030BanLookup, E031MoeLookup, E032EdcLookup, E034TccLookup, E035OcrLookup, E036InsLookup, E039PorLookup, E041CebLookup, E043MpcLookup, E043PcmLookup, E044CcuLookup, E045PlaLookup, E046HpdLookup, E047NtgLookup, E048FctLookup, E048SfcLookup, E051DisLookup, E066FpgLookup, E067FinLookup, E069GreLookup, E070EmpLookup, E070EntLookup, E070FilLookup, E073PesLookup, E073VeiLookup, E075DerLookup, E076MarLookup, E080SerLookup, E081TabLookup, E082TprLookup, E085PesLookup, E089DocLookup, E090HrpComGerLookup, E090PesLookup, E091PlfLookup, E095HfoSupGerLookup, E095PesLookup, E099UsuComGerLookup, E099UsuSupCprLookup, E140InsLookup, E140NfsLookup, E200LotLookup, E200SerLookup, E205DepLookup, E210DxpE075DerLookup, E210DxpLookup, E301TcrLookup, E403FprLookup, E420IcpLookup, E420IpcLookup, E420OcpLookup, E501TcpLookup, E600CcoLookup, E640LotLookup, EntityPersonProductLookup, EnumLogicalOperator, EquipmentLookup, ErpLookups, ErpLookupsFormField, ErpLookupsModule, ErpLookupsService, ErpPolling, ExportUtils, FiltersStorageService, FormUtilsService, HTTP_STATUS_CODE, IndOperacaoFornecimentoLookup, LeiComplementar1162003Lookup, LigacaoItemFornecedorLookup, ListaServicoNacionalLookup, LookupValidationUtils, ModulesEnum, NbsLookup, NcmLookup, NotaFiscalEntradaLookup, NpsService, OperacoesLookup, OrigemDestinoLookup, OrigemMercadoriaLookup, ParametersLookup, PrimitiveManager, ProdutoServicoLookup, QuantidadeDisponivelDemandaLookup, RequisicaoLookup, SegmentoLookup, TypeTaxesLookup, UnidadeMedidaLookup, UtilsModule, VerifyModulePermission, VerifyModulePermissions, WebsocketService, naturezaReceitaPisCofins, ɵ0, ɵ1, ɵ2, EnumAnaSin as ɵa, EnumNatCtb as ɵb,
|
|
8900
|
+
export { AgreementLookup, BankLookup, BeneficioFiscalLookup, BreadcrumbComponent, BreadcrumbModule, Breakpoints, CaracteristicaFiscalLookup, ClassificacaoTributariaLookup, ComposicaoBaseCalculoLookup, ContaInternaFilialLookup, CountryLookup, CplTriNotaSaidaE001EndLookup, CplTriNotaSaidaE001PesLookup, CplTriNotaSaidaE001TnsLookup, CplTriNotaSaidaE007UfsLookup, CplTriNotaSaidaE008RaiLookup, CplTriNotaSaidaE015MedLookup, CplTriNotaSaidaE020SnfLookup, CplTriNotaSaidaE024MsgLookup, CplTriNotaSaidaE028CpgLookup, CplTriNotaSaidaE032EdcLookup, CplTriNotaSaidaE051DisLookup, CplTriNotaSaidaE066FpgLookup, CplTriNotaSaidaE070EmpLookup, CplTriNotaSaidaE070FilLookup, CplTriNotaSaidaE075DerLookup, CplTriNotaSaidaE080SerLookup, CplTriNotaSaidaNaturezaReceitaPisCofinsLookup, CplTriNotaSaidaNcmLookup, CplTriNotaSaidaNfEntradaLookup, CplTriNotaSaidaNfSaidaLookup, CurrencyLookup, DfeEventoLookup, DocumentoLookup, E001EndLookup, E001PesLookup, E001TnsLookup, E001TnsSupEstLookup, E002TptLookup, E006PaiLookup, E007UfsLookup, E008CepLookup, E008RaiLookup, E012FamLookup, E015MedLookup, E020SnfLookup, E021MotLookup, E023CrpLookup, E024MsgLookup, E027EqiLookup, E027StrLookup, E028CpgLookup, E030AgeLookup, E030BanLookup, E031MoeLookup, E032EdcLookup, E034TccLookup, E035OcrLookup, E036InsLookup, E039PorLookup, E041CebLookup, E043MpcLookup, E043PcmLookup, E044CcuLookup, E045PlaLookup, E046HpdLookup, E047NtgLookup, E048FctLookup, E048SfcLookup, E051DisLookup, E066FpgLookup, E067FinLookup, E069GreLookup, E070EmpLookup, E070EntLookup, E070FilLookup, E073PesLookup, E073VeiLookup, E075DerLookup, E076MarLookup, E080SerLookup, E081TabLookup, E082TprLookup, E085PesLookup, E089DocLookup, E090HrpComGerLookup, E090PesLookup, E091PlfLookup, E095HfoSupGerLookup, E095PesLookup, E099UsuComGerLookup, E099UsuSupCprLookup, E140InsLookup, E140NfsLookup, E200LotLookup, E200SerLookup, E205DepLookup, E210DxpE075DerLookup, E210DxpLookup, E301TcrLookup, E403FprLookup, E420IcpLookup, E420IpcLookup, E420OcpLookup, E501TcpLookup, E600CcoLookup, E640LotLookup, EntityPersonProductLookup, EnumLogicalOperator, EquipmentLookup, ErpLookups, ErpLookupsFormField, ErpLookupsModule, ErpLookupsService, ErpObjectCardModule, ErpPolling, ExportUtils, FiltersStorageService, FormUtilsService, HTTP_STATUS_CODE, IndOperacaoFornecimentoLookup, LeiComplementar1162003Lookup, LigacaoItemFornecedorLookup, ListaServicoNacionalLookup, LookupValidationUtils, ModulesEnum, NbsLookup, NcmLookup, NotaFiscalEntradaLookup, NpsService, ObjectCardComponent, ObjectCardFieldComponent, ObjectCardMainComponent, OperacoesLookup, OrigemDestinoLookup, OrigemMercadoriaLookup, ParametersLookup, PrimitiveManager, ProdutoServicoLookup, QuantidadeDisponivelDemandaLookup, RequisicaoLookup, SegmentoLookup, ThumbnailComponent, ThumbnailModule, ThumbnailSize, TypeTaxesLookup, UnidadeMedidaLookup, UtilsModule, VerifyModulePermission, VerifyModulePermissions, WebsocketService, naturezaReceitaPisCofins, ɵ0, ɵ1, ɵ2, EnumAnaSin as ɵa, EnumNatCtb as ɵb, ThumbnailService as ɵc, BorderButtonModule as ɵd, BorderButtonComponent as ɵe, StorageService as ɵf, UserInformationService as ɵg, VerifyModulePermissionService as ɵh, VerifyModulePermissionsService as ɵi };
|
|
8331
8901
|
//# sourceMappingURL=senior-gestao-empresarial-angular-components.js.map
|