appproject-framework 1.0.3 → 1.0.5

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.
@@ -2327,7 +2327,8 @@ class BaseInputComponent {
2327
2327
  placeholder = '';
2328
2328
  /** Referência ao form que contém o input (reactive forms) */
2329
2329
  form;
2330
- //@Input() campo: string = 'Campo';
2330
+ /** Nome do campo do form (reactive forms) */
2331
+ campo = 'Campo';
2331
2332
  /** Nome do campo do form (reactive forms) */
2332
2333
  formControlName = 'Campo';
2333
2334
  /** Tamanho máximo do input */
@@ -2383,7 +2384,7 @@ class BaseInputComponent {
2383
2384
  }
2384
2385
  }
2385
2386
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: BaseInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2386
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.1", type: BaseInputComponent, isStandalone: true, selector: "ng-component", inputs: { label: "label", tabindex: "tabindex", labelPosition: "labelPosition", validationClass: "validationClass", debounce: "debounce", placeholder: "placeholder", form: "form", formControlName: "formControlName", max: "max", validation_messages: "validation_messages", type: "type", readonly: "readonly", itemClass: "itemClass", botaoLimpar: "botaoLimpar", labelColor: "labelColor", inputBackgroungColor: "inputBackgroungColor", showObrigatorio: "showObrigatorio", fontSize: "fontSize", icon: "icon", iconSrc: "iconSrc", fill: "fill", mode: "mode", classic: "classic", blurArgs: "blurArgs", showSeeCopy: "showSeeCopy", focusField: "focusField", campoFoco: "campoFoco", shape: "shape" }, outputs: { blur: "blur" }, ngImport: i0, template: '', isInline: true });
2387
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.1", type: BaseInputComponent, isStandalone: true, selector: "ng-component", inputs: { label: "label", tabindex: "tabindex", labelPosition: "labelPosition", validationClass: "validationClass", debounce: "debounce", placeholder: "placeholder", form: "form", campo: "campo", formControlName: "formControlName", max: "max", validation_messages: "validation_messages", type: "type", readonly: "readonly", itemClass: "itemClass", botaoLimpar: "botaoLimpar", labelColor: "labelColor", inputBackgroungColor: "inputBackgroungColor", showObrigatorio: "showObrigatorio", fontSize: "fontSize", icon: "icon", iconSrc: "iconSrc", fill: "fill", mode: "mode", classic: "classic", blurArgs: "blurArgs", showSeeCopy: "showSeeCopy", focusField: "focusField", campoFoco: "campoFoco", shape: "shape" }, outputs: { blur: "blur" }, ngImport: i0, template: '', isInline: true });
2387
2388
  }
