Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
typo3
qfq
Commits
44896163
Commit
44896163
authored
Feb 14, 2020
by
Marc Egger
Browse files
refs #10115 almost fixed, now some tags get lost some times
parent
0c9c9c1d
Pipeline
#3284
passed with stages
in 3 minutes and 39 seconds
Changes
3
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
extension/Classes/Core/AbstractBuildForm.php
View file @
44896163
...
...
@@ -1358,6 +1358,7 @@ abstract class AbstractBuildForm {
$attribute
.
=
Support
::
doAttribute
(
DATA_TYPEAHEAD_TAG
,
'true'
);
$kk
=
'['
.
(
$formElement
[
FE_TYPEAHEAD_TAG_DELIMITER
]
??
'9,44'
)
.
']'
;
$attribute
.
=
Support
::
doAttribute
(
DATA_TYPEAHEAD_TAG_DELIMITER
,
$kk
);
$formElement
[
FE_INPUT_TYPE
]
=
'hidden'
;
// TAG handling expects the '$value' as a JSON string.
$kk
=
KeyValueStringParser
::
parse
(
$value
,
':'
,
','
,
KVP_IF_VALUE_EMPTY_COPY_KEY
);
...
...
javascript/src/Helper/tagManager.js
View file @
44896163
...
...
@@ -18,6 +18,8 @@
"
use strict
"
;
var
disableHiddenUpdate
=
false
;
var
defaults
=
{
prefilled
:
null
,
CapitalizeFirstLetter
:
false
,
...
...
@@ -302,14 +304,16 @@
},
refreshHiddenTagList
:
function
()
{
var
$self
=
$
(
this
),
tlis
=
$self
.
data
(
"
tlis
"
),
lhiddenTagList
=
$self
.
data
(
"
lhiddenTagList
"
);
if
(
!
disableHiddenUpdate
)
{
var
$self
=
$
(
this
),
tlis
=
$self
.
data
(
"
tlis
"
),
lhiddenTagList
=
$self
.
data
(
"
lhiddenTagList
"
);
if
(
lhiddenTagList
)
{
$
(
lhiddenTagList
).
val
(
tlis
.
join
(
$self
.
data
(
'
opts
'
).
baseDelimiter
)).
change
();
$self
.
trigger
(
'
tm:hiddenUpdate
'
,
[
tlis
,
$
(
lhiddenTagList
)]);
}
if
(
lhiddenTagList
)
{
$
(
lhiddenTagList
).
val
(
tlis
.
join
(
$self
.
data
(
'
opts
'
).
baseDelimiter
)).
change
();
$self
.
trigger
(
'
tm:hiddenUpdate
'
,
[
tlis
,
$
(
lhiddenTagList
)]);
}
$self
.
trigger
(
'
tm:refresh
'
,
tlis
.
join
(
$self
.
data
(
'
opts
'
).
baseDelimiter
));
$self
.
trigger
(
'
tm:refresh
'
,
tlis
.
join
(
$self
.
data
(
'
opts
'
).
baseDelimiter
));
}
},
killEvent
:
function
(
e
)
{
...
...
@@ -542,6 +546,8 @@
return
publicMethods
[
method
].
apply
(
$self
,
Array
.
prototype
.
slice
.
call
(
arguments
,
1
));
}
else
if
(
typeof
method
===
'
object
'
||
!
method
)
{
return
privateMethods
.
init
.
apply
(
this
,
arguments
);
}
else
if
(
method
===
'
disableHiddenUpdate
'
)
{
disableHiddenUpdate
=
arguments
[
1
];
}
else
{
$
.
error
(
'
Method
'
+
method
+
'
does not exist.
'
);
return
false
;
...
...
javascript/src/TypeAhead.js
View file @
44896163
...
...
@@ -79,6 +79,16 @@ var QfqNS = QfqNS || {};
}
});
$element
.
off
(
'
keyup change
'
);
$element
.
on
(
'
keypress keyup change
'
,
function
(
e
)
{
var
code
=
e
.
keyCode
||
e
.
which
;
if
(
code
===
13
)
{
e
.
preventDefault
();
return
false
;
}
});
// list to keep tracks of existing tags and those added during the current session
// expected JSON format: [{value: "Alaska", key: "AK"}, {value: "Alabama", key: "AL"}]
var
existingTags
=
$element
.
val
()
!==
''
?
JSON
.
parse
(
$element
.
val
())
:
[];
...
...
@@ -116,6 +126,8 @@ var QfqNS = QfqNS || {};
}
});
// window.qfqChange = false;
// when the hidden input field changes, overwrite value with tag object list
tagApi
.
bind
(
'
tm:hiddenUpdate
'
,
function
(
e
,
tags
)
{
var
tagObjects
=
$
.
map
(
tags
,
function
(
t
)
{
...
...
@@ -126,11 +138,15 @@ var QfqNS = QfqNS || {};
// if value of hidden field is changed externally, update tagManager
$element
.
on
(
'
qfqChange
'
,
function
()
{
// window.qfqChange = true;
tagApi
.
tagsManager
(
'
disableHiddenUpdate
'
,
true
);
existingTags
=
$element
.
val
()
!==
''
?
JSON
.
parse
(
$element
.
val
())
:
[];
tagApi
.
tagsManager
(
'
empty
'
);
$
.
each
(
existingTags
,
function
(
i
,
tag
)
{
tagApi
.
tagsManager
(
'
pushTag
'
,
tag
.
value
);
});
// window.qfqChange = false;
tagApi
.
tagsManager
(
'
disableHiddenUpdate
'
,
false
);
});
// add existing tags
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment