Skip to content

Commit 194deae

Browse files
support for combination with editor-field-visibilty-plugin
1 parent e80c8bf commit 194deae

File tree

1 file changed

+26
-5
lines changed

1 file changed

+26
-5
lines changed

src/webfrontend/mask-splitter-default-values.coffee

Lines changed: 26 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ class ez5.ShowPoolDefaultValuesInMask extends CustomMaskSplitter
8787
labelClassHidden = 'hidden'
8888

8989
# if field has no value, show default value and hide button
90-
if opts.data[field.ColumnSchema.name] == null || (typeof opts.data[field.ColumnSchema.name] == 'object' && ! opts.data[field.ColumnSchema.name]?.conceptURI) || (opts.data[field.ColumnSchema.name] == '')
90+
if opts.data[field.ColumnSchema.name] == {} || opts.data[field.ColumnSchema.name] == null || (typeof opts.data[field.ColumnSchema.name] == 'object' && ! opts.data[field.ColumnSchema.name]?.conceptURI) || (opts.data[field.ColumnSchema.name] == '')
9191
labelClassHidden = 'show'
9292
buttonClassHidden = 'hidden'
9393

@@ -175,16 +175,37 @@ class ez5.ShowPoolDefaultValuesInMask extends CustomMaskSplitter
175175
right:
176176
content: xButton
177177

178-
# listen for changes in field
178+
179+
####################################################################
180+
# listen for changes in customdatafields
181+
# reset customdataform via another plugin (f.e. fylr-editor-field-visibility)
182+
####################################################################
183+
customDataTypeNode = CUI.dom.matchSelector(selectedElement, ".customPluginEditorLayout")
184+
185+
# if dante-dropdown-mode
186+
if customDataTypeNode.length == 0
187+
customDataTypeNode = CUI.dom.matchSelector(selectedElement, ".dante_InlineSelect")
188+
189+
if customDataTypeNode
190+
CUI.Events.listen
191+
type: ["custom-deleteDataFromPlugin"]
192+
node: customDataTypeNode[0]
193+
call: (ev, info) =>
194+
# hide button
195+
CUI.dom.removeClass(xButton, 'show')
196+
# hide default value
197+
CUI.dom.addClass(defaultLabelElement, 'show')
198+
199+
# listen for changes in field and show or hide buttons
179200
CUI.Events.listen
180201
type: ["data-changed"]
181-
node: selectedElement
202+
node: selectedElement[0]
182203
call: (ev, info) =>
183204
# if value is not empty, hide default value and show button
184205
hasValue = false
185206
if opts.data[field.ColumnSchema.name]
186207
hasValue = true
187-
if opts.data[field.ColumnSchema.name] == null
208+
if opts.data[field.ColumnSchema.name] == null || opts.data[field.ColumnSchema.name] == {}
188209
hasValue = false
189210
if typeof opts.data[field.ColumnSchema.name] == 'object'
190211
if ! opts.data[field.ColumnSchema.name]?.conceptURI
@@ -298,7 +319,7 @@ class ez5.ShowPoolDefaultValuesInMask extends CustomMaskSplitter
298319
if ! fieldsFound
299320
fieldOptions = []
300321
emptyOption =
301-
value : null
322+
value : {}
302323
text : $$('fylr-plugin-default-values-from-pool.options.empty_save')
303324

304325
fieldOptions.push emptyOption

0 commit comments

Comments
 (0)