2388
2389
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: BaseInputComponent, decorators: [{
2389
2390
  type: Component,
@@ -2404,6 +2405,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImpor
2404
2405
  type: Input
2405
2406
  }], form: [{
2406
2407
  type: Input
2408
+ }], campo: [{
2409
+ type: Input
2407
2410
  }], formControlName: [{
2408
2411
  type: Input,
2409
2412
  args: ['formControlName']
@@ -4809,17 +4812,17 @@ class InputHtmlComponent extends BaseInputComponent {
4809
4812
  // }
4810
4813
  //const texto = editor.getData();
4811
4814
  const texto = data;
4812
- console.log('write value', texto);
4815
+ //console.log('write value', texto);
4813
4816
  this.onChange(texto);
4814
4817
  if (atualizar) {
4815
4818
  this.data = texto;
4816
4819
  }
4817
4820
  }
4818
4821
  blurEditor({ editor }) {
4819
- console.log('blur', editor);
4822
+ //console.log('blur', editor);
4820
4823
  }
4821
4824
  blurItem() {
4822
- console.log('blur', this.inputEmail);
4825
+ //console.log('blur', this.inputEmail);
4823
4826
  }
4824
4827
  // writeValue(): void {
4825
4828
  // //Converte o valor corretamente de acordo com o tipo de input
@@ -4853,7 +4856,7 @@ class InputHtmlComponent extends BaseInputComponent {
4853
4856
  }
4854
4857
  entered() {
4855
4858
  //adicionar classe ao ion-item, não funcionou
4856
- console.log('input focused');
4859
+ //console.log('input focused');
4857
4860
  }
4858
4861
  //configuração do CKEditor
4859
4862
  configurarCKEditor() {
@@ -5125,7 +5128,7 @@ class InputHtmlComponent extends BaseInputComponent {
5125
5128
  useExisting: InputHtmlComponent,
5126
5129
  multi: true,
5127
5130
  },
5128
- ], viewQueries: [{ propertyName: "inputEmail", first: true, predicate: ["inputEmail"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div [class]=\"{ 'input-text-padding': !classic }\">\n <ion-item #itemInput lines=\"none\" (ionBlur)=\"blurItem()\"\n style=\" --background: inherited; --background-focused: transparent; padding-right: 0px; overflow: visible;\"\n [class]=\"itemClass + ' classic' + ' item-text-wrap'\"\n [ngClass]=\"form?.get(formControlName)?.errors && (form?.get(formControlName)?.dirty || form?.get(formControlName)?.touched) ? 'error-shake' : '' \">\n @if (label) {\n <ion-label style=\"color: var(--input-label-color);\" position=\"stacked\">{{ label }}</ion-label>\n }\n @if (Editor) {\n <ckeditor #inputEmail class=\"ckeditor-form\" [data]=\"data\" [editor]=\"Editor\" [config]=\"config\" (change)=\"writeValue($event.editor.getData(), false)\" (blur)=\"blurEditor($event)\"></ckeditor>\n }\n </ion-item>\n</div>", styles: [".ckeditor-form{margin-top:8px;width:100%;z-index:800}.ck-editor__editable_inline{min-height:400px!important}.ck-editor__main{min-height:400px}.ck-editor__editable{min-height:400px!important;max-height:600px!important;overflow-y:auto!important}\n", "@charset \"UTF-8\";@keyframes shake{0%{transform:translate(20px)}20%{transform:translate(-20px)}40%{transform:translate(10px)}60%{transform:translate(-10px)}80%{transform:translate(4px)}to{transform:translate(0)}}.error-input ion-label,.error-shake ion-label{color:red!important}.error-input ion-input,.error-shake ion-input{border:1px solid red!important}.error-shake ion-input{animation:shake .4s 1 linear}.error-shake-modern{--border-color: var(--input-color-error, red) !important;--color: var(--input-color-error, red) !important;--highlight-color-focused: var(--input-color-error, red) !important;animation:shake .4s 1 linear}.validation-errors{margin-top:4px}ion-label{margin-bottom:var(--label-margin-bottom, 2px)!important;color:var(--label-color, initial)!important}ion-item ion-label{overflow:initial!important}ion-input{text-align:var(--input-text-align, start)}.classic ion-input{background:var(--input-color, white);padding-left:2px!important;border:1px solid darkgray;border-radius:4px;width:100%;margin-top:2px;max-height:30px;min-height:var(--input-min-height, 30px);transition:.2s ease;color:var(--input-font-color, black)}ion-input.modern{--border-color: var(--input-border-color, darkgray);--color: var(--input-font-color, black);--highlight-color-focused: var(--input-highlight-color, #537bc7)}ion-textarea.modern{--border-color: darkgray;--border-color-focused: #00ff00;--border-color-hover: yellow;--color: var(--input-font-color, black);--highlight-color-focused: var(--input-higlight-color, #537bc7);--input-focus-border-color: transparent}.input-text-padding{padding-bottom:var(--input-text-padding-bottom, var(--input-text-default-padding, 16px));padding-left:var(--input-text-padding-left, var(--input-text-default-padding, 16px));padding-right:var(--input-text-padding-right, var(--input-text-default-padding, 16px))}.classic .has-focus{border:1px solid var(--input-focus-border-color, skyblue)!important}.item-has-focus ion-label{color:var(--label-focus-color, blue)!important}.no-padding-end{--inner-padding-end: 0}.no-padding-start{--padding-start: 0px}.item-inner{padding-right:0!important}.padding{padding:auto;padding-left:0}.no-padding{--inner-padding-end: 0px;--padding-start: 0px !important;--padding-bottom: 0px;--inner-padding-bottom: 0px;height:auto!important;--min-height: auto !important}.no-padding-no-height{--inner-padding-end: 0px;--padding-start: 0px;--padding-bottom: 0px;--inner-padding-bottom: 0px}.padding-top{--padding-top: 0px}.input-login{height:36px}.modal-editar ion-label{min-width:80px}.modal-vldt-editar{margin-left:80px}.label-right ion-label{transform-origin:right top;align-self:flex-end;margin-bottom:4%!important}.align-to-right ion-label{position:relative;left:25%;text-align:end}.error-message{font-size:small;color:var(--input-color-error, rgb(212, 79, 79));margin-left:15px}.item-interactive-disabled ion-label{opacity:var(--item-disabled-opacity, .6)}.native-input[disabled]{opacity:.6!important;background-color:transparent}.item-label-stacked{--min-height: auto}.tipObrigatorio{opacity:.4}[hidden]{display:none!important}\n"], dependencies: [{ kind: "component", type: IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "component", type: IonItem, selector: "ion-item", inputs: ["button", "color", "detail", "detailIcon", "disabled", "download", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: CKEditorModule }, { kind: "component", type: i1$4.CKEditorComponent, selector: "ckeditor", inputs: ["editor", "config", "data", "tagName", "watchdog", "editorWatchdogConfig", "disableWatchdog", "disableTwoWayDataBinding", "disabled"], outputs: ["ready", "change", "blur", "focus", "error"] }] });
5131
+ ], viewQueries: [{ propertyName: "inputEmail", first: true, predicate: ["inputEmail"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div [class]=\"{ 'input-text-padding': !classic }\">\r\n <!-- <ion-item #itemInput lines=\"none\" (ionBlur)=\"blurItem()\"\r\n style=\" --background: inherited; --background-focused: transparent; padding-right: 0px; overflow: visible;\"\r\n [class]=\"itemClass + ' classic' + ' item-text-wrap'\"\r\n [ngClass]=\"form?.get(formControlName)?.errors && (form?.get(formControlName)?.dirty || form?.get(formControlName)?.touched) ? 'error-shake' : '' \"> -->\r\n @if (label) {\r\n <ion-label style=\"color: var(--input-label-color); font-size: 13px;\">{{ label }}</ion-label>\r\n }\r\n @if (Editor) {\r\n <ckeditor #inputEmail class=\"ckeditor-form\" [data]=\"data\" [editor]=\"Editor\" [config]=\"config\" (change)=\"writeValue($event.editor.getData(), false)\" (blur)=\"blurEditor($event)\"></ckeditor>\r\n }\r\n <!-- </ion-item> -->\r\n</div>", styles: [".ckeditor-form{margin-top:8px;width:100%;z-index:800}.ck-editor__editable_inline{min-height:400px!important}.ck-editor__main{min-height:400px}.ck-editor__editable{min-height:400px!important;max-height:600px!important;overflow-y:auto!important}\n", "@charset \"UTF-8\";@keyframes shake{0%{transform:translate(20px)}20%{transform:translate(-20px)}40%{transform:translate(10px)}60%{transform:translate(-10px)}80%{transform:translate(4px)}to{transform:translate(0)}}.error-input ion-label,.error-shake ion-label{color:red!important}.error-input ion-input,.error-shake ion-input{border:1px solid red!important}.error-shake ion-input{animation:shake .4s 1 linear}.error-shake-modern{--border-color: var(--input-color-error, red) !important;--color: var(--input-color-error, red) !important;--highlight-color-focused: var(--input-color-error, red) !important;animation:shake .4s 1 linear}.validation-errors{margin-top:4px}ion-label{margin-bottom:var(--label-margin-bottom, 2px)!important;color:var(--label-color, initial)!important}ion-item ion-label{overflow:initial!important}ion-input{text-align:var(--input-text-align, start)}.classic ion-input{background:var(--input-color, white);padding-left:2px!important;border:1px solid darkgray;border-radius:4px;width:100%;margin-top:2px;max-height:30px;min-height:var(--input-min-height, 30px);transition:.2s ease;color:var(--input-font-color, black)}ion-input.modern{--border-color: var(--input-border-color, darkgray);--color: var(--input-font-color, black);--highlight-color-focused: var(--input-highlight-color, #537bc7)}ion-textarea.modern{--border-color: darkgray;--border-color-focused: #00ff00;--border-color-hover: yellow;--color: var(--input-font-color, black);--highlight-color-focused: var(--input-higlight-color, #537bc7);--input-focus-border-color: transparent}.input-text-padding{padding-bottom:var(--input-text-padding-bottom, var(--input-text-default-padding, 16px));padding-left:var(--input-text-padding-left, var(--input-text-default-padding, 16px));padding-right:var(--input-text-padding-right, var(--input-text-default-padding, 16px))}.classic .has-focus{border:1px solid var(--input-focus-border-color, skyblue)!important}.item-has-focus ion-label{color:var(--label-focus-color, blue)!important}.no-padding-end{--inner-padding-end: 0}.no-padding-start{--padding-start: 0px}.item-inner{padding-right:0!important}.padding{padding:auto;padding-left:0}.no-padding{--inner-padding-end: 0px;--padding-start: 0px !important;--padding-bottom: 0px;--inner-padding-bottom: 0px;height:auto!important;--min-height: auto !important}.no-padding-no-height{--inner-padding-end: 0px;--padding-start: 0px;--padding-bottom: 0px;--inner-padding-bottom: 0px}.padding-top{--padding-top: 0px}.input-login{height:36px}.modal-editar ion-label{min-width:80px}.modal-vldt-editar{margin-left:80px}.label-right ion-label{transform-origin:right top;align-self:flex-end;margin-bottom:4%!important}.align-to-right ion-label{position:relative;left:25%;text-align:end}.error-message{font-size:small;color:var(--input-color-error, rgb(212, 79, 79));margin-left:15px}.item-interactive-disabled ion-label{opacity:var(--item-disabled-opacity, .6)}.native-input[disabled]{opacity:.6!important;background-color:transparent}.item-label-stacked{--min-height: auto}.tipObrigatorio{opacity:.4}[hidden]{display:none!important}\n"], dependencies: [{ kind: "component", type: IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "ngmodule", type: CKEditorModule }, { kind: "component", type: i1$4.CKEditorComponent, selector: "ckeditor", inputs: ["editor", "config", "data", "tagName", "watchdog", "editorWatchdogConfig", "disableWatchdog", "disableTwoWayDataBinding", "disabled"], outputs: ["ready", "change", "blur", "focus", "error"] }] });
5129
5132
  }
5130
5133
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: InputHtmlComponent, decorators: [{
5131
5134
  type: Component,
@@ -5135,12 +5138,165 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImpor
5135
5138
  useExisting: InputHtmlComponent,
5136
5139
  multi: true,
5137
5140
  },
5138
- ], template: "<div [class]=\"{ 'input-text-padding': !classic }\">\n <ion-item #itemInput lines=\"none\" (ionBlur)=\"blurItem()\"\n style=\" --background: inherited; --background-focused: transparent; padding-right: 0px; overflow: visible;\"\n [class]=\"itemClass + ' classic' + ' item-text-wrap'\"\n [ngClass]=\"form?.get(formControlName)?.errors && (form?.get(formControlName)?.dirty || form?.get(formControlName)?.touched) ? 'error-shake' : '' \">\n @if (label) {\n <ion-label style=\"color: var(--input-label-color);\" position=\"stacked\">{{ label }}</ion-label>\n }\n @if (Editor) {\n <ckeditor #inputEmail class=\"ckeditor-form\" [data]=\"data\" [editor]=\"Editor\" [config]=\"config\" (change)=\"writeValue($event.editor.getData(), false)\" (blur)=\"blurEditor($event)\"></ckeditor>\n }\n </ion-item>\n</div>", styles: [".ckeditor-form{margin-top:8px;width:100%;z-index:800}.ck-editor__editable_inline{min-height:400px!important}.ck-editor__main{min-height:400px}.ck-editor__editable{min-height:400px!important;max-height:600px!important;overflow-y:auto!important}\n", "@charset \"UTF-8\";@keyframes shake{0%{transform:translate(20px)}20%{transform:translate(-20px)}40%{transform:translate(10px)}60%{transform:translate(-10px)}80%{transform:translate(4px)}to{transform:translate(0)}}.error-input ion-label,.error-shake ion-label{color:red!important}.error-input ion-input,.error-shake ion-input{border:1px solid red!important}.error-shake ion-input{animation:shake .4s 1 linear}.error-shake-modern{--border-color: var(--input-color-error, red) !important;--color: var(--input-color-error, red) !important;--highlight-color-focused: var(--input-color-error, red) !important;animation:shake .4s 1 linear}.validation-errors{margin-top:4px}ion-label{margin-bottom:var(--label-margin-bottom, 2px)!important;color:var(--label-color, initial)!important}ion-item ion-label{overflow:initial!important}ion-input{text-align:var(--input-text-align, start)}.classic ion-input{background:var(--input-color, white);padding-left:2px!important;border:1px solid darkgray;border-radius:4px;width:100%;margin-top:2px;max-height:30px;min-height:var(--input-min-height, 30px);transition:.2s ease;color:var(--input-font-color, black)}ion-input.modern{--border-color: var(--input-border-color, darkgray);--color: var(--input-font-color, black);--highlight-color-focused: var(--input-highlight-color, #537bc7)}ion-textarea.modern{--border-color: darkgray;--border-color-focused: #00ff00;--border-color-hover: yellow;--color: var(--input-font-color, black);--highlight-color-focused: var(--input-higlight-color, #537bc7);--input-focus-border-color: transparent}.input-text-padding{padding-bottom:var(--input-text-padding-bottom, var(--input-text-default-padding, 16px));padding-left:var(--input-text-padding-left, var(--input-text-default-padding, 16px));padding-right:var(--input-text-padding-right, var(--input-text-default-padding, 16px))}.classic .has-focus{border:1px solid var(--input-focus-border-color, skyblue)!important}.item-has-focus ion-label{color:var(--label-focus-color, blue)!important}.no-padding-end{--inner-padding-end: 0}.no-padding-start{--padding-start: 0px}.item-inner{padding-right:0!important}.padding{padding:auto;padding-left:0}.no-padding{--inner-padding-end: 0px;--padding-start: 0px !important;--padding-bottom: 0px;--inner-padding-bottom: 0px;height:auto!important;--min-height: auto !important}.no-padding-no-height{--inner-padding-end: 0px;--padding-start: 0px;--padding-bottom: 0px;--inner-padding-bottom: 0px}.padding-top{--padding-top: 0px}.input-login{height:36px}.modal-editar ion-label{min-width:80px}.modal-vldt-editar{margin-left:80px}.label-right ion-label{transform-origin:right top;align-self:flex-end;margin-bottom:4%!important}.align-to-right ion-label{position:relative;left:25%;text-align:end}.error-message{font-size:small;color:var(--input-color-error, rgb(212, 79, 79));margin-left:15px}.item-interactive-disabled ion-label{opacity:var(--item-disabled-opacity, .6)}.native-input[disabled]{opacity:.6!important;background-color:transparent}.item-label-stacked{--min-height: auto}.tipObrigatorio{opacity:.4}[hidden]{display:none!important}\n"] }]
5141
+ ], template: "<div [class]=\"{ 'input-text-padding': !classic }\">\r\n <!-- <ion-item #itemInput lines=\"none\" (ionBlur)=\"blurItem()\"\r\n style=\" --background: inherited; --background-focused: transparent; padding-right: 0px; overflow: visible;\"\r\n [class]=\"itemClass + ' classic' + ' item-text-wrap'\"\r\n [ngClass]=\"form?.get(formControlName)?.errors && (form?.get(formControlName)?.dirty || form?.get(formControlName)?.touched) ? 'error-shake' : '' \"> -->\r\n @if (label) {\r\n <ion-label style=\"color: var(--input-label-color); font-size: 13px;\">{{ label }}</ion-label>\r\n }\r\n @if (Editor) {\r\n <ckeditor #inputEmail class=\"ckeditor-form\" [data]=\"data\" [editor]=\"Editor\" [config]=\"config\" (change)=\"writeValue($event.editor.getData(), false)\" (blur)=\"blurEditor($event)\"></ckeditor>\r\n }\r\n <!-- </ion-item> -->\r\n</div>", styles: [".ckeditor-form{margin-top:8px;width:100%;z-index:800}.ck-editor__editable_inline{min-height:400px!important}.ck-editor__main{min-height:400px}.ck-editor__editable{min-height:400px!important;max-height:600px!important;overflow-y:auto!important}\n", "@charset \"UTF-8\";@keyframes shake{0%{transform:translate(20px)}20%{transform:translate(-20px)}40%{transform:translate(10px)}60%{transform:translate(-10px)}80%{transform:translate(4px)}to{transform:translate(0)}}.error-input ion-label,.error-shake ion-label{color:red!important}.error-input ion-input,.error-shake ion-input{border:1px solid red!important}.error-shake ion-input{animation:shake .4s 1 linear}.error-shake-modern{--border-color: var(--input-color-error, red) !important;--color: var(--input-color-error, red) !important;--highlight-color-focused: var(--input-color-error, red) !important;animation:shake .4s 1 linear}.validation-errors{margin-top:4px}ion-label{margin-bottom:var(--label-margin-bottom, 2px)!important;color:var(--label-color, initial)!important}ion-item ion-label{overflow:initial!important}ion-input{text-align:var(--input-text-align, start)}.classic ion-input{background:var(--input-color, white);padding-left:2px!important;border:1px solid darkgray;border-radius:4px;width:100%;margin-top:2px;max-height:30px;min-height:var(--input-min-height, 30px);transition:.2s ease;color:var(--input-font-color, black)}ion-input.modern{--border-color: var(--input-border-color, darkgray);--color: var(--input-font-color, black);--highlight-color-focused: var(--input-highlight-color, #537bc7)}ion-textarea.modern{--border-color: darkgray;--border-color-focused: #00ff00;--border-color-hover: yellow;--color: var(--input-font-color, black);--highlight-color-focused: var(--input-higlight-color, #537bc7);--input-focus-border-color: transparent}.input-text-padding{padding-bottom:var(--input-text-padding-bottom, var(--input-text-default-padding, 16px));padding-left:var(--input-text-padding-left, var(--input-text-default-padding, 16px));padding-right:var(--input-text-padding-right, var(--input-text-default-padding, 16px))}.classic .has-focus{border:1px solid var(--input-focus-border-color, skyblue)!important}.item-has-focus ion-label{color:var(--label-focus-color, blue)!important}.no-padding-end{--inner-padding-end: 0}.no-padding-start{--padding-start: 0px}.item-inner{padding-right:0!important}.padding{padding:auto;padding-left:0}.no-padding{--inner-padding-end: 0px;--padding-start: 0px !important;--padding-bottom: 0px;--inner-padding-bottom: 0px;height:auto!important;--min-height: auto !important}.no-padding-no-height{--inner-padding-end: 0px;--padding-start: 0px;--padding-bottom: 0px;--inner-padding-bottom: 0px}.padding-top{--padding-top: 0px}.input-login{height:36px}.modal-editar ion-label{min-width:80px}.modal-vldt-editar{margin-left:80px}.label-right ion-label{transform-origin:right top;align-self:flex-end;margin-bottom:4%!important}.align-to-right ion-label{position:relative;left:25%;text-align:end}.error-message{font-size:small;color:var(--input-color-error, rgb(212, 79, 79));margin-left:15px}.item-interactive-disabled ion-label{opacity:var(--item-disabled-opacity, .6)}.native-input[disabled]{opacity:.6!important;background-color:transparent}.item-label-stacked{--min-height: auto}.tipObrigatorio{opacity:.4}[hidden]{display:none!important}\n"] }]
5139
5142
  }], ctorParameters: () => [], propDecorators: { inputEmail: [{
5140
5143
  type: ViewChild,
5141
5144
  args: ["inputEmail", { static: false }]
5142
5145
  }] } });
