Functions
Open Stories and Issues
_isEmpty should respect "emptiness" of the PType: Currently, if I have Property P of Exactly One Large Text, P -> _isEmpty will
always return false -- by definition, Exactly One can't be empty. But that's unintuitive: if the text length is zero, I expect it to return true.
_tagRefs doesn't know that space and dash are equivalent: Noticed in the Period Games Space. If, say, an External Link points to "Byzantine-Chess", the Byzantine Chess page's _tagRefs doesn't catch it. This is presumably because _tagRefs doesn't know to normalize spaces in link names.
Add an _nth()
function: We have
_first
, of course, but there are times when it would be nice to have a more general counterpart.
Need a better approach to pagination: The Comics Space is illustrating that the showSome mechanism just isn't good enough for general pagination. In particular, the page needs to be in the URL, so that I can reload to that point.
Suggestion: English-Major sorting: Sorting is currently a standard, completely literal sort. Many users of Querki are going to want sorting to behave in a more nuanced manner.
Closed Stories and Issues
_createButton doesn't work with a Tag Set Link Property: Specifically, in the Period Games Space, Game should be able to say External Link -> Games._createButton() and have it get populated. But it doesn't -- presumably because it only works with single-valued Links currently.
Space Stray Bullets, Thing Reference:
Properties End Page and End Panel are both Optional Whole Numbers. When those properties have never been filled in, and contain no data, they do not register as _isEmpty.
_QLButton doesn't work right if you pass in a List: If you do something like:
<One Thing, Another Thing> -> _QLButton(label=""Passed directly"", ql=""____"")
, you
expect this to display one button that shows two links when pressed. In fact, it displays two buttons.
_showLink is over-escaping its contents: I have a Property containing
[[Visible Game Items -> Qualify Game Items By Type]] - [[_showLink(Update Summary)]]
. When Update Summary has characters that need to be HTML-escaped in it, they display as the full HTML-escaped string, which makes it really hard to skim. If I eliminate the
_showLink
call, Update Summary displays correctly.
_sort appears to be case sensitive?: See New MySQL Space, specifically all the pages named "Testing ...". It looks like they're collating case-sensitively, which is wrong: Querki is officially case-insensitive.
_textLength producing weird results : Stray Bullets Space, model Event:
I wanted to have the Notes field only display when it actually had contents, whixh it often won't. Since I was trying to at least temporarily avoid _isEmpty with text, I tried using _textLength instead, figuring that would be 0 when I hadn't entered anything. That didn't work, so to figure out why not, I just printed the result of _textLength(Notes)) in the default view. Much to my surprise, the numbers given are not only not 0, they range between (at least) 8 to 53! Each Event seems to have a consistent value being returned, but damned if I know where it's getting that number.
._self
causes QL to crash: Eric originally reported this as a more complex QL expression, but the essence of the bug is that, if you say
._self
in a QL expression (with nothing before the dot), the parser crashes.
_changeProperties
can't set an Optional value to empty: For example, if you have a Property named
Optional Number
, and try to set that as
_changeProperties(Optional Number(< >))
, you get the error
Optional Number parameter 0 should be of type Whole Number Type but is actually Unknown Type
.
I can have a new Thing point back to the creating Thing: I've found that I often wind up with parent-child relationships between Things; in particular, I often want to put a button on Parent that says, "Create a new Child". All of which works decently well (using _createButton or _createInstanceLink), but with one problem: the Child doesn't start out with the pointer back to the Parent. I have to set that back-link manually, which is a hassle.
I should be able to get the length of a Text field: Eric is trying to test the length of a string -- specifically, if a search fails to return anything, to check whether it's shorter than the minimum 3 chars. Adding a function for this seems straightforward.
Need a "clear" button for _textInput: The _textInput turns out to be a nuisance to use on the phone. We need a "clear" button -- an "X" or something -- so there is an easy one-click way to erase it.