@sankhyalabs/ezui 0.0.0-bugfix-dev-KB-59008.1 → 0.0.0-bugfix-dev-KB-60107.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -35,6 +35,8 @@ export declare class EzCustomFormInput {
35
35
  */
36
36
  isInvalid(): Promise<boolean>;
37
37
  private getContent;
38
+ private setValue;
39
+ private getValue;
38
40
  private handleValue;
39
41
  componentWillRender(): void;
40
42
  render(): any;
@@ -194,6 +194,10 @@ export interface EzGridOptions {
194
194
  * Mapa de formatadores customizados por coluna.
195
195
  */
196
196
  customFormatters: Map<string, ICustomFormatter>;
197
+ /**
198
+ * Define se a grid será focada ao ser carregada.
199
+ */
200
+ autoFocus: boolean;
197
201
  }
198
202
  /**
199
203
  * Representa cada coluna da grade.
@@ -90,6 +90,10 @@ export declare class EzGrid {
90
90
  * Define se a edição está habilitada na grid.
91
91
  */
92
92
  canEdit: boolean;
93
+ /**
94
+ * Define se a grid será focada ao ser carregada.
95
+ */
96
+ autoFocus?: boolean;
93
97
  /**
94
98
  * Aplica a definição de colunas.
95
99
  */
@@ -796,6 +796,10 @@ export namespace Components {
796
796
  * Registra um render customizado para colunas da grid.
797
797
  */
798
798
  "addGridCustomRender": (fieldName: string, customRender: ICustomRender, detailContext?: string) => Promise<void>;
799
+ /**
800
+ * Define se a grid será focada ao ser carregada.
801
+ */
802
+ "autoFocus"?: boolean;
799
803
  /**
800
804
  * Define se a edição está habilitada na grid.
801
805
  */
@@ -3043,6 +3047,10 @@ declare namespace LocalJSX {
3043
3047
  "onFormItemsReady"?: (event: EzFormViewCustomEvent<FormItems>) => void;
3044
3048
  }
3045
3049
  interface EzGrid {
3050
+ /**
3051
+ * Define se a grid será focada ao ser carregada.
3052
+ */
3053
+ "autoFocus"?: boolean;
3046
3054
  /**
3047
3055
  * Define se a edição está habilitada na grid.
3048
3056
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sankhyalabs/ezui",
3
- "version": "0.0.0-bugfix-dev-KB-59008.1",
3
+ "version": "0.0.0-bugfix-dev-KB-60107.0",
4
4
  "description": "Biblioteca de componentes Sankhya.",
5
5
  "main": "dist/index.cjs.js",
6
6
  "module": "dist/custom-elements/index.js",
@@ -1 +0,0 @@
1
- import{h as e,r as a,c as t,g as l,H as n}from"./p-23a36bb6.js";import{ObjectUtils as o,UserInterface as r,ElementIDUtils as i}from"@sankhyalabs/core";import{R as s}from"./p-05e1f4e7.js";import{C as d}from"./p-b853763b.js";function c(a,t,l,n,o){return e("div",{class:"ez-col ez-col--sd-12 ez-align--middle ez-padding-horizontal--small ez-padding-bottom--large"},e("ez-check",{enabled:!l,label:t,mode:o?d.SWITCH:d.REGULAR,"data-field-name":a,"data-context-name":n,key:a}))}function m(a,t,l,n,o,r,i){return e("div",{class:"ez-col ez-col--sd-12 ez-padding-horizontal--small"},e("ez-number-input",{enabled:!l,label:t,precision:n,prettyPrecision:o,"data-field-name":a,"data-context-name":r,key:a,canShowError:i}))}const h=({name:a,label:t,readOnly:l,contextName:n,canShowError:o})=>e("div",{class:"ez-col ez-col--sd-12 ez-padding-horizontal--small"},e("ez-text-input",{label:t,"data-field-name":a,"data-context-name":n,key:a,enabled:!l,canShowError:o})),p=new Map;p.set(r.CHECKBOX,(e=>c(e.name,e.label,e.readOnly,e.contextName,!1))),p.set(r.SWITCH,(e=>c(e.name,e.label,e.readOnly,e.contextName,!0))),p.set(r.OPTIONSELECTOR,(({name:a,label:t,readOnly:l,required:n,props:o,contextName:r,canShowError:i})=>{const s=null==o?void 0:o.options;let d;if("string"==typeof s){const e=JSON.parse(s);d=Object.keys(e).map((a=>({value:a,label:e[a]})))}else d=s;return e("div",{class:"ez-col ez-col--sd-12 ez-padding-horizontal--small"},e("ez-combo-box",{enabled:!l,suppressEmptyOption:n,label:t,"data-field-name":a,"data-context-name":r,key:a,options:d,canShowError:i}))})),p.set(r.DATE,(({name:a,label:t,readOnly:l,canShowError:n})=>e("div",{class:"ez-col ez-col--sd-12 ez-padding-horizontal--small"},e("ez-date-input",{enabled:!l,label:t,"data-field-name":a,key:a,canShowError:n})))),p.set(r.TIME,(({name:a,label:t,readOnly:l,canShowError:n})=>e("div",{class:"ez-col ez-col--sd-12 ez-padding-horizontal--small"},e("ez-time-input",{enabled:!l,label:t,"data-field-name":a,key:a,canShowError:n})))),p.set(r.DATETIME,(({name:a,label:t,readOnly:l,contextName:n,canShowError:o})=>e("div",{class:"ez-col ez-col--sd-12 ez-padding-horizontal--small"},e("ez-date-time-input",{enabled:!l,label:t,"data-field-name":a,"data-context-name":n,key:a,canShowError:o})))),p.set(r.FILE,(({name:a,label:t,readOnly:l,contextName:n,props:r})=>{const i=o.removeEmptyValues({subTitle:r.subTitle,requestHeaders:Object.assign(Object.assign({},r.STORAGESTRATEGY&&{STORAGESTRATEGY:r.STORAGESTRATEGY}),r.INTERNAL_FILENAME&&{INTERNAL_FILENAME:r.INTERNAL_FILENAME})});return e("div",{class:"ez-col ez-col--sd-12 ez-padding-horizontal--small"},e("ez-upload",Object.assign({enabled:!l,label:t,"data-field-name":a,"data-context-name":n,key:a},i)))})),p.set(r.DECIMALNUMBER,(({name:e,label:a,readOnly:t,props:l,contextName:n,canShowError:o})=>{var r,i;const s=Number(null!==(r=null==l?void 0:l.precision)&&void 0!==r?r:2);return m(e,a,t,s,Number(null!==(i=null==l?void 0:l.prettyPrecision)&&void 0!==i?i:s),n,o)})),p.set(r.INTEGERNUMBER,(({name:e,label:a,readOnly:t,contextName:l,canShowError:n})=>m(e,a,t,0,0,l,n))),p.set(r.SEARCH,(({name:a,label:t,readOnly:l,required:n,contextName:o,canShowError:r,optionLoader:i})=>e("div",{class:"ez-col ez-col--sd-12 ez-padding-horizontal--small"},e("ez-search",{enabled:!l,suppressEmptyOption:n,label:t,"data-field-name":a,"data-context-name":o,key:a,canShowError:r,optionLoader:i})))),p.set(r.LONGTEXT,(({name:a,label:t,readOnly:l,contextName:n,rows:o,canShowError:r})=>e("div",{class:"ez-col ez-col--sd-12 ez-padding-horizontal--small",key:a},e("ez-text-area",{enabled:!l,label:t,"data-field-name":a,"data-context-name":n,rows:o,canShowError:r}))));const u=e=>{const a=p.get(e.userInterface)||h,t=e.required?`${e.label}${s}`:e.label,l=a(Object.assign(Object.assign({},e),{label:t}));return l.t["data-form-item"]=e.name,l};class z{constructor(e){this.elem=e}addRightElement(e){this.removeRightElement(),e.classList.add("ez-padding-left--small"),e.setAttribute("data-custom-item","true"),this.elem.classList.add("ez-col--nowrap"),this.elem.appendChild(e)}removeRightElement(){Array.from(this.elem.querySelectorAll('[data-custom-item="true"]')).forEach((e=>e.remove()))}get fieldName(){return this.elem.getAttribute("data-form-item")}}class b{constructor(e,a){this.items=new Map,this.formId=a,e.forEach((e=>{const a=new z(e);this.items.set(a.fieldName,a)}))}getItem(e){return this.items.get(e)}get formName(){return this.formId}}const w=class{constructor(e){a(this,e),this.ezContentReady=t(this,"ezContentReady",7),this.formItemsReady=t(this,"formItemsReady",7),this._customEditors=new Map,this.fields=void 0}async showUp(){this._element.scrollIntoView({behavior:"smooth",block:"start"})}async addCustomEditor(e,a,t){const l=new Map(this._customEditors);l.set(e,{customEditor:a,detailContext:t}),this._customEditors=l}async setFieldProp(e,a,t){const l=this.fields.map((l=>(l.name!==e||!t&&0!==t||(l.props=l.props||{},l.props[a]=t),l)));this.fields=[...l]}groupFields(e){const a=new Map;return e.forEach((e=>{const t=e.group;if(t){let l=a.get(t);null==l&&(l=[],a.set(t,l)),l.push(e)}else a.set(e.name,e)})),a}componentDidRender(){this._formElements=Array.from(this._element.querySelectorAll("[data-field-name]")),this.ezContentReady.emit(this._formElements);const e=new b(this._formElements);this.formItemsReady.emit(e)}isItemFullWidth(e){return[r.FILE,r.LONGTEXT].includes(e)}buildFormItemElement(a,t=""){var l;if(this.isItemFullWidth(a.userInterface)&&(t+=" input-full_width"),this._customEditors.has(a.name)){const n=null===(l=this._formElements.map((e=>({name:e.dataset.fieldName,value:e.value}))).find((e=>e.name===a.name)))||void 0===l?void 0:l.value,o=this._customEditors.get(a.name).customEditor;return e("div",{class:t},e("ez-custom-form-input",{"data-field-name":a.name,customEditor:o,formViewField:a,builderFallback:u,value:n}))}return e("div",{class:t},u(a))}render(){if(i.addIDInfoIfNotExists(this._element,"ezFormView"),null==this.fields)return;let a=[],t=Array.from(this.groupFields(this.fields).entries()).map((([t,l])=>{if(Array.isArray(l))return e("ez-collapsible-box",{id:`group-${t}`,label:t,"header-size":"large",key:t},e("div",{class:"form-view__content"},l.map((e=>this.buildFormItemElement(e)))));a.push(l)})),l=a.map((e=>this.buildFormItemElement(e))),o=e("div",{class:"form-view__content"},l);return e(n,null,o,t)}get _element(){return l(this)}};w.style=".sc-ez-form-view-h{display:flex;flex-wrap:wrap;width:100%;--ez-form-view__item--min-width:220px;--ez-form-view__item--sapce-width:5px}.form-view__content.sc-ez-form-view{display:grid;grid-template-columns:repeat(auto-fill, minmax(var(--ez-form-view__item--min-width), 1fr));gap:var(--ez-form-view__item--sapce-width);width:100%}.input-full_width.sc-ez-form-view{grid-column:1 / -1;width:100%}";export{w as ez_form_view}
@@ -1 +0,0 @@
1
- import{r as t,h as i,H as s,c as e,g as o}from"./p-23a36bb6.js";import{C as n}from"./p-4607fb89.js";import{HTMLBuilder as l,StringUtils as h,ElementIDUtils as d}from"@sankhyalabs/core";import{A as a}from"./p-2187f86c.js";import"./p-ab574d59.js";import"./p-b853763b.js";const r=class{constructor(i){t(this,i),this.gui=void 0,this.customEditor=void 0,this.formViewField=void 0,this.value=void 0,this.detailContext=void 0,this.builderFallback=void 0}async setFocus(){var t,i;null===(i=null===(t=this.gui)||void 0===t?void 0:t.setFocus)||void 0===i||i.call(t)}async setBlur(){var t,i;null===(i=null===(t=this.gui)||void 0===t?void 0:t.setBlur)||void 0===i||i.call(t)}async isInvalid(){var t,i;return(null===(i=null===(t=this.gui)||void 0===t?void 0:t.isInvalid)||void 0===i?void 0:i.call(t))||!1}getContent(){var t,s;const e=new Map;for(const t in this.formViewField.props)e.set(t,this.formViewField.props[t]);const o={value:this.value,name:this.formViewField.name,currentEditor:this.builderFallback(this.formViewField),editorMetadata:{label:this.formViewField.label,hidden:!1===(null===(t=this.formViewField.props)||void 0===t?void 0:t.visible),userInterface:this.formViewField.userInterface,options:null===(s=this.formViewField.props)||void 0===s?void 0:s.options,props:this.formViewField.props?e:void 0,optionLoader:this.formViewField.optionLoader},source:n.FORM,detailContext:this.detailContext};let d=this.customEditor.getEditorElement(o);return d?d instanceof HTMLElement||"string"==typeof d?("string"==typeof d&&(d=l.parseElement(d)),d.setAttribute("value",this.value),void(this.gui=i("div",{key:h.generateUUID(),ref:t=>t&&t.appendChild(d)}))):(this.handleValue(d),void(this.gui=d)):(d=this.builderFallback(this.formViewField),this.handleValue(d),void(this.gui=d))}handleValue(t){t.t.forEach((t=>{t.i.value=this.value}))}componentWillRender(){this.getContent()}render(){return i(s,null,this.gui)}},u=class{constructor(i){t(this,i),this.saveEdition=e(this,"saveEdition",7),this.cancelEdition=e(this,"cancelEdition",7),this._newValue=void 0,this.value=void 0,this.styled=void 0}async applyFocusSelect(){this.calcSizeInput(this.value,!0)}calcSizeInput(t,i=!1){var s,e;const o=null===(e=null===(s=this._inputElement)||void 0===s?void 0:s.shadowRoot)||void 0===e?void 0:e.querySelector("input");if(null!=o){const s=this.getWidthValue(t);o.style.width=s+"px",i&&setTimeout((()=>o.select()),100)}}getWidthValue(t){if(null!=this._valueBasis){const i=this._valueBasis;if(null!=t){const s=2;return i.innerHTML=t,i.clientWidth>0?i.clientWidth+s:s}i.innerHTML=""}return 0}setStyledInput(){var t,i;let s="",e="",o="";null!=this.styled&&(s=this.styled.fontSize,e=this.styled.fontWeight,o=this.styled.fontFamily);const n=null===(i=null===(t=this._inputElement)||void 0===t?void 0:t.shadowRoot)||void 0===i?void 0:i.querySelector("input");null!=n&&(n.style.fontSize=s,n.style.fontWeight=e,n.style.fontFamily=o);const l=this._valueBasis;null!=l&&(l.style.fontSize=s,l.style.fontWeight=e,l.style.fontFamily=o)}handleSaveEdition(){this._newValue?this.saveEdition.emit({value:this.value,newValue:this._newValue}):a.alert("Aviso","Não é possível salvar um campo em branco.").then((()=>{this.setNewValue(this.value,!0)}))}handleCancelEdition(){this.cancelEdition.emit()}setNewValue(t,i=!1){this._newValue=t,this.calcSizeInput(this._newValue,i)}componentDidLoad(){this.applyFocusSelect(),this.setNewValue(this.value)}componentDidRender(){this.setStyledInput()}render(){return d.addIDInfoIfNotExists(this._element,"input"),i(s,null,i("span",{class:"text-edit__hidden-value",ref:t=>this._valueBasis=t}),i("ez-text-input",{"data-element-id":d.getInternalIDInfo("textInput"),onInput:()=>{this.calcSizeInput(this._newValue)},class:"text-edit__form-input",value:this._newValue,ref:t=>this._inputElement=t,mode:"slim",onEzChange:t=>this.setNewValue(null==t?void 0:t.detail),noBorder:!0}),i("ez-button",{class:"text-edit__icon-check",mode:"icon",iconName:"check",size:"small",onClick:()=>{this.handleSaveEdition()}}),i("ez-button",{class:"text-edit__icon-close",mode:"icon",iconName:"close",size:"small",onClick:()=>{this.handleCancelEdition()}}))}get _element(){return o(this)}};u.style=":host{display:flex;align-items:center;gap:5px}.text-edit__form-input{width:auto;--ez-text-input__input--padding:0px}.text-edit__hidden-value{visibility:hidden;position:absolute;white-space:nowrap;z-index:-1;top:0;left:0}";export{r as ez_custom_form_input,u as ez_text_edit}