5143
5146
 
5147
+ class InputArquivoComponent {
5148
+ //@Input() disabled: boolean = false;
5149
+ //para upload automático
5150
+ pasta = "";
5151
+ nomeArquivo = "";
5152
+ subir = false;
5153
+ callback = new EventEmitter();
5154
+ caption = "Selecionar arquivo";
5155
+ tipoArquivo = "image/*";
5156
+ fileSelected = new EventEmitter();
5157
+ form = false;
5158
+ showIcon = false;
5159
+ icon = "cloud-upload-outline";
5160
+ iconSrc = ""; ///assets/icon/image_primary_24dp.svg
5161
+ btnExpand = "block";
5162
+ btnColor = "primary";
5163
+ btnFill = "outline";
5164
+ iconSlot = "start";
5165
+ arquivoTipos = "image/*";
5166
+ readOnly = false;
5167
+ //imagem
5168
+ myInput;
5169
+ captureDataUrl = "";
5170
+ formFile;
5171
+ sucessoEvent = new Subject();
5172
+ data = "";
5173
+ filename = "";
5174
+ onChange = (selectedColor) => { };
5175
+ onTouch = () => { };
5176
+ disabled = false;
5177
+ showImageBrowser() {
5178
+ this.myInput.nativeElement.click();
5179
+ }
5180
+ writeValue(value) {
5181
+ this.onChange(value);
5182
+ this.data = value;
5183
+ if (this.callback)
5184
+ this.callback.emit(this.filename);
5185
+ }
5186
+ registerOnChange(fn) {
5187
+ this.onChange = fn;
5188
+ }
5189
+ registerOnTouched(fn) {
5190
+ this.onTouch = fn;
5191
+ }
5192
+ setDisabledState(isDisabled) {
5193
+ this.disabled = this.disabled;
5194
+ }
5195
+ constructor() {
5196
+ }
5197
+ ngOnInit() {
5198
+ }
5199
+ loadImagem() {
5200
+ //console.log(this.myInput);
5201
+ this.formFile = this.myInput.nativeElement.files[0];
5202
+ if (this.fileSelected) {
5203
+ this.fileSelected.emit({ content: this.formFile, name: this.myInput.nativeElement.files[0].name });
5204
+ }
5205
+ if (this.form) {
5206
+ //this.formFile = this.myInput.nativeElement.files[0];
5207
+ this.sucessoEvent.next(true);
5208
+ }
5209
+ else {
5210
+ //this.formFile = this.myInput.nativeElement.files[0];
5211
+ this.getBase64FromFile(this.myInput.nativeElement.files[0])
5212
+ .then((result) => {
5213
+ //console.log('file: ', result.toString());
5214
+ //console.log('nome do arquivo: ', this.nomeArquivo.toLowerCase());
5215
+ let searchstr = result.toString().substring(0, result.toString().indexOf('base64,')) + 'base64,';
5216
+ console.log('searchstring', searchstr);
5217
+ if (this.subir) {
5218
+ this.captureDataUrl = result.toString().replace(searchstr, '');
5219
+ }
5220
+ else {
5221
+ this.captureDataUrl = result.toString();
5222
+ }
5223
+ //this.utils.showToast('Imagem carregada em memória.');
5224
+ this.sucessoEvent.next(true);
5225
+ //console.log('file', this.myInput.nativeElement.files[0]);
5226
+ this.filename = this.myInput.nativeElement.files[0].name;
5227
+ this.writeValue(this.captureDataUrl);
5228
+ // if (this.nomeArquivo && this.subir) {
5229
+ // this.arquivoService.setImagem({ Nome: this.nomeArquivo, Conteudo: this.captureDataUrl, Status: 0, Pasta: this.pasta })
5230
+ // .subscribe(result => {
5231
+ // console.log('result set imagem', result);
5232
+ // if (result.Status == 200) {
5233
+ // this.utils.showToast('Sucesso!');
5234
+ // } else {
5235
+ // this.utils.showAlert('Erro. Tente mais tarde.' + result.Conteudo);
5236
+ // }
5237
+ // }, error => {
5238
+ // this.utils.showAlert('Erro. Tente mais tarde.');
5239
+ // })
5240
+ // }
5241
+ }).catch(error => {
5242
+ this.sucessoEvent.next(false);
5243
+ });
5244
+ }
5245
+ }
5246
+ //util
5247
+ getBase64FromFile(file) {
5248
+ return new Promise((resolve, reject) => {
5249
+ const reader = new FileReader();
5250
+ reader.readAsDataURL(file);
5251
+ reader.onload = () => resolve(reader.result);
5252
+ reader.onerror = error => reject(error);
5253
+ });
5254
+ }
5255
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: InputArquivoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5256
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.1", type: InputArquivoComponent, isStandalone: true, selector: "kb-input-arquivo", inputs: { pasta: "pasta", nomeArquivo: "nomeArquivo", subir: "subir", callback: "callback", caption: "caption", tipoArquivo: "tipoArquivo", form: "form", showIcon: "showIcon", icon: "icon", iconSrc: "iconSrc", btnExpand: "btnExpand", btnColor: "btnColor", btnFill: "btnFill", iconSlot: "iconSlot", arquivoTipos: "arquivoTipos", readOnly: "readOnly" }, outputs: { fileSelected: "fileSelected" }, viewQueries: [{ propertyName: "myInput", first: true, predicate: ["inputNome"], descendants: true, read: ElementRef, static: true }], ngImport: i0, template: "<div style=\"text-align:center;\">\n <ion-button [fill]=\"btnFill\" size=\"normal\" [color]=\"btnColor\" (click)=\"showImageBrowser()\" [expand]=\"btnExpand\"\n [disabled]=\"readOnly\">\n <ion-icon *ngIf=\"showIcon\" class=\"ion-padding-end\" [slot]=\"iconSlot\" [src]=\"iconSrc\" [name]=\"icon\"></ion-icon>\n {{ caption }}\n </ion-button>\n <input type=\"file\" id=\"upimgfile\" name=\"uploadfile\" #inputNome [accept]=\"arquivoTipos\" (change)=\"loadImagem()\"\n style=\"display: none;\" />\n</div>", styles: [""], dependencies: [{ kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }] });
5257
+ }
5258
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: InputArquivoComponent, decorators: [{
5259
+ type: Component,
5260
+ args: [{ selector: 'kb-input-arquivo', imports: [IonIcon, IonButton,], template: "<div style=\"text-align:center;\">\n <ion-button [fill]=\"btnFill\" size=\"normal\" [color]=\"btnColor\" (click)=\"showImageBrowser()\" [expand]=\"btnExpand\"\n [disabled]=\"readOnly\">\n <ion-icon *ngIf=\"showIcon\" class=\"ion-padding-end\" [slot]=\"iconSlot\" [src]=\"iconSrc\" [name]=\"icon\"></ion-icon>\n {{ caption }}\n </ion-button>\n <input type=\"file\" id=\"upimgfile\" name=\"uploadfile\" #inputNome [accept]=\"arquivoTipos\" (change)=\"loadImagem()\"\n style=\"display: none;\" />\n</div>" }]
5261
+ }], ctorParameters: () => [], propDecorators: { pasta: [{
5262
+ type: Input
5263
+ }], nomeArquivo: [{
5264
+ type: Input
5265
+ }], subir: [{
5266
+ type: Input
5267
+ }], callback: [{
5268
+ type: Input
5269
+ }], caption: [{
5270
+ type: Input
5271
+ }], tipoArquivo: [{
5272
+ type: Input
5273
+ }], fileSelected: [{
5274
+ type: Output
5275
+ }], form: [{
5276
+ type: Input
5277
+ }], showIcon: [{
5278
+ type: Input
5279
+ }], icon: [{
5280
+ type: Input
5281
+ }], iconSrc: [{
5282
+ type: Input
5283
+ }], btnExpand: [{
5284
+ type: Input
5285
+ }], btnColor: [{
5286
+ type: Input
5287
+ }], btnFill: [{
5288
+ type: Input
5289
+ }], iconSlot: [{
5290
+ type: Input
5291
+ }], arquivoTipos: [{
5292
+ type: Input
5293
+ }], readOnly: [{
5294
+ type: Input
5295
+ }], myInput: [{
5296
+ type: ViewChild,
5297
+ args: ['inputNome', { read: ElementRef, static: true }]
5298
+ }] } });
5299
+
5144
5300
  class BaseBtnComponent {
5145
5301
  disabled = false;
5146
5302
  type = 'submit';
@@ -5404,5 +5560,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImpor
5404
5560
  * Generated bundle index. Do not edit.
5405
5561
  */
5406
5562
 
5407
- export { AppprojectFramework, BaseCadastro, BaseInputComponent, BaseModel, BasePage, BtnActionComponent, BtnCancelarComponent, BtnExcluirComponent, BtnNovoComponent, BtnRoundedComponent, BtnSalvarComponent, CadastroService, DataService, Dominio, EntityEditComponent, EventoCadastro, EventoFoco, GridColuna, GridFiltroValor, GridTabela, GridViewComponent, HtmlCampo, HtmlRow, InputAreaComponent, InputCepComponent, InputCheckboxComponent, InputFormatComponent, InputHtmlComponent, InputPesquisaComponent, InputRadioComponent, InputSelectComponent, InputTextComponent, InputValorComponent, Intervalo, LibConfigService, LibService, NomePipe, PageResult, PeriodoIntervaloComponent, PesquisaCampo, SafeHtmlPipe, TituloComponent, Tree, UtilsGeralService, UtilsService, ValorFormatPipe, email, formatted, getEmail, getFormatted, getIgnore, getLabel, getMax, getMaxLength, getMin, getMinLength, getPattern, getPlaceholder, getPosicao, getReadOnly, getRequired, getTipo, ignore, label, max, maxLength, min, minLength, pattern, placeholder, posicao, readOnly, required, tipo };
5563
+ export { AppprojectFramework, BaseCadastro, BaseInputComponent, BaseModel, BasePage, BtnActionComponent, BtnCancelarComponent, BtnExcluirComponent, BtnNovoComponent, BtnRoundedComponent, BtnSalvarComponent, CadastroService, DataService, Dominio, EntityEditComponent, EventoCadastro, EventoFoco, GridColuna, GridFiltroValor, GridTabela, GridViewComponent, HtmlCampo, HtmlRow, InputAreaComponent, InputArquivoComponent, InputCepComponent, InputCheckboxComponent, InputFormatComponent, InputHtmlComponent, InputPesquisaComponent, InputRadioComponent, InputSelectComponent, InputTextComponent, InputValorComponent, Intervalo, LibConfigService, LibService, NomePipe, PageResult, PeriodoIntervaloComponent, PesquisaCampo, SafeHtmlPipe, TituloComponent, Tree, UtilsGeralService, UtilsService, ValorFormatPipe, email, formatted, getEmail, getFormatted, getIgnore, getLabel, getMax, getMaxLength, getMin, getMinLength, getPattern, getPlaceholder, getPosicao, getReadOnly, getRequired, getTipo, ignore, label, max, maxLength, min, minLength, pattern, placeholder, posicao, readOnly, required, tipo };
5408
5564
  //# sourceMappingURL=appproject-framework.mjs.map