Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Input Field with Show Character Count and no Style Width Has Zero Width #665

Open
cancan101 opened this issue Aug 21, 2024 · 1 comment
Open

Comments

@cancan101
Copy link
Contributor

cancan101 commented Aug 21, 2024

An Input field set to show character count but w/o setting a width in the style field will render with zero width:

return Ext.create("Ext.Panel", {
cls: "object_field object_field_type_" + this.type,
style: "margin-bottom: 10px",
layout: {
type: 'vbox',
align: 'left'
},
items: [
this.component,
charCount
]
});

Something like width: input.width - input.labelWidth needs to be passed to the Panel constructor.
image
The text box can be fixed with:
image
However this width also needs to subtract the labelWidth:

var charCount = Ext.create("Ext.Panel", {
bodyStyle: '',
margin: '0 0 0 0',
bodyCls: 'char_count',
width: input.width,
height: 17
});

This mostly works:

        if(this.fieldConfig.showCharCount) {
            var charCount = Ext.create("Ext.Panel", {
                bodyStyle: '',
                margin: '0 0 0 0',
                bodyCls: 'char_count',
                width: input.width - input.labelWidth,
                height: 17
            });

            this.component.setStyle("margin-bottom", "0");
            this.component.addListener("change", function(charCount) {
                this.updateCharCount(this.component, charCount);
            }.bind(this, charCount));

            //init word count
            this.updateCharCount(this.component, charCount);

            return Ext.create("Ext.Panel", {
                cls: "object_field object_field_type_" + this.type,
                style: "margin-bottom: 10px",
                layout: {
                    type: 'vbox',
                    align: 'left'
                },
                width: input.width - input.labelWidth,
                items: [
                    this.component,
                    charCount
                ]
            });

        }

Though the box is slightly clipped:
image

Copy link

Thanks a lot for reporting the issue. We did not consider the issue as "Pimcore:Priority", "Pimcore:ToDo" or "Pimcore:Backlog", so we're not going to work on that anytime soon. Please create a pull request to fix the issue if this is a bug report. We'll then review it as quickly as possible. If you're interested in contributing a feature, please contact us first here before creating a pull request. We'll then decide whether we'd accept it or not. Thanks for your understanding.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant