forked from LeenkxTeam/LNXSDK
		
	
		
			
				
	
	
		
			451 lines
		
	
	
		
			22 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			451 lines
		
	
	
		
			22 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
from lnx.logicnode.lnx_nodes import *
 | 
						|
 | 
						|
class CreateElementNode(LnxLogicTreeNode):
 | 
						|
    """Create Element"""
 | 
						|
    bl_idname = 'LNCreateElementNode'
 | 
						|
    bl_label = 'Create Element'
 | 
						|
    bl_description = 'Create Element'
 | 
						|
    lnx_category = 'HTML'
 | 
						|
    lnx_version = 1
 | 
						|
 | 
						|
    data_map = {}
 | 
						|
    @staticmethod
 | 
						|
    def get_enum_id_value(obj, prop_name, value):
 | 
						|
        return obj.bl_rna.properties[prop_name].enum_items[value].identifier
 | 
						|
 | 
						|
    @staticmethod
 | 
						|
    def get_count_in(type_name):
 | 
						|
        return {
 | 
						|
            'a': 0,
 | 
						|
            'abbr': 1,
 | 
						|
            'address': 2,
 | 
						|
            'area': 3,
 | 
						|
            'article': 4,
 | 
						|
            'aside': 5,
 | 
						|
            'audio': 6,
 | 
						|
            'bold': 7,
 | 
						|
            'base': 8,
 | 
						|
            'bdi': 9,
 | 
						|
            'bdo': 10,
 | 
						|
            'blockquote': 11,
 | 
						|
            'body': 12,
 | 
						|
            'br': 13,
 | 
						|
            'button': 14,
 | 
						|
            'canvas': 15,
 | 
						|
            'caption': 16,
 | 
						|
            'cite': 17,
 | 
						|
            'code': 18,
 | 
						|
            'col': 19,
 | 
						|
            'colgroup': 20,
 | 
						|
            'data': 21,
 | 
						|
            'datalist': 22,
 | 
						|
            'dd': 23,
 | 
						|
            'del': 24,
 | 
						|
            'details': 25,
 | 
						|
            'dfn': 26,
 | 
						|
            'dialog': 27,
 | 
						|
            'div': 28,
 | 
						|
            'dl': 29,
 | 
						|
            'dt': 30,
 | 
						|
            'em': 31,
 | 
						|
            'embed': 32,
 | 
						|
            'fieldset': 33,
 | 
						|
            'figcaption': 34,
 | 
						|
            'figure': 35,
 | 
						|
            'footer': 36,
 | 
						|
            'form': 37,
 | 
						|
            'h1': 38,
 | 
						|
            'h2': 39,
 | 
						|
            'h3': 40,
 | 
						|
            'h4': 41,
 | 
						|
            'h5': 42,
 | 
						|
            'h6': 43,
 | 
						|
            'head': 44,
 | 
						|
            'header': 45,
 | 
						|
            'hgroup': 46,
 | 
						|
            'hr': 47,
 | 
						|
            'html': 48,
 | 
						|
            'i': 49,
 | 
						|
            'iframe': 50,
 | 
						|
            'img': 51,
 | 
						|
            'input': 52,
 | 
						|
            'ins': 53,
 | 
						|
            'kdb': 54,
 | 
						|
            'label': 55,
 | 
						|
            'legend': 56,
 | 
						|
            'li': 57,
 | 
						|
            'link': 58,
 | 
						|
            'main': 59,
 | 
						|
            'map': 60,
 | 
						|
            'mark': 61,
 | 
						|
            'menu': 62,
 | 
						|
            'meta': 63,
 | 
						|
            'meter': 64,
 | 
						|
            'nav': 65,
 | 
						|
            'noscript': 66,
 | 
						|
            'object': 67,
 | 
						|
            'ol': 68,
 | 
						|
            'optgroup': 69,
 | 
						|
            'option': 70,
 | 
						|
            'output': 71,
 | 
						|
            'p': 72,
 | 
						|
            'picture': 73,
 | 
						|
            'pre': 74,
 | 
						|
            'progress': 75,
 | 
						|
            'q': 76,
 | 
						|
            's': 77,
 | 
						|
            'samp': 78,
 | 
						|
            'script': 79,
 | 
						|
            'section': 80,
 | 
						|
            'select': 81,
 | 
						|
            'slot': 82,
 | 
						|
            'small': 83,
 | 
						|
            'source': 84,
 | 
						|
            'span': 85,
 | 
						|
            'strong': 86,
 | 
						|
            'style': 87,
 | 
						|
            'sub': 88,
 | 
						|
            'summary': 89,
 | 
						|
            'sup': 90,
 | 
						|
            'table': 91,
 | 
						|
            'tbody': 92,
 | 
						|
            'td': 93,
 | 
						|
            'template': 94,
 | 
						|
            'textarea': 95,
 | 
						|
            'tfoot': 96,
 | 
						|
            'th': 97,
 | 
						|
            'thead': 98,
 | 
						|
            'time': 99,
 | 
						|
            'title': 100,
 | 
						|
            'tr': 101,
 | 
						|
            'track': 102,
 | 
						|
            'u': 103,
 | 
						|
            'ul': 104,
 | 
						|
            'var': 105,
 | 
						|
            'video': 106,
 | 
						|
            'wbr': 107,
 | 
						|
            'custom': 108
 | 
						|
        }.get(type_name, 72)
 | 
						|
 | 
						|
    def get_enum(self):
 | 
						|
        return self.get('property0', 72)
 | 
						|
  
 | 
						|
    def set_enum(self, value):
 | 
						|
        select_current = self.get_enum_id_value(self, 'property0', value)
 | 
						|
        select_prev = self.property0
 | 
						|
 
 | 
						|
        if select_prev != select_current:
 | 
						|
            for i in range(len(self.inputs)):
 | 
						|
                if type(self.inputs[i]) is str:
 | 
						|
                    if len(self.inputs[i].default_value_raw) > 0:
 | 
						|
                        self.data_map[self.inputs[i].name] = self.inputs[i].default_value_raw
 | 
						|
                    else:
 | 
						|
                        self.data_map[self.inputs[i].name] = ""
 | 
						|
                else:
 | 
						|
                    self.data_map[self.inputs[i].name] = self.inputs[i].default_value_raw
 | 
						|
 | 
						|
            for i in self.inputs:
 | 
						|
                self.inputs.remove(i)
 | 
						|
 | 
						|
            index = self.get_count_in(select_current)
 | 
						|
 | 
						|
            if (index != 44 and index != 48 and index != 63 and index != 100):
 | 
						|
                if (index != 87):
 | 
						|
                    self.add_input('LnxStringSocket', 'Content')
 | 
						|
                    self.add_input('LnxStringSocket', 'ID')
 | 
						|
                    self.add_input('LnxStringSocket', 'Class')
 | 
						|
                    self.add_input('LnxStringSocket', 'Style')
 | 
						|
 
 | 
						|
            if index == 0:
 | 
						|
                self.add_input('LnxStringSocket', 'Href', default_value='#')
 | 
						|
            elif index == 3:
 | 
						|
                self.add_input('LnxStringSocket', 'Alt')
 | 
						|
                self.add_input('LnxStringSocket', 'Coords')
 | 
						|
                self.add_input('LnxStringSocket', 'Href')
 | 
						|
            elif index == 6:
 | 
						|
                self.add_input('LnxStringSocket', 'Src')
 | 
						|
            elif index == 11:
 | 
						|
                self.add_input('LnxStringSocket', 'Cite', default_value='URL')
 | 
						|
            elif index == 14:
 | 
						|
                self.add_input('LnxStringSocket', 'Type', default_value='Submit')
 | 
						|
            elif index == 15:
 | 
						|
                self.add_input('LnxStringSocket', 'Height', default_value='150px')
 | 
						|
                self.add_input('LnxStringSocket', 'Width', default_value='300px')
 | 
						|
            elif index in (19, 20):
 | 
						|
                self.add_input('LnxStringSocket', 'Span')
 | 
						|
            elif index == 21:
 | 
						|
                self.add_input('LnxStringSocket', 'Value')
 | 
						|
            elif index in (24, 53):
 | 
						|
                self.add_input('LnxStringSocket', 'Cite', default_value='URL')
 | 
						|
                self.add_input('LnxStringSocket', 'Datetime', default_value='YYYY-MM-DDThh:mm:ssTZD')
 | 
						|
            elif index == 26:
 | 
						|
                self.add_input('LnxStringSocket', 'Title')
 | 
						|
            elif index == 32:
 | 
						|
                self.add_input('LnxStringSocket', 'Src', default_value='URL') 
 | 
						|
                self.add_input('LnxStringSocket', 'Type')
 | 
						|
                self.add_input('LnxStringSocket', 'Height')
 | 
						|
                self.add_input('LnxStringSocket', 'Width')
 | 
						|
            elif index == 33:
 | 
						|
                self.add_input('LnxStringSocket', 'Form')
 | 
						|
                self.add_input('LnxStringSocket', 'Name')
 | 
						|
            elif index == 37:
 | 
						|
                self.add_input('LnxStringSocket', 'Action', default_value='URL')
 | 
						|
                self.add_input('LnxStringSocket', 'Method', default_value='get')
 | 
						|
            elif index == 44:
 | 
						|
                self.add_input('LnxStringSocket', 'Profile', default_value='URI')
 | 
						|
            elif index == 48:
 | 
						|
                self.add_input('LnxBoolSocket', 'xmlns' , default_value=False )
 | 
						|
            elif index == 50:
 | 
						|
                self.add_input('LnxStringSocket', 'Src', default_value='URL')
 | 
						|
                self.add_input('LnxStringSocket', 'Height' , default_value="150px" )
 | 
						|
                self.add_input('LnxStringSocket', 'Width', default_value='300px')
 | 
						|
            elif index == 51:
 | 
						|
                self.add_input('LnxStringSocket', 'Src')
 | 
						|
                self.add_input('LnxStringSocket', 'Height' , default_value='150px')
 | 
						|
                self.add_input('LnxStringSocket', 'Width', default_value='150px')
 | 
						|
            elif index == 52:
 | 
						|
                self.add_input('LnxStringSocket', 'Type', default_value='text')
 | 
						|
                self.add_input('LnxStringSocket', 'Value')
 | 
						|
            elif index == 55:
 | 
						|
                self.add_input('LnxStringSocket', 'For', default_value='element_id')
 | 
						|
                self.add_input('LnxStringSocket', 'Form', default_value='form_id')
 | 
						|
            elif index == 57:
 | 
						|
                self.add_input('LnxStringSocket', 'Value')
 | 
						|
            elif index == 58:
 | 
						|
                self.add_input('LnxStringSocket', 'Href', default_value='#')
 | 
						|
                self.add_input('LnxStringSocket', 'Hreflang', default_value='en')
 | 
						|
                self.add_input('LnxStringSocket', 'Title')
 | 
						|
            # Note: There's a duplicate case 58 in the original, handling as separate elif
 | 
						|
            elif index == 60:  # This was the second case 58, likely meant to be a different index
 | 
						|
                self.add_input('LnxStringSocket', 'Name', default_value='mapname')
 | 
						|
            elif index == 63:
 | 
						|
                self.add_input('LnxStringSocket', 'Charset', default_value='character_set')
 | 
						|
                self.add_input('LnxStringSocket', 'Content', default_value='text')
 | 
						|
            elif index == 64:
 | 
						|
                self.add_input('LnxStringSocket', 'form', default_value='form_id')
 | 
						|
                self.add_input('LnxStringSocket', 'high')
 | 
						|
                self.add_input('LnxStringSocket', 'low')
 | 
						|
                self.add_input('LnxStringSocket', 'max')
 | 
						|
                self.add_input('LnxStringSocket', 'min')
 | 
						|
                self.add_input('LnxStringSocket', 'optimum')
 | 
						|
                self.add_input('LnxStringSocket', 'value')
 | 
						|
            elif index == 67:
 | 
						|
                self.add_input('LnxStringSocket', 'data', default_value='URL') 
 | 
						|
                self.add_input('LnxStringSocket', 'form', default_value='form_id')
 | 
						|
                self.add_input('LnxStringSocket', 'height', default_value='pixels')
 | 
						|
                self.add_input('LnxStringSocket', 'name', default_value='name')
 | 
						|
                self.add_input('LnxStringSocket', 'type', default_value='media_type')
 | 
						|
                self.add_input('LnxStringSocket', 'usemap', default_value='#mapname')
 | 
						|
                self.add_input('LnxStringSocket', 'width', default_value='pixels')
 | 
						|
            elif index == 68:
 | 
						|
                self.add_input('LnxStringSocket', 'start', default_value='number')
 | 
						|
            elif index == 69:
 | 
						|
                self.add_input('LnxStringSocket', 'label', default_value='text')
 | 
						|
            elif index == 70:
 | 
						|
                self.add_input('LnxStringSocket', 'label', default_value='text')
 | 
						|
                self.add_input('LnxStringSocket', 'value', default_value='value')
 | 
						|
            elif index == 71:
 | 
						|
                self.add_input('LnxStringSocket', 'for', default_value='element_id')
 | 
						|
                self.add_input('LnxStringSocket', 'form', default_value='form_id')
 | 
						|
                self.add_input('LnxStringSocket', 'name', default_value='name')
 | 
						|
            elif index == 75:
 | 
						|
                self.add_input('LnxStringSocket', 'max', default_value='number')
 | 
						|
                self.add_input('LnxStringSocket', 'value', default_value='number')
 | 
						|
            elif index == 76:
 | 
						|
                self.add_input('LnxStringSocket', 'cite', default_value='URL')
 | 
						|
            elif index == 78:
 | 
						|
                self.add_input('LnxStringSocket', 'cite', default_value='URL')
 | 
						|
            elif index == 79:
 | 
						|
                self.add_input('LnxStringSocket', 'integrity' , default_value='filehash')
 | 
						|
                self.add_input('LnxStringSocket', 'Src')
 | 
						|
                self.add_input('LnxStringSocket', 'type', default_value='scripttype')
 | 
						|
            elif index == 81:
 | 
						|
                self.add_input('LnxStringSocket', 'form' , default_value='form_id')
 | 
						|
                self.add_input('LnxStringSocket', 'name' , default_value='text')
 | 
						|
                self.add_input('LnxStringSocket', 'type', default_value='scripttype')
 | 
						|
                self.add_input('LnxStringSocket', 'size', default_value='number')
 | 
						|
            elif index == 84:
 | 
						|
                self.add_input('LnxStringSocket', 'size')
 | 
						|
                self.add_input('LnxStringSocket', 'src' , default_value='URL')
 | 
						|
                self.add_input('LnxStringSocket', 'srcset', default_value='URL')
 | 
						|
            elif index == 87:
 | 
						|
                self.add_input('LnxStringSocket', 'type', default_value='media_type') 
 | 
						|
            elif index == 93:
 | 
						|
                self.add_input('LnxStringSocket', 'colspan' , default_value='number')
 | 
						|
                self.add_input('LnxStringSocket', 'headers' , default_value='header_id')
 | 
						|
                self.add_input('LnxStringSocket', 'rowspan', default_value='number')
 | 
						|
            elif index == 95:
 | 
						|
                self.add_input('LnxStringSocket', 'cols' , default_value='number')
 | 
						|
                self.add_input('LnxStringSocket', 'dirname' , default_value='name.dir')
 | 
						|
                self.add_input('LnxStringSocket', 'rowspan', default_value='number')
 | 
						|
                self.add_input('LnxStringSocket', 'form', default_value='form_id')
 | 
						|
                self.add_input('LnxStringSocket', 'maxlength', default_value='number')
 | 
						|
                self.add_input('LnxStringSocket', 'name' , default_value='text')
 | 
						|
                self.add_input('LnxStringSocket', 'placeholder' , default_value='text')
 | 
						|
                self.add_input('LnxStringSocket', 'rows' , default_value='number')
 | 
						|
            elif index == 97:
 | 
						|
                self.add_input('LnxStringSocket', 'abbr' , default_value='text')
 | 
						|
                self.add_input('LnxStringSocket', 'colspan' , default_value='number')
 | 
						|
                self.add_input('LnxStringSocket', 'headers', default_value='header_id')
 | 
						|
                self.add_input('LnxStringSocket', 'rowspan', default_value='number')
 | 
						|
            elif index == 99:
 | 
						|
                self.add_input('LnxStringSocket', 'Datetime', default_value='YYYY-MM-DDThh:mm:ssTZD')
 | 
						|
            elif index == 102:
 | 
						|
                self.add_input('LnxStringSocket', 'Src', default_value='URL')
 | 
						|
                self.add_input('LnxStringSocket', 'srclang', default_value='en')
 | 
						|
                self.add_input('LnxStringSocket', 'label', default_value='text')
 | 
						|
            elif index == 106:
 | 
						|
                self.add_input('LnxStringSocket', 'Src', default_value='URL')
 | 
						|
                self.add_input('LnxStringSocket', 'width', default_value='pixels')
 | 
						|
                self.add_input('LnxStringSocket', 'height', default_value='pixels')
 | 
						|
                self.add_input('LnxStringSocket', 'poster', default_value='URL')
 | 
						|
 | 
						|
            for i in range(len(self.inputs)):
 | 
						|
                if self.inputs[i].name in self.data_map:
 | 
						|
                    self.inputs[i].default_value_raw = self.data_map[self.inputs[i].name]
 | 
						|
 | 
						|
            self['property0'] = value
 | 
						|
            self.data_map = {}
 | 
						|
 | 
						|
    property0: HaxeEnumProperty(
 | 
						|
        'property0',
 | 
						|
        items = [('a', 'A', '<a>: The Anchor element'),
 | 
						|
                ('abbr', 'Abbr', '<abbr>: The Abbreviation element'),
 | 
						|
                ('address', 'Address', '<address>: The Contact Address element'),
 | 
						|
                ('area', 'Area', '<area>: The Image Map Area element'),
 | 
						|
                ('article', 'Article', '<article>: The Article Contents element'),
 | 
						|
                ('aside', 'Aside', '<aside>: The Aside element'),
 | 
						|
                ('audio', 'Audio', '<audio>: The Embed Audio element'),
 | 
						|
                ('bold', 'Bold', '<b>: The Bring Bold Attention To element'),
 | 
						|
                ('base', 'Base', '<base>: The Document Base URL element'),
 | 
						|
                ('bdi', 'Bdi', '<bdi>: The Bidirectional Isolate element'),
 | 
						|
                ('bdo', 'Bdo', '<bdo>: The Bidirectional Text Override element'),
 | 
						|
                ('blockquote', 'Blockquote', '<blockquote>: The Block Quotation element'),
 | 
						|
                ('body', 'Body', '<body>: The Document Body element'),
 | 
						|
                ('br', 'Br', '<br>: The Line Break element'),
 | 
						|
                ('button', 'Button', '<button>: The Button element'),
 | 
						|
                ('canvas', 'Canvas', '<canvas>: The Graphics Canvas element'),
 | 
						|
                ('caption', 'Caption', '<caption>: The Table Caption element'),
 | 
						|
                ('cite', 'Cite', '<cite>: The Citation element'),
 | 
						|
                ('code', 'Code', '<code>: The Inline Code element'),
 | 
						|
                ('col', 'Col', '<col>: The Table Column element'),
 | 
						|
                ('colgroup', 'Colgroup', '<colgroup>: The Table Column Group element'),
 | 
						|
                ('data', 'Data', '<data>: The Data element'),
 | 
						|
                ('datalist', 'Datalist', '<datalist>: The HTML Data List element'),
 | 
						|
                ('dd', 'Dd', '<dd>: The Description Details element'),
 | 
						|
                ('del', 'Del', '<del>: The Deleted Text element'),
 | 
						|
                ('details', 'Details', '<details>: The Details disclosure element'),
 | 
						|
                ('dfn', 'Dfn', '<dfn>: The Definition element'),
 | 
						|
                ('dialog', 'Dialog', '<dialog>: The Dialog element'),
 | 
						|
                ('div', 'Div', '<div>: The Content Division / Divider element'),
 | 
						|
                ('dl', 'Dl', '<dl>: The Description List element'),
 | 
						|
                ('dt', 'Dt', '<dt>: The Description Term element'),
 | 
						|
                ('em', 'Em', '<em>: The Emphasis element'),
 | 
						|
                ('embed', 'Embed', '<embed>: The Embed External Content element'),
 | 
						|
                ('fieldset', 'Fieldset', '<fieldset>: The Field Set element'),
 | 
						|
                ('figcaption', 'Figcaption', '<figcaption>: The Figure Caption element'),
 | 
						|
                ('figure', 'Figure', '<figure>: The Figure with Optional Caption element'),
 | 
						|
                ('footer', 'Footer', '<footer>: The Footer Element'),
 | 
						|
                ('form', 'Form', '<form>: The Form element'),
 | 
						|
                ('h1', 'H1', '<h1>: The Size 1 Heading'),
 | 
						|
                ('h2', 'H2', '<h2>: The Size 2 Heading'),
 | 
						|
                ('h3', 'H3', '<h3>: The Size 3 Heading'),
 | 
						|
                ('h4', 'H4', '<h4>: The Size 4 Heading'),
 | 
						|
                ('h5', 'H5', '<h5>: The Size 5 Heading'),
 | 
						|
                ('h6', 'H6', '<h6>: The Size 6 Heading'),
 | 
						|
                ('head', 'Head', '<head>: The Document Metadata (Head) element'),
 | 
						|
                ('header', 'Header', '<header>: The Header element'),
 | 
						|
                ('hgroup', 'Hgroup', '<hgroup>: The Header element'),
 | 
						|
                ('hr', 'Hr', '<hr>: The Thematic Break (Horizontal Rule) element'),
 | 
						|
                ('html', 'Html', '<html>: The HTML Document / Root element'),
 | 
						|
                ('i', 'I', '<i>: The Idiomatic Text element'),
 | 
						|
                ('iframe', 'Iframe', '<iframe>: The Inline Frame element'),#51
 | 
						|
                ('img', 'Img', '<img>: The Image Embed element'),
 | 
						|
                ('input', 'Input', '<input>: The Input (Form Input) element'),
 | 
						|
                ('ins', 'Ins', '<ins>: The Inserted Text Element'),
 | 
						|
                ('kbd', 'Kbd', '<kbd>: The Keyboard Input element'),
 | 
						|
                ('label', 'Label', '<label>: The Label element'),
 | 
						|
                ('legend', 'Legend', '<legend>: The Field Set Legend element'),
 | 
						|
                ('li', 'Li', '<li>: The List Item element'),
 | 
						|
                ('link', 'Link', '<link>: The External Resource Link element'),#59
 | 
						|
                ('main', 'Main', '<main>: The Main Body element'),
 | 
						|
                ('map', 'Map', '<map>: The Image Map element'),
 | 
						|
                ('mark', 'Mark', '<mark>: The Mark Text element'),
 | 
						|
                ('menu', 'Menu', '<menu>: The Menu element'),
 | 
						|
                ('meta', 'Meta', '<meta>: The metadata element'),
 | 
						|
                ('meter', 'Meter', '<meter>: The HTML Meter element'),
 | 
						|
                ('nav', 'Nav', '<nav>: The Navigation Section element'),
 | 
						|
                ('noscript', 'Noscript', '<noscript>: The Noscript element'),
 | 
						|
                ('object', 'Object', '<object>: The External Object element'),
 | 
						|
                ('ol', 'Ol', '<ol>: The Ordered List element'),
 | 
						|
                ('optgroup', 'Optgroup', '<optgroup>: The Option Group element'),
 | 
						|
                ('option', 'Option', '<option>: The HTML Option element'),
 | 
						|
                ('output', 'Output', '<output>: The Output element'),
 | 
						|
                ('p', 'P', '<p>: The Paragraph element'),
 | 
						|
                ('picture', 'Picture', '<picture>: The Picture element'),
 | 
						|
                ('pre', 'Pre', '<pre>: The Preformatted Text element'),
 | 
						|
                ('progress', 'Progress', '<progress>: The Progress Indicator element'),
 | 
						|
                ('q', 'Q', '<q>: The Inline Quotation element'),
 | 
						|
                ('s', 'S', '<s>: The Strikethrough element'),
 | 
						|
                ('sample', 'Sample', '<samp>: The Sample Output element'),
 | 
						|
                ('script', 'Script', '<script>: The Script element'), #68
 | 
						|
                ('section', 'Section', '<section>: The Generic Section element'),
 | 
						|
                ('select', 'Select', '<select>: The HTML Select element'),
 | 
						|
                ('slot', 'Slot', '<slot>: The Web Component Slot element'),
 | 
						|
                ('small', 'Small', '<small>: The Small Side Comment element'),
 | 
						|
                ('source', 'Source', '<source>: The Media or Image Source element'),
 | 
						|
                ('span', 'Span', '<span>: The Content Span element'),
 | 
						|
                ('strong', 'Strong', '<strong>: The Strong Importance element'),
 | 
						|
                ('style', 'Style', '<style>: The Style Information element'),
 | 
						|
                ('sub', 'Sub', '<sub>: The Subscript element'),
 | 
						|
                ('summary', 'Summary', '<summary>: The Disclosure Summary element'),
 | 
						|
                ('sup', 'Sup', '<sup>: The Superscript element'),
 | 
						|
                ('table', 'Table', '<table>: The Table element'),
 | 
						|
                ('tbody', 'Tbody', '<tbody>: The Table Body element'),
 | 
						|
                ('td', 'Td', '<td>: The Table Data Cell element'),
 | 
						|
                ('template', 'Template', '<template>: The Content Template element'),
 | 
						|
                ('textarea', 'Textarea', '<textarea>: The Textarea element'),
 | 
						|
                ('tfoot', 'Tfoot', '<tfoot>: The Table Foot element'),
 | 
						|
                ('th', 'Th', '<th>: The Table Header element'),
 | 
						|
                ('thead', 'Thead', '<thead>: The Table Head element'),
 | 
						|
                ('time', 'Time', '<time>: The (Date) Time element'),
 | 
						|
                ('title', 'Title', '<title>: The Document Title element'),
 | 
						|
                ('tr', 'Tr', '<tr>: The Table Row element'),
 | 
						|
                ('track', 'Track', '<track>: The Embed Text Track element'),
 | 
						|
                ('u', 'U', '<u>: The Unarticulated Annotation (Underline) element'),
 | 
						|
                ('ul', 'Ul', '<ul>: The Unordered List element'),
 | 
						|
                ('var', 'Var', '<var>: The Variable element'),
 | 
						|
                ('video', 'Video', '<video>: The Video Embed element'),
 | 
						|
                ('wbr', 'Wbr', '<wbr>: The Line Break Opportunity element'),
 | 
						|
                ('custom', 'Custom', '<*/Custom*/>: The Output element')],
 | 
						|
        name='', 
 | 
						|
        default='p',
 | 
						|
        set=set_enum, 
 | 
						|
        get=get_enum)
 | 
						|
 | 
						|
    def lnx_init(self, context):
 | 
						|
        self.add_input('LnxStringSocket', 'Content')        
 | 
						|
        self.add_input('LnxStringSocket', 'ID')
 | 
						|
        self.add_input('LnxStringSocket', 'Class')
 | 
						|
        self.add_input('LnxStringSocket', 'Style')
 | 
						|
 | 
						|
 | 
						|
        self.add_output('LnxDynamicSocket', 'Element')
 | 
						|
        self.add_output('LnxStringSocket', 'HTML')
 | 
						|
 | 
						|
 | 
						|
    def draw_buttons(self, context, layout):
 | 
						|
        layout.prop(self, 'property0')
 | 
						|
 | 
						|
 | 
						|
    def draw_label(self) -> str:
 | 
						|
        context = self.inputs[0].get_default_value()
 | 
						|
        if len(context) > 0:
 | 
						|
            return f'<{self.property0}> {context} </{self.property0}>'
 | 
						|
        return f'Create <{self.property0}>'
 | 
						|
 | 
						|
 | 
						|
def register():
 | 
						|
    add_category('HTML', icon='SEQ_STRIP_META')
 | 
						|
    CreateElementNode.on_register()
 |