
##########
LinkObject
##########


****
NAME
****


Kernel::Output::HTML::Layout::LinkObject - all LinkObject-related HTML functions


***********
DESCRIPTION
***********


All LinkObject-related HTML functions


****************
PUBLIC INTERFACE
****************


LinkObjectTableCreate()
=======================


create a output table


.. code-block:: perl

     my $String = $LayoutObject->LinkObjectTableCreate(
         LinkListWithData => $LinkListWithDataRef,
         ViewMode         => 'Simple', # (Simple|SimpleRaw|Complex|ComplexAdd|ComplexDelete|ComplexRaw)
     );



LinkObjectTableCreateComplex()
==============================


create a complex output table


.. code-block:: perl

     my $String = $LayoutObject->LinkObjectTableCreateComplex(
         LinkListWithData => $LinkListRef,
         ViewMode         => 'Complex', # (Complex|ComplexAdd|ComplexDelete|ComplexRaw)
     );



LinkObjectTableCreateSimple()
=============================


create a simple output table


.. code-block:: perl

     my $String = $LayoutObject->LinkObjectTableCreateSimple(
         LinkListWithData => $LinkListWithDataRef,
         ViewMode         => 'SimpleRaw',            # (optional) (Simple|SimpleRaw)
     );



LinkObjectSelectableObjectList()
================================


return a selection list of link-able objects


.. code-block:: perl

     my $String = $LayoutObject->LinkObjectSelectableObjectList(
         Object   => 'Ticket',
         Selected => $Identifier,  # (optional)
     );



LinkObjectSearchOptionList()
============================


return a list of search options


.. code-block:: perl

     my @SearchOptionList = $LayoutObject->LinkObjectSearchOptionList(
         Object    => 'Ticket',
         SubObject => 'Bla',     # (optional)
     );



ComplexTablePreferencesGet()
============================


get items needed for AllocationList initialization.


.. code-block:: perl

     my %Preferences = $LayoutObject->ComplexTablePreferencesGet(
         Config  => {
             'DefaultColumns' => {
                 'Age' => 1,
                 'EscalationTime' => 1,
                 ...
             },
             Priority => {
                 'Age' => 120,
                 'TicketNumber' => 100,
                 ...
             }
         }.
         PrefKey => "LinkObject::ComplexTable-Ticket",
     );


Returns:


.. code-block:: perl

     %Preferences =  {
         'ColumnsAvailable' => '["Age","Changed","CustomerID","CustomerName","CustomerUserID",...]',
         'Block' => 'AllocationList',
         'Translation' => 1,
         'Name' => 'ContentLarge',
         'Columns' => '{"Columns":{"SLA":0,"Type":0,"Owner":0,"Service":0,"CustomerUserID":0,...}}',
         'Desc' => 'Shown Columns',
         'ColumnsEnabled' => '["State","TicketNumber","Title","Created","Queue"]',
     };



ComplexTablePreferencesSet()
============================


set user preferences.


.. code-block:: perl

     my $Success = $LayoutObject->ComplexTablePreferencesSet(
         DestinationObject => 'Ticket',
     );



_LinkObjectContentStringCreate()
================================


return a output string


.. code-block:: perl

     my $String = $LayoutObject->_LinkObjectContentStringCreate(
         Object       => 'Ticket',
         ContentData  => $HashRef,
         LayoutObject => $LocalLayoutObject,
     );



_LoadLinkObjectLayoutBackend()
==============================


load a linkobject layout backend module


.. code-block:: perl

     $BackendObject = $LayoutObject->_LoadLinkObjectLayoutBackend(
         Object => 'Ticket',
     );





