Tagify: No Custom dynamic attribute disables input entirely

Wappler Version : 4.7.3
Operating System : Windows 11
Server Model: NodeJS
Database Type: MySQL
Hosting Type: Custom

In addition to my other Tagify app dynamic attribute bug report, I have found another issue with one of them:

Expected behavior

The “No Custom” dynamic attribute should prevent custom tags, only allowing existing ones to be used as it does when the option is selected in “Display Options”

Actual behavior

When adding it as a Dynamic Attribute, and if the condition is false, it will disable the entire text input instead:

How to reproduce

  1. Create a tagify text input
  2. Add the “No Custom” Dynamic Attribute with a condition
  3. When the condition is not met, the text input will be disabled completely

Bump. Still seems to be an issue in 4.9.0

Could you post the html tag that was generated by Wappler.

dmx-bind:nocustom="(getMyUserData.data.getMyPermissions.where('permission', 'AT.CreateLabels', '==').values(`permission`) != 'AT.CreateLabels')"

Interestingly, I just double-checked to see if checking something simpler like checking if a variable equals 1 works as expected, and it does, so it seems like its with more complex expressions like .where? (The same expression is used on other places, and works correctly)

I’ve been having to use noinput as a substitute, where the same expression also works fine.

Not sure what you are exactly trying in the expression, but it is at least incorrect. The left part with the where and values formatter returns an array and you compare that with a string which will always return false.

It’s basically used to check if a person has (or in this case, doesn’t have) a permission in a query. It returns true/false correctly everywhere else its used, including on things like noinput, just doesn’t seem to work with nocustom.

I believe it should be

dmx-bind:nocustom="getMyUserData.data.getMyPermissions.where('permission', 'AT.CreateLabels', '==').values(`permission`).hasItems()"

Coming back to this as I’m back trying to fix this and its causing me quite a lot of issues, but the expression I had is/was fine as it’s being used everywhere on the site in various forms (including the exact example I provided).

However, when it returns false, the “No Custom” attribute will just disable the entire text box. If it returns true, it functions as expected, where no custom inputs can be entered. Returning false should allow custom inputs.

The “test:” part on the left has the output of the app connect binding I previously posted.


I just tested this locally. It works as expected, when checking a simple variable value.
My code is:

<input is="dmx-tagify" id="tagify1" name="tagify1" dmx-bind:data="serverconnect1.data.query" tag-value="id" dmx-bind:value="serverconnect2.data.query.values(`id`)" tag-text="airport" dmx-bind:nocustom="var1.value==1">

and here’s the result:
No custom is false, i.e. not active and you can add custom tags:

No custom is true, i.e. active and you cannot add custom tags:

Maybe something else in your tagify setup is causing this.