keevo-components 1.8.378 → 1.8.380
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/esm2022/lib/components/kv-content-viewer/kv-content-viewer.component.mjs +74 -0
- package/esm2022/lib/components/kv-content-viewer/kv-content-viewer.module.mjs +32 -0
- package/esm2022/lib/components/kv-login/kv-login.component.mjs +3 -3
- package/esm2022/public-api.mjs +6 -1
- package/fesm2022/keevo-components.mjs +97 -3
- package/fesm2022/keevo-components.mjs.map +1 -1
- package/lib/components/kv-content-viewer/kv-content-viewer.component.d.ts +37 -0
- package/lib/components/kv-content-viewer/kv-content-viewer.module.d.ts +11 -0
- package/lib/components/kv-layout/layout/kv-layout.component.d.ts +1 -1
- package/package.json +1 -1
- package/public-api.d.ts +5 -0
|
@@ -5761,11 +5761,11 @@ class KvLoginComponent extends BaseComponentCrudForm {
|
|
|
5761
5761
|
}
|
|
5762
5762
|
}
|
|
5763
5763
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvLoginComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
5764
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.8", type: KvLoginComponent, selector: "kv-login", inputs: { Background: "Background", SystemLogo: "SystemLogo", SystemColorPrimary: "SystemColorPrimary", SystemColorSecondary: "SystemColorSecondary" }, outputs: { onLogin: "onLogin" }, usesInheritance: true, ngImport: i0, template: "<div\r\n id=\"kvLogin-container\"\r\n class=\"flex justify-content-center align-items-center flex-column h-screen \"\r\n [style.background-image]=\"'url(' + Background + ')'\"\r\n>\r\n\r\n <!-- CARD PRINCIPAL -->\r\n <div\r\n [formGroup]=\" formGroup\"\r\n id=\"kvLogin-card\"\r\n class=\"flex flex-column align-items-center justify-content-between bg-white border-round-xl\"\r\n [style.width.rem]=\"20\"\r\n [style.height.
|
|
5764
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.8", type: KvLoginComponent, selector: "kv-login", inputs: { Background: "Background", SystemLogo: "SystemLogo", SystemColorPrimary: "SystemColorPrimary", SystemColorSecondary: "SystemColorSecondary" }, outputs: { onLogin: "onLogin" }, usesInheritance: true, ngImport: i0, template: "<div\r\n id=\"kvLogin-container\"\r\n class=\"flex justify-content-center align-items-center flex-column h-screen \"\r\n [style.background-image]=\"'url(' + Background + ')'\"\r\n>\r\n\r\n <!-- CARD PRINCIPAL -->\r\n <div\r\n [formGroup]=\" formGroup\"\r\n id=\"kvLogin-card\"\r\n class=\"flex flex-column align-items-center justify-content-between bg-white border-round-xl\"\r\n [style.width.rem]=\"20\"\r\n [style.height.rem]=\"28\"\r\n (keydown.enter)=\"save()\"\r\n >\r\n\r\n <!-- LOGO DO SISTEMA -->\r\n <div class=\"flex flex-row align-items-center justify-content-center p-3 mt-2\">\r\n <img\r\n alt=\"Logo do Sistema\"\r\n [style.height.rem]=\"4\"\r\n [src]=\"SystemLogo\"\r\n />\r\n </div>\r\n\r\n <!-- INFORMA\u00C7\u00D5ES CENTRAIS -->\r\n <div class=\" grid formgrid p-fluid gap-2 p-3 pb-0\">\r\n\r\n <div\r\n class=\"mb-2 w-full flex flex-row align-items-center justify-content-srart gap-1 font-medium\"\r\n >\r\n <img\r\n [style.height.rem]=\"1.5\"\r\n class=\"ml-2\"\r\n alt=\"keepass\"\r\n src=\"https://work-assets.keevo.com.br/img/icone-keepass-preto.png\"\r\n />\r\n <label\r\n class=\"mt-1 text-sm\"\r\n >\r\n Entrar com KeePass\r\n </label>\r\n </div>\r\n\r\n <kv-input-text\r\n componentId=\"usuario\"\r\n label=\"CPF ou e-mail\"\r\n formControlName=\"usuario\"\r\n class=\"field col-12\"\r\n >\r\n </kv-input-text>\r\n\r\n <kv-input-password\r\n componentId=\"senha\"\r\n label=\"Senha\"\r\n [toggleMask]=\"true\"\r\n formControlName=\"senha\"\r\n [required]=\"true\"\r\n class=\"field col-12\"\r\n >\r\n </kv-input-password>\r\n\r\n <div\r\n class=\"flex w-full justify-content-end mb-2 h-2\"\r\n id=\"kvLogin-esqueceu-senha\"\r\n >\r\n <a\r\n href=\"https://keepass.seg.br/redefinirsenha\"\r\n target=\"_blank\"\r\n class=\"text-xs\"\r\n [style.color]=\"SystemColorPrimary\"\r\n >\r\n Esqueceu a senha?\r\n </a>\r\n </div>\r\n\r\n <div id=\"kvLogin-cadastro\" class=\"flex w-full justify-content-center h-2\">\r\n <label\r\n class=\"text-xs font-normal\"\r\n >\r\n Novo no KeePass?\r\n <a\r\n href=\"https://keepass.seg.br/cadastrar\"\r\n target=\"_blank\"\r\n class=\"text-xs m-0 p-0\"\r\n [style.color]=\"SystemColorPrimary\"\r\n >\r\n Cadastre-se.\r\n </a>\r\n </label>\r\n </div>\r\n </div>\r\n \r\n\r\n <button\r\n id=\"kvLogin-login-button\"\r\n [style.background-color]=\"SystemColorPrimary\"\r\n [style.color]=\"'white'\"\r\n class=\"w-full \"\r\n (click)=\"save()\"\r\n [style.height.px]=\"50\"\r\n ><strong>Login</strong></button>\r\n </div>\r\n\r\n <div class=\"logo-keevo\">\r\n <img\r\n src=\"https://work-assets.keevo.com.br/img/keevo-logo-temp.png\"\r\n />\r\n <label\r\n class=\"text-xs\"\r\n [style.color]=\"SystemColorSecondary\"\r\n >\r\n Copyright \u00A9 2024 - Keevo Ltda Todos os direitos reservados.\r\n </label>\r\n </div>\r\n\r\n</div>", styles: ["@charset \"UTF-8\";:host{overflow:hidden}#kvLogin-container{font-family:Inter var,Roboto,Arial,Helvetica,sans-serif!important;background:no-repeat center;background-size:cover;padding:20px}#kvLogin-card{box-shadow:#00000059 0 5px 15px}#kvLogin-esqueceu-senha{position:relative;bottom:.5rem;padding-right:10px}#kvLogin-esqueceu-senha a{text-decoration:none;font-weight:500;cursor:pointer;transition:text-shadow .2s ease-in-out}#kvLogin-esqueceu-senha a:hover{text-shadow:0 0 2px rgba(158,158,158,.692)}#kvLogin-cadastro{margin-bottom:1rem}#kvLogin-cadastro a{text-decoration:none;font-weight:600;cursor:pointer;gap:3px;transition:text-shadow .2s ease-in-out}#kvLogin-cadastro a:hover{text-shadow:0 0 2px rgba(158,158,158,.692)}#kvLogin-login-button{width:100%;height:3rem!important;border-radius:0 0 .5rem .5rem;border:none;cursor:pointer;font-size:14px;transition:all ease-in .2s;-webkit-transition:all ease-in .2s;-moz-transition:all ease-in .2s;-ms-transition:all ease-in .2s;-o-transition:all ease-in .2s}#kvLogin-login-button:hover{opacity:.9}.logo-keevo{text-align:center}.logo-keevo img{height:2rem;width:auto;display:block;margin:0 auto;margin-top:5rem}.logo-keevo label{display:block;margin-top:.5rem}@media (max-height: 700px){.logo-keevo img{margin-top:1rem}#kvLogin-container{padding:10px}#kvLogin-container img{max-width:90%}}\n"], dependencies: [{ kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: KvInputPasswordComponent, selector: "kv-input-password", inputs: ["feedback", "mediumRegex", "strongRegex", "toggleMask"] }, { kind: "component", type: KvInputTextComponent, selector: "kv-input-text", inputs: ["textCaptalized"] }] }); }
|
|
5765
5765
|
}
|
|
5766
5766
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvLoginComponent, decorators: [{
|
|
5767
5767
|
type: Component,
|
|
5768
|
-
args: [{ selector: 'kv-login', template: "<div\r\n id=\"kvLogin-container\"\r\n class=\"flex justify-content-center align-items-center flex-column h-screen \"\r\n [style.background-image]=\"'url(' + Background + ')'\"\r\n>\r\n\r\n <!-- CARD PRINCIPAL -->\r\n <div\r\n [formGroup]=\" formGroup\"\r\n id=\"kvLogin-card\"\r\n class=\"flex flex-column align-items-center justify-content-between bg-white border-round-xl\"\r\n [style.width.rem]=\"20\"\r\n [style.height.
|
|
5768
|
+
args: [{ selector: 'kv-login', template: "<div\r\n id=\"kvLogin-container\"\r\n class=\"flex justify-content-center align-items-center flex-column h-screen \"\r\n [style.background-image]=\"'url(' + Background + ')'\"\r\n>\r\n\r\n <!-- CARD PRINCIPAL -->\r\n <div\r\n [formGroup]=\" formGroup\"\r\n id=\"kvLogin-card\"\r\n class=\"flex flex-column align-items-center justify-content-between bg-white border-round-xl\"\r\n [style.width.rem]=\"20\"\r\n [style.height.rem]=\"28\"\r\n (keydown.enter)=\"save()\"\r\n >\r\n\r\n <!-- LOGO DO SISTEMA -->\r\n <div class=\"flex flex-row align-items-center justify-content-center p-3 mt-2\">\r\n <img\r\n alt=\"Logo do Sistema\"\r\n [style.height.rem]=\"4\"\r\n [src]=\"SystemLogo\"\r\n />\r\n </div>\r\n\r\n <!-- INFORMA\u00C7\u00D5ES CENTRAIS -->\r\n <div class=\" grid formgrid p-fluid gap-2 p-3 pb-0\">\r\n\r\n <div\r\n class=\"mb-2 w-full flex flex-row align-items-center justify-content-srart gap-1 font-medium\"\r\n >\r\n <img\r\n [style.height.rem]=\"1.5\"\r\n class=\"ml-2\"\r\n alt=\"keepass\"\r\n src=\"https://work-assets.keevo.com.br/img/icone-keepass-preto.png\"\r\n />\r\n <label\r\n class=\"mt-1 text-sm\"\r\n >\r\n Entrar com KeePass\r\n </label>\r\n </div>\r\n\r\n <kv-input-text\r\n componentId=\"usuario\"\r\n label=\"CPF ou e-mail\"\r\n formControlName=\"usuario\"\r\n class=\"field col-12\"\r\n >\r\n </kv-input-text>\r\n\r\n <kv-input-password\r\n componentId=\"senha\"\r\n label=\"Senha\"\r\n [toggleMask]=\"true\"\r\n formControlName=\"senha\"\r\n [required]=\"true\"\r\n class=\"field col-12\"\r\n >\r\n </kv-input-password>\r\n\r\n <div\r\n class=\"flex w-full justify-content-end mb-2 h-2\"\r\n id=\"kvLogin-esqueceu-senha\"\r\n >\r\n <a\r\n href=\"https://keepass.seg.br/redefinirsenha\"\r\n target=\"_blank\"\r\n class=\"text-xs\"\r\n [style.color]=\"SystemColorPrimary\"\r\n >\r\n Esqueceu a senha?\r\n </a>\r\n </div>\r\n\r\n <div id=\"kvLogin-cadastro\" class=\"flex w-full justify-content-center h-2\">\r\n <label\r\n class=\"text-xs font-normal\"\r\n >\r\n Novo no KeePass?\r\n <a\r\n href=\"https://keepass.seg.br/cadastrar\"\r\n target=\"_blank\"\r\n class=\"text-xs m-0 p-0\"\r\n [style.color]=\"SystemColorPrimary\"\r\n >\r\n Cadastre-se.\r\n </a>\r\n </label>\r\n </div>\r\n </div>\r\n \r\n\r\n <button\r\n id=\"kvLogin-login-button\"\r\n [style.background-color]=\"SystemColorPrimary\"\r\n [style.color]=\"'white'\"\r\n class=\"w-full \"\r\n (click)=\"save()\"\r\n [style.height.px]=\"50\"\r\n ><strong>Login</strong></button>\r\n </div>\r\n\r\n <div class=\"logo-keevo\">\r\n <img\r\n src=\"https://work-assets.keevo.com.br/img/keevo-logo-temp.png\"\r\n />\r\n <label\r\n class=\"text-xs\"\r\n [style.color]=\"SystemColorSecondary\"\r\n >\r\n Copyright \u00A9 2024 - Keevo Ltda Todos os direitos reservados.\r\n </label>\r\n </div>\r\n\r\n</div>", styles: ["@charset \"UTF-8\";:host{overflow:hidden}#kvLogin-container{font-family:Inter var,Roboto,Arial,Helvetica,sans-serif!important;background:no-repeat center;background-size:cover;padding:20px}#kvLogin-card{box-shadow:#00000059 0 5px 15px}#kvLogin-esqueceu-senha{position:relative;bottom:.5rem;padding-right:10px}#kvLogin-esqueceu-senha a{text-decoration:none;font-weight:500;cursor:pointer;transition:text-shadow .2s ease-in-out}#kvLogin-esqueceu-senha a:hover{text-shadow:0 0 2px rgba(158,158,158,.692)}#kvLogin-cadastro{margin-bottom:1rem}#kvLogin-cadastro a{text-decoration:none;font-weight:600;cursor:pointer;gap:3px;transition:text-shadow .2s ease-in-out}#kvLogin-cadastro a:hover{text-shadow:0 0 2px rgba(158,158,158,.692)}#kvLogin-login-button{width:100%;height:3rem!important;border-radius:0 0 .5rem .5rem;border:none;cursor:pointer;font-size:14px;transition:all ease-in .2s;-webkit-transition:all ease-in .2s;-moz-transition:all ease-in .2s;-ms-transition:all ease-in .2s;-o-transition:all ease-in .2s}#kvLogin-login-button:hover{opacity:.9}.logo-keevo{text-align:center}.logo-keevo img{height:2rem;width:auto;display:block;margin:0 auto;margin-top:5rem}.logo-keevo label{display:block;margin-top:.5rem}@media (max-height: 700px){.logo-keevo img{margin-top:1rem}#kvLogin-container{padding:10px}#kvLogin-container img{max-width:90%}}\n"] }]
|
|
5769
5769
|
}], propDecorators: { Background: [{
|
|
5770
5770
|
type: Input
|
|
5771
5771
|
}], SystemLogo: [{
|
|
@@ -9268,6 +9268,100 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImpor
|
|
|
9268
9268
|
}]
|
|
9269
9269
|
}] });
|
|
9270
9270
|
|
|
9271
|
+
class KvContentViewerComponent {
|
|
9272
|
+
constructor() {
|
|
9273
|
+
// #region Signals
|
|
9274
|
+
this.dataSource = input([]);
|
|
9275
|
+
this.paginaInicial = signal(1);
|
|
9276
|
+
this.arquivo = signal(undefined);
|
|
9277
|
+
this.arquivoPreview = signal(undefined);
|
|
9278
|
+
this.nomeArquivo = signal('');
|
|
9279
|
+
this.type = signal(undefined);
|
|
9280
|
+
this.blob = signal('');
|
|
9281
|
+
this.idarquivo = signal(undefined);
|
|
9282
|
+
this.ekpContent = signal(undefined);
|
|
9283
|
+
this.totalItensCarregado = computed(() => this.dataSource()?.length || 0);
|
|
9284
|
+
this.previewOn = false;
|
|
9285
|
+
this.selectedItem = {};
|
|
9286
|
+
this.totalRecords = 0;
|
|
9287
|
+
this.isLoading = false;
|
|
9288
|
+
this.displaySidebar = false;
|
|
9289
|
+
this.isSelected = false;
|
|
9290
|
+
this.visualizadorDocumentos = false;
|
|
9291
|
+
// #endregion
|
|
9292
|
+
// #region Outputs
|
|
9293
|
+
this.onScrollHandler = new EventEmitter();
|
|
9294
|
+
this.onSelectFile = new EventEmitter();
|
|
9295
|
+
}
|
|
9296
|
+
todayDate() {
|
|
9297
|
+
const today = new Date();
|
|
9298
|
+
return today.toLocaleDateString('pt-BR', { day: '2-digit', month: '2-digit', year: 'numeric' });
|
|
9299
|
+
}
|
|
9300
|
+
// #endregion
|
|
9301
|
+
trackByFn(index, item) {
|
|
9302
|
+
return item.idarquivo;
|
|
9303
|
+
}
|
|
9304
|
+
visualizarPreview(arquivo) {
|
|
9305
|
+
this.arquivoPreview.set(arquivo);
|
|
9306
|
+
this.onSelectFile.emit(arquivo);
|
|
9307
|
+
}
|
|
9308
|
+
scrollHandler($event) {
|
|
9309
|
+
const element = $event.target;
|
|
9310
|
+
//se o escroll chegar até o final
|
|
9311
|
+
if (element.scrollHeight - element.scrollTop === element.clientHeight) {
|
|
9312
|
+
// this.buscarProximosDocumentos();
|
|
9313
|
+
this.onScrollHandler.emit();
|
|
9314
|
+
}
|
|
9315
|
+
}
|
|
9316
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvContentViewerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
9317
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.8", type: KvContentViewerComponent, selector: "kv-content-viewer", inputs: { dataSource: { classPropertyName: "dataSource", publicName: "dataSource", isSignal: true, isRequired: false, transformFunction: null }, totalRecords: { classPropertyName: "totalRecords", publicName: "totalRecords", isSignal: false, isRequired: false, transformFunction: null }, visualizadorDocumentos: { classPropertyName: "visualizadorDocumentos", publicName: "visualizadorDocumentos", isSignal: false, isRequired: false, transformFunction: null }, cardTemplate: { classPropertyName: "cardTemplate", publicName: "cardTemplate", isSignal: false, isRequired: false, transformFunction: null }, contentTemplate: { classPropertyName: "contentTemplate", publicName: "contentTemplate", isSignal: false, isRequired: false, transformFunction: null }, noDocumentSelectedTemplate: { classPropertyName: "noDocumentSelectedTemplate", publicName: "noDocumentSelectedTemplate", isSignal: false, isRequired: false, transformFunction: null }, noDocumentListTemplate: { classPropertyName: "noDocumentListTemplate", publicName: "noDocumentListTemplate", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { onScrollHandler: "onScrollHandler", onSelectFile: "onSelectFile" }, ngImport: i0, template: "<div class=\"flex flex-column md:flex-row gap-2 mt-3 custom-max-height\">\r\n <!-- Lista de documentos -->\r\n <div\r\n class=\"card-perfil overflow-x-hidden\"\r\n (scroll)=\"scrollHandler($event)\"\r\n [ngClass]=\"{\r\n 'overflow-y-scroll': dataSource().length > 0,\r\n 'overflow-y-hidden': dataSource().length === 0\r\n }\"\r\n style=\"position: relative; max-height: 80vh\"\r\n >\r\n <div *ngIf=\"dataSource().length > 0; else emptyDocumentList\" class=\"col-12\">\r\n <!-- Lista de cards -->\r\n <div\r\n *ngFor=\"let option of dataSource(); trackBy: trackByFn\"\r\n class=\"card-normal outline-none border-round-xl w-full p-2 m-1 grid p-fluid flex flex-row flex-nowrap align-items-center justify-content-center cursor-pointer\"\r\n style=\"min-height: 5rem\"\r\n (click)=\"visualizarPreview(option)\"\r\n [ngClass]=\"{\r\n 'card-selected': option === arquivoPreview(),\r\n 'card-normal': option !== arquivoPreview(),\r\n }\"\r\n >\r\n <div class=\"flex flex-grow-1 ml-2 flex-column gap-1 m-0 p-0\">\r\n <ng-container *ngIf=\"cardTemplate; else defaultTemplate\">\r\n <ng-container\r\n *ngTemplateOutlet=\"cardTemplate; context: { $implicit: option }\"\r\n ></ng-container>\r\n </ng-container>\r\n </div>\r\n <ng-template #defaultTemplate>\r\n <div class=\"card-common-style default-card\">\r\n <h1 class=\"font-bold text-base p-0 m-0\">Bem-vindo!</h1>\r\n <p class=\"text-sm mt-2\">\r\n Kv-file-preview aguardando um template...\r\n </p>\r\n <p class=\"font-bold text-sm p-0 m-0\">Data: {{ todayDate() }}</p>\r\n </div>\r\n </ng-template>\r\n </div>\r\n </div>\r\n\r\n <ng-template #emptyDocumentList>\r\n @if(!noDocumentListTemplate) {\r\n <div class=\"text-center text-gray-600 mt-4 m-3\" style=\"height: 100%\">\r\n <div class=\" flex align-items-center gap-1\">\r\n <span class=\"material-symbols-outlined\"> inbox </span>\r\n <p>Nenhum documento dispon\u00EDvel.</p>\r\n </div>\r\n </div>\r\n } @else {\r\n <div class=\"text-center mt-4 m-3\" style=\"height: 100%\">\r\n <ng-container *ngTemplateOutlet=\"noDocumentListTemplate\"></ng-container>\r\n </div>\r\n }\r\n </ng-template>\r\n\r\n <!-- Contador de documentos - Fixo na parte inferior -->\r\n <div\r\n class=\"sticky-counter flex flex-row flex-1 px-2 justify-content-center p-2\"\r\n style=\"position: sticky; bottom: 0; background-color: white\"\r\n >\r\n <span>{{ totalItensCarregado() }} de {{ totalRecords }}</span>\r\n </div>\r\n </div>\r\n\r\n <!-- Visualizador -->\r\n <div class=\"card-perfil col-12 md:col-8 lg:col-9\" style=\"position: relative\">\r\n @if(visualizadorDocumentos) {\r\n <ng-container *ngIf=\"arquivo(); else noDocumentSelected\">\r\n @if(isLoading) {\r\n <ngx-loading\r\n [show]=\"isLoading\"\r\n [config]=\"{ backdropBorderRadius: '3px', fullScreenBackdrop: false }\"\r\n ></ngx-loading>\r\n }\r\n <kv-file-viewer-novo\r\n *ngIf=\"previewOn && extencaoDocumento !== 'ekp' && !isLoading\"\r\n [arquivo]=\"arquivo()!\"\r\n [type]=\"type()!\"\r\n [blob]=\"blob()!\"\r\n [width]=\"'100%'\"\r\n [height]=\"'100%'\"\r\n class=\"file-viewer\"\r\n >\r\n </kv-file-viewer-novo>\r\n \r\n <div\r\n id=\"html-content\"\r\n [innerHTML]=\"ekpContent()\"\r\n *ngIf=\"extencaoDocumento === 'ekp' && !isLoading\"\r\n class=\"ekp-content\"\r\n ></div>\r\n </ng-container>\r\n } @else {\r\n <ng-container *ngIf=\"arquivoPreview(); else noDocumentSelected\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n contentTemplate;\r\n context: { $implicit: arquivoPreview() }\r\n \"\r\n ></ng-container>\r\n </ng-container>\r\n }\r\n <ng-template #noDocumentSelected>\r\n @if(!noDocumentSelectedTemplate) {\r\n <div\r\n class=\"no-document-message flex flex-column align-items-center justify-content-center\"\r\n style=\"height: 100%\"\r\n >\r\n <p class=\"text-center text-gray-500\">\r\n Selecione um arquivo para visualiza\u00E7\u00E3o\r\n </p>\r\n <img\r\n [src]=\"\r\n 'https://work-assets.keevo.com.br/img/Digital_personal_files-pana_3.png'\r\n \"\r\n alt=\"\"\r\n />\r\n </div>\r\n } @else {\r\n <ng-container\r\n *ngTemplateOutlet=\"noDocumentSelectedTemplate\"\r\n ></ng-container>\r\n }\r\n </ng-template>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";.farol-statuspublicacao{margin-right:.5rem;width:.35rem;border-radius:1rem;-webkit-border-radius:1rem;-moz-border-radius:1rem;-ms-border-radius:1rem;-o-border-radius:1rem}:host ::ng-deep .p-sidebar{border-radius:5px;position:absolute;height:var(--sidebar-height)}:host ::ng-deep .p-sidebar .p-sidebar-content{overflow:auto;border:1px solid #e5e7eb;border-radius:5px;margin-top:1rem}.card-perfil{border:1.5px solid #CBD5E1;background:#fff;border-radius:6px;max-height:100%}:host ::ng-deep .p-fieldset .p-fieldset-content{padding-bottom:0}:host ::ng-deep .p-sidebar .p-sidebar-close{display:none}.card-normal{border:1.5px solid #CBD5E1}.card-naoVisualizado{border-left:4px solid #e6671f!important}.parent-container{height:100%;display:flex;flex-direction:column}.file-viewer{margin:auto}.ekp-content{min-height:20rem;padding:1rem;overflow-y:auto;border-radius:5px}ngx-loading{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1000}.card{transition:all .3s ease;border:1px solid transparent}.card-normal:hover{border:1px solid #a9a9a9;box-shadow:0 4px 8px #0000001a}.card-selected{background-color:#f0f0f0;border:1px solid #c0c0c0;box-shadow:0 6px 12px #00000026;transform:scale(1.02)}.loading-spinner{display:flex;align-items:center;justify-content:center;height:100%;font-size:1.5rem;color:#666}#html-content{width:100%;height:100%;overflow-y:auto}:host ::ng-deep .list-card-button .kv-button{width:22px;height:22px}:host ::ng-deep .list-card-button .kv-button .material-symbols-outlined.only-icon.icon-normal[_ngcontent-ng-c4083184952]{font-size:1rem}.custom-max-height{max-height:98%}@media (max-height: 915px){.custom-max-height{max-height:94%}}@media (max-height: 805px){.custom-max-height{max-height:90%}}@media (max-height: 720px){.custom-max-height{max-height:85%}}.download-icon{font-size:20px;cursor:pointer;transition:transform .3s ease,color .3s ease}.download-icon:hover{color:#0f6cbd;transform:scale(1.2)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: KvFileViewerNovoComponent, selector: "kv-file-viewer-novo", inputs: ["arquivo", "type", "blob", "width", "height"] }, { kind: "component", type: i1$4.NgxLoadingComponent, selector: "ngx-loading", inputs: ["show", "config", "template"] }] }); }
|
|
9318
|
+
}
|
|
9319
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvContentViewerComponent, decorators: [{
|
|
9320
|
+
type: Component,
|
|
9321
|
+
args: [{ selector: 'kv-content-viewer', template: "<div class=\"flex flex-column md:flex-row gap-2 mt-3 custom-max-height\">\r\n <!-- Lista de documentos -->\r\n <div\r\n class=\"card-perfil overflow-x-hidden\"\r\n (scroll)=\"scrollHandler($event)\"\r\n [ngClass]=\"{\r\n 'overflow-y-scroll': dataSource().length > 0,\r\n 'overflow-y-hidden': dataSource().length === 0\r\n }\"\r\n style=\"position: relative; max-height: 80vh\"\r\n >\r\n <div *ngIf=\"dataSource().length > 0; else emptyDocumentList\" class=\"col-12\">\r\n <!-- Lista de cards -->\r\n <div\r\n *ngFor=\"let option of dataSource(); trackBy: trackByFn\"\r\n class=\"card-normal outline-none border-round-xl w-full p-2 m-1 grid p-fluid flex flex-row flex-nowrap align-items-center justify-content-center cursor-pointer\"\r\n style=\"min-height: 5rem\"\r\n (click)=\"visualizarPreview(option)\"\r\n [ngClass]=\"{\r\n 'card-selected': option === arquivoPreview(),\r\n 'card-normal': option !== arquivoPreview(),\r\n }\"\r\n >\r\n <div class=\"flex flex-grow-1 ml-2 flex-column gap-1 m-0 p-0\">\r\n <ng-container *ngIf=\"cardTemplate; else defaultTemplate\">\r\n <ng-container\r\n *ngTemplateOutlet=\"cardTemplate; context: { $implicit: option }\"\r\n ></ng-container>\r\n </ng-container>\r\n </div>\r\n <ng-template #defaultTemplate>\r\n <div class=\"card-common-style default-card\">\r\n <h1 class=\"font-bold text-base p-0 m-0\">Bem-vindo!</h1>\r\n <p class=\"text-sm mt-2\">\r\n Kv-file-preview aguardando um template...\r\n </p>\r\n <p class=\"font-bold text-sm p-0 m-0\">Data: {{ todayDate() }}</p>\r\n </div>\r\n </ng-template>\r\n </div>\r\n </div>\r\n\r\n <ng-template #emptyDocumentList>\r\n @if(!noDocumentListTemplate) {\r\n <div class=\"text-center text-gray-600 mt-4 m-3\" style=\"height: 100%\">\r\n <div class=\" flex align-items-center gap-1\">\r\n <span class=\"material-symbols-outlined\"> inbox </span>\r\n <p>Nenhum documento dispon\u00EDvel.</p>\r\n </div>\r\n </div>\r\n } @else {\r\n <div class=\"text-center mt-4 m-3\" style=\"height: 100%\">\r\n <ng-container *ngTemplateOutlet=\"noDocumentListTemplate\"></ng-container>\r\n </div>\r\n }\r\n </ng-template>\r\n\r\n <!-- Contador de documentos - Fixo na parte inferior -->\r\n <div\r\n class=\"sticky-counter flex flex-row flex-1 px-2 justify-content-center p-2\"\r\n style=\"position: sticky; bottom: 0; background-color: white\"\r\n >\r\n <span>{{ totalItensCarregado() }} de {{ totalRecords }}</span>\r\n </div>\r\n </div>\r\n\r\n <!-- Visualizador -->\r\n <div class=\"card-perfil col-12 md:col-8 lg:col-9\" style=\"position: relative\">\r\n @if(visualizadorDocumentos) {\r\n <ng-container *ngIf=\"arquivo(); else noDocumentSelected\">\r\n @if(isLoading) {\r\n <ngx-loading\r\n [show]=\"isLoading\"\r\n [config]=\"{ backdropBorderRadius: '3px', fullScreenBackdrop: false }\"\r\n ></ngx-loading>\r\n }\r\n <kv-file-viewer-novo\r\n *ngIf=\"previewOn && extencaoDocumento !== 'ekp' && !isLoading\"\r\n [arquivo]=\"arquivo()!\"\r\n [type]=\"type()!\"\r\n [blob]=\"blob()!\"\r\n [width]=\"'100%'\"\r\n [height]=\"'100%'\"\r\n class=\"file-viewer\"\r\n >\r\n </kv-file-viewer-novo>\r\n \r\n <div\r\n id=\"html-content\"\r\n [innerHTML]=\"ekpContent()\"\r\n *ngIf=\"extencaoDocumento === 'ekp' && !isLoading\"\r\n class=\"ekp-content\"\r\n ></div>\r\n </ng-container>\r\n } @else {\r\n <ng-container *ngIf=\"arquivoPreview(); else noDocumentSelected\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n contentTemplate;\r\n context: { $implicit: arquivoPreview() }\r\n \"\r\n ></ng-container>\r\n </ng-container>\r\n }\r\n <ng-template #noDocumentSelected>\r\n @if(!noDocumentSelectedTemplate) {\r\n <div\r\n class=\"no-document-message flex flex-column align-items-center justify-content-center\"\r\n style=\"height: 100%\"\r\n >\r\n <p class=\"text-center text-gray-500\">\r\n Selecione um arquivo para visualiza\u00E7\u00E3o\r\n </p>\r\n <img\r\n [src]=\"\r\n 'https://work-assets.keevo.com.br/img/Digital_personal_files-pana_3.png'\r\n \"\r\n alt=\"\"\r\n />\r\n </div>\r\n } @else {\r\n <ng-container\r\n *ngTemplateOutlet=\"noDocumentSelectedTemplate\"\r\n ></ng-container>\r\n }\r\n </ng-template>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";.farol-statuspublicacao{margin-right:.5rem;width:.35rem;border-radius:1rem;-webkit-border-radius:1rem;-moz-border-radius:1rem;-ms-border-radius:1rem;-o-border-radius:1rem}:host ::ng-deep .p-sidebar{border-radius:5px;position:absolute;height:var(--sidebar-height)}:host ::ng-deep .p-sidebar .p-sidebar-content{overflow:auto;border:1px solid #e5e7eb;border-radius:5px;margin-top:1rem}.card-perfil{border:1.5px solid #CBD5E1;background:#fff;border-radius:6px;max-height:100%}:host ::ng-deep .p-fieldset .p-fieldset-content{padding-bottom:0}:host ::ng-deep .p-sidebar .p-sidebar-close{display:none}.card-normal{border:1.5px solid #CBD5E1}.card-naoVisualizado{border-left:4px solid #e6671f!important}.parent-container{height:100%;display:flex;flex-direction:column}.file-viewer{margin:auto}.ekp-content{min-height:20rem;padding:1rem;overflow-y:auto;border-radius:5px}ngx-loading{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1000}.card{transition:all .3s ease;border:1px solid transparent}.card-normal:hover{border:1px solid #a9a9a9;box-shadow:0 4px 8px #0000001a}.card-selected{background-color:#f0f0f0;border:1px solid #c0c0c0;box-shadow:0 6px 12px #00000026;transform:scale(1.02)}.loading-spinner{display:flex;align-items:center;justify-content:center;height:100%;font-size:1.5rem;color:#666}#html-content{width:100%;height:100%;overflow-y:auto}:host ::ng-deep .list-card-button .kv-button{width:22px;height:22px}:host ::ng-deep .list-card-button .kv-button .material-symbols-outlined.only-icon.icon-normal[_ngcontent-ng-c4083184952]{font-size:1rem}.custom-max-height{max-height:98%}@media (max-height: 915px){.custom-max-height{max-height:94%}}@media (max-height: 805px){.custom-max-height{max-height:90%}}@media (max-height: 720px){.custom-max-height{max-height:85%}}.download-icon{font-size:20px;cursor:pointer;transition:transform .3s ease,color .3s ease}.download-icon:hover{color:#0f6cbd;transform:scale(1.2)}\n"] }]
|
|
9322
|
+
}], propDecorators: { totalRecords: [{
|
|
9323
|
+
type: Input
|
|
9324
|
+
}], visualizadorDocumentos: [{
|
|
9325
|
+
type: Input
|
|
9326
|
+
}], cardTemplate: [{
|
|
9327
|
+
type: Input
|
|
9328
|
+
}], contentTemplate: [{
|
|
9329
|
+
type: Input
|
|
9330
|
+
}], noDocumentSelectedTemplate: [{
|
|
9331
|
+
type: Input
|
|
9332
|
+
}], noDocumentListTemplate: [{
|
|
9333
|
+
type: Input
|
|
9334
|
+
}], onScrollHandler: [{
|
|
9335
|
+
type: Output
|
|
9336
|
+
}], onSelectFile: [{
|
|
9337
|
+
type: Output
|
|
9338
|
+
}] } });
|
|
9339
|
+
|
|
9340
|
+
class KvContentViewerModule {
|
|
9341
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvContentViewerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
9342
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.8", ngImport: i0, type: KvContentViewerModule, declarations: [KvContentViewerComponent], imports: [CommonModule,
|
|
9343
|
+
PdfViewerModule,
|
|
9344
|
+
KvFileViewerNovoModule,
|
|
9345
|
+
NgxLoadingModule], exports: [KvContentViewerComponent] }); }
|
|
9346
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvContentViewerModule, imports: [CommonModule,
|
|
9347
|
+
PdfViewerModule,
|
|
9348
|
+
KvFileViewerNovoModule,
|
|
9349
|
+
NgxLoadingModule] }); }
|
|
9350
|
+
}
|
|
9351
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvContentViewerModule, decorators: [{
|
|
9352
|
+
type: NgModule,
|
|
9353
|
+
args: [{
|
|
9354
|
+
declarations: [KvContentViewerComponent],
|
|
9355
|
+
imports: [
|
|
9356
|
+
CommonModule,
|
|
9357
|
+
PdfViewerModule,
|
|
9358
|
+
KvFileViewerNovoModule,
|
|
9359
|
+
NgxLoadingModule
|
|
9360
|
+
],
|
|
9361
|
+
exports: [KvContentViewerComponent]
|
|
9362
|
+
}]
|
|
9363
|
+
}] });
|
|
9364
|
+
|
|
9271
9365
|
class KvHomeCardComponent {
|
|
9272
9366
|
constructor() {
|
|
9273
9367
|
this.borderCalss = 'border-round-xl';
|
|
@@ -9327,5 +9421,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImpor
|
|
|
9327
9421
|
* Generated bundle index. Do not edit.
|
|
9328
9422
|
*/
|
|
9329
9423
|
|
|
9330
|
-
export { BaseApiService, BaseChartComponent, BaseComponent, BaseComponentButton, BaseComponentCrud, BaseComponentCrudForm, BaseComponentCrudList, BaseComponentDropDown, BaseComponentDropDownExternal, BaseComponentInput, BaseComponentMultiSelect, BasecomponentTable, BreadcrumbsService, CapitalizePipe, ChatService, ComponentProviders, ComponentService, CpfCnpjPipe, DocsService, DragDirective, DynamicInputDirective, FormService, ImageCutterService, ImagensService, KeevoComponentsModule, KeevoValidators, KvAvatarComponent, KvAvatarModule, KvButtonComponent, KvButtonModule, KvButtonPersonalizeComponent, KvButtonPopupComponent, KvButtonSecondaryComponent, KvButtonSuccessComponent, KvButtonsModule, KvCarouselComponent, KvCarouselModule, KvChartComponent, KvChartModule, KvCheckComponent, KvDropdownComponent, KvEditorComponent, KvErrorComponent, KvFileUploadComponent, KvFileUploadModule, KvFileViewerComponent, KvFileViewerModule, KvFileViewerNovoComponent, KvFileViewerNovoModule, KvFilterCardComponent, KvFilterCardModule, KvFilterFieldsetComponent, KvFilterFieldsetModule, KvGIconComponent, KvGIconModule, KvHomeCardComponent, KvHomeCardModule, KvImageUploadComponent, KvImageUploadModule, KvInputCalendarComponent, KvInputMaskComponent, KvInputNumberComponent, KvInputPasswordComponent, KvInputTextCheckboxComponent, KvInputTextComponent, KvInputTextareaComponent, KvInputTimeComponent, KvInputsModule, KvLayoutComponent, KvLayoutModule, KvLoaderComponent, KvLoaderModule, KvLoaderService, KvLoginComponent, KvLoginModule, KvModalComponent, KvModalModule, KvMultiSelectComponent, KvOrgchartComponent, KvOrgchartModule, KvPageFormComponent, KvPageFormModule, KvPageStepperComponent, KvPageStepperodule, KvPickListComponent, KvPickListModule, KvProgressBarModule, KvRadioGroupComponent, KvReportComponent, KvReportModule, KvSelectButtonComponent, KvSelectButtonsComponent, KvStepperComponent, KvStepperModule, KvSwitchComponent, KvTableComponent, KvTableEditComponent, KvTableEditModule, KvTableExpandableComponent, KvTableExpandableModule, KvTableModule, KvTreeViewComponent, KvTreetableComponent, KvTreetableModule, KvWorkspaceModule, KvtreeViewModule, MaskPipe, NotificationService, ObjectService, OrgChartService, PeriodosChart, PipesModule, PrimeNgModule, ProgressBarComponent, TablePaginate, TelefonePipe, TemplateDirective, TranslatePrimeng, WorkspaceComponent, getOrExecute, kvErrorModule, loading, mapToMenuItem };
|
|
9424
|
+
export { BaseApiService, BaseChartComponent, BaseComponent, BaseComponentButton, BaseComponentCrud, BaseComponentCrudForm, BaseComponentCrudList, BaseComponentDropDown, BaseComponentDropDownExternal, BaseComponentInput, BaseComponentMultiSelect, BasecomponentTable, BreadcrumbsService, CapitalizePipe, ChatService, ComponentProviders, ComponentService, CpfCnpjPipe, DocsService, DragDirective, DynamicInputDirective, FormService, ImageCutterService, ImagensService, KeevoComponentsModule, KeevoValidators, KvAvatarComponent, KvAvatarModule, KvButtonComponent, KvButtonModule, KvButtonPersonalizeComponent, KvButtonPopupComponent, KvButtonSecondaryComponent, KvButtonSuccessComponent, KvButtonsModule, KvCarouselComponent, KvCarouselModule, KvChartComponent, KvChartModule, KvCheckComponent, KvContentViewerComponent, KvContentViewerModule, KvDropdownComponent, KvEditorComponent, KvErrorComponent, KvFileUploadComponent, KvFileUploadModule, KvFileViewerComponent, KvFileViewerModule, KvFileViewerNovoComponent, KvFileViewerNovoModule, KvFilterCardComponent, KvFilterCardModule, KvFilterFieldsetComponent, KvFilterFieldsetModule, KvGIconComponent, KvGIconModule, KvHomeCardComponent, KvHomeCardModule, KvImageUploadComponent, KvImageUploadModule, KvInputCalendarComponent, KvInputMaskComponent, KvInputNumberComponent, KvInputPasswordComponent, KvInputTextCheckboxComponent, KvInputTextComponent, KvInputTextareaComponent, KvInputTimeComponent, KvInputsModule, KvLayoutComponent, KvLayoutModule, KvLoaderComponent, KvLoaderModule, KvLoaderService, KvLoginComponent, KvLoginModule, KvModalComponent, KvModalModule, KvMultiSelectComponent, KvOrgchartComponent, KvOrgchartModule, KvPageFormComponent, KvPageFormModule, KvPageStepperComponent, KvPageStepperodule, KvPickListComponent, KvPickListModule, KvProgressBarModule, KvRadioGroupComponent, KvReportComponent, KvReportModule, KvSelectButtonComponent, KvSelectButtonsComponent, KvStepperComponent, KvStepperModule, KvSwitchComponent, KvTableComponent, KvTableEditComponent, KvTableEditModule, KvTableExpandableComponent, KvTableExpandableModule, KvTableModule, KvTreeViewComponent, KvTreetableComponent, KvTreetableModule, KvWorkspaceModule, KvtreeViewModule, MaskPipe, NotificationService, ObjectService, OrgChartService, PeriodosChart, PipesModule, PrimeNgModule, ProgressBarComponent, TablePaginate, TelefonePipe, TemplateDirective, TranslatePrimeng, WorkspaceComponent, getOrExecute, kvErrorModule, loading, mapToMenuItem };
|
|
9331
9425
|
//# sourceMappingURL=keevo-components.mjs.map
|