appproject-framework 1.0.4 → 1.0.6

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']
@@ -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); font-size: 13px;\">{{ 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: "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); font-size: 13px;\">{{ 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: "17.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 @if (showIcon) {\n <ion-icon class=\"ion-padding-end\" [slot]=\"iconSlot\" [src]=\"iconSrc\" [name]=\"icon\"></ion-icon>\n }\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 @if (showIcon) {\n <ion-icon class=\"ion-padding-end\" [slot]=\"iconSlot\" [src]=\"iconSrc\" [name]=\"icon\"></ion-icon>\n }\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