isPropertyEmpty: Difference between revisions

From RPTools Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
 
(14 intermediate revisions by 8 users not shown)
Line 1: Line 1:
==Function isPropertyEmpty==
{{stub|Examples using the new functionality.}}
{{MacroFunction
|name=isPropertyEmpty
|version=1.3b48
|description=
Returns {{true}} if the [[Token Property]] for a specific [[Token]] is empty. A [[Token Property]] is considered empty if it is {{code|NULL}}; if an empty string ({{code|""}}) has been assigned to it, it is not considered empty.


Returns 1 if the [[Token:token property|token property]] for the [[Token:Current Token|Current Token]] is empty. A [[Token:token property|token property]] is empty if it is null, if an empty string ("") has been assigned to it, it is not considered empty.
'''Note:''' If the token type sets a default value, this function will still see the property as empty. Try using [[json.isEmpty|json.isEmpty()]].


===Usage===
|usage=
<source lang="mtmacro" line>
<syntaxhighlight lang="mtmacro" line>
[h: empty = isEmpty(propertyName)]
isPropertyEmpty(property)
</source>
isPropertyEmpty(property, tokenRef)
isPropertyEmpty(property, tokenRef, mapRef)
</syntaxhighlight>
'''Parameters'''
{{param|property|The name of the property that has its value checked.}}
{{param|tokenRef|Either the token [[getSelected|{{code|id}}]] or [[getTokenName|Token Name]] of the token that has its value checked, defaults to the [[Current Token]]. {{TrustedParameter}} }}
{{param|mapRef|The Name or ID of the map to find the token.  Defaults to the current map.}}
{{Note|Token IDs are unique, but Token Names can be duplicated. Using Token Name when more than one token has the same name can produce unexpected results.}}


|example=
<syntaxhighlight lang="mtmacro" line>
[r, if(isPropertyEmpty("propertyName")): propertyName = someDefaultValue]
</syntaxhighlight>


===Examples===
|also=
<source lang="mtmacro" line>
[[resetProperty|resetProperty()]],
[r, if(isEmpty(propertyName)): propertyName = someDefaultValue]
[[getProperty|getProperty()]],  
</source>
[[setProperty|setProperty()]],
[[json.isEmpty|json.isEmpty()]]
|changes=
{{change|1.3b51|Added {{code|id}} parameter option.}}
{{change|1.5.4|Added {{code|mapname}} parameter option.}}
 
}}
[[Category:Token Function]][[Category:Property Function]]

Latest revision as of 23:59, 17 May 2024

 This article is a stub, you can help the RPTools Wiki project by contributing content to expand this article.
 This article needs: Examples using the new functionality.

isPropertyEmpty() Function

Introduced in version 1.3b48
Returns true(1) if the Token Property for a specific Token is empty. A Token Property is considered empty if it is NULL; if an empty string ("") has been assigned to it, it is not considered empty. Note: If the token type sets a default value, this function will still see the property as empty. Try using json.isEmpty().

Usage

isPropertyEmpty(property)
isPropertyEmpty(property, tokenRef)
isPropertyEmpty(property, tokenRef, mapRef)

Parameters

  • property - The name of the property that has its value checked.
  • tokenRef - Either the token id or Token Name of the token that has its value checked, defaults to the Current Token.

     Note: This parameter can only be used in a Trusted Macro

  • mapRef - The Name or ID of the map to find the token. Defaults to the current map.
Token IDs are unique, but Token Names can be duplicated. Using Token Name when more than one token has the same name can produce unexpected results.

Example

[r, if(isPropertyEmpty("propertyName")): propertyName = someDefaultValue]

See Also

Version Changes

  • 1.3b51 - Added id parameter option.
  • 1.5.4 - Added mapname parameter option.