API Docs
HomeDocsWebsite
  • Home
  • Introduction
    • Authorization
      • Authorize
      • Get a Token
      • Third-Party Login
    • Field Types and Validation
      • Field Types
      • Validation
    • Query Manipulation
      • Constraints
      • Result Control
      • Value Filters
    • Entity Permissions
      • Restricted Scope
  • API reference
    • Infoboard
      • InfoboardChannels
      • InfoboardPosts
      • InfoboardPostSeenUsers
      • InfoboardPostReadUsers
      • InfoboardComments
      • InfoboardDepartmentSettings
    • Manual
      • ManualChapters
      • ManualEntries
      • ManualEntrySeenUsers
    • Calendar
      • Calendars
      • CalendarEvents
    • Filemanager
      • FilemanagerDirectories
      • FilemanagerFiles
    • Files
    • Forms
      • Forms
      • FormFields
      • FormFieldTypes
      • FormFieldValidations
      • FormFieldValidationTypes
      • FormMessages
      • FormMessageFields
    • Layouts
      • Layouts
      • LayoutRows
      • LayoutColumns
      • LayoutColumnLayoutElements
    • Tasks 2.0
      • TaskTemplates
      • TaskFields
      • TaskAssignments
      • TaskExecutions
      • TaskProgressFields
    • Departments
    • Roles
    • Permissions
    • Users
    • EntityPermissions
    • Notifications
    • Reactions
    • Icons
    • Folders
    • SharedItems
    • UrlContext
  • Resources
    • Release Notes
      • v2.106.0
      • v2.102.0
Powered by GitBook
On this page
  • Introduction
  • Model Definition
  • Relations
  • LayoutElement types
  • Traits
  • Attach
  • Sync
  • Detach
  1. API reference
  2. Layouts

LayoutColumnLayoutElements

PreviousLayoutColumnsNextTasks 2.0

Last updated 10 months ago

Introduction

After defining a with and you probably want to add items to the defined .

The layout system is capable of managing different entity types in one . Information about LayoutElements that should be displayed on a is managed by the LayoutColumnLayoutElements intermediate model.

To access information of this intermediate model such as the sort_number, you should make use of the pivot information that will always be returned when including the layoutElements relation described in or the layoutColumns relation on LayoutElements. You can find the available entity types that can be attached to a below.

Model Definition

Relations

Key
Relation
Type
Relation Field(s)

layoutColumn

Belongs to

layout_column_id

layoutElement

LayoutElement

Morph to

layout_element_type, layout_element_id

LayoutElement types

  • formField ()

LayoutElement types are keys for different entities existing in our system. Every LayoutElement type listed here has itself a relationship to which can be accessed with the key layoutColumns.

When retrieving such a relation (internally utilizing this intermediate model), there will always be a pivot object attached holding the information described in this section.

You can use the pivot information for sorting and such.

Affected entities are marked with the trait LayoutElement.

Traits

  • Sortable

  • SoftDeletes

Attach

Definition

POST /api/layouts/elements/columns/attach

Request Keys

Key
Type
Default
Description

layout_element_type *

string

null

The title for the layout

layout_element_id*

string

-

Layoutable type (see above)

layout_column_ids*

array

-

Layoutable ID (see above)

sort_number

integer

Current highest +1

Keys with * are required.

Example Request

$client = new GuzzleHttp\Client(['base_uri' => 'https://{tenant}.intratool.de']);
$response = $client->request('POST', '/api/layouts/elements/columns/attach', [
    'headers' => ['Authorization' => "Bearer {accessToken}"],
    'json' => [
        "layout_element_type": "formField",
        'layout_element_id' => 1,
        'layout_column_ids': [1]
    ]
]);

Example Response

[
  {
    "id": 1,
    "title": null,
    "layout_row_id": 1,
    "width": 6,
    "sort_number": 1,
    "created_at": "2021-10-25 19:07:59",
    "updated_at": "2021-10-25 19:07:59",
    "deleted_at": null,
    "pivot": {
      "layout_element_id": 1,
      "layout_column_id": 1,
      "layout_element_type": "formField",
      "created_at": "2023-04-17 21:23:07",
      "updated_at": "2023-04-17 21:23:07",
      "id": 2,
      "sort_number": 1
    }
  },
  {
    "id": 2,
    "title": null,
    "layout_row_id": 2,
    "width": 6,
    "sort_number": 2,
    "created_at": "2021-10-25 19:07:59",
    "updated_at": "2021-10-25 19:07:59",
    "deleted_at": null,
    "pivot": {
      "layout_element_id": 1,
      "layout_column_id": 2,
      "layout_element_type": "formField",
      "created_at": "2023-04-28 14:14:04",
      "updated_at": "2023-04-28 14:14:04",
      "id": 104,
      "sort_number": 1
    }
  }
]

Sync

Definition

POST /api/layouts/elements/columns/sync

Key
Type
Default
Description

layout_element_type *

string

null

The title for the layout.

layout_element_id*

string

-

Layoutable type (see above).

layout_column_ids*

array

-

Layoutable ID (see above).

sort_number

integer

Current highest +1

Example Request

$client = new GuzzleHttp\Client(['base_uri' => 'https://{tenant}.intratool.de']);
$response = $client->request('POST', '/api/layouts/elements/columns/sync', [
    'headers' => ['Authorization' => "Bearer {accessToken}"],
    'json' => [
        "layout_element_type": "formField",
        'layout_element_id' => 1,
        'layout_column_ids': [1]
    ]
]);

Example Response

[
  {
    "id": 1,
    "title": null,
    "layout_row_id": 1,
    "width": 12,
    "sort_number": 1,
    "created_at": "2021-10-25 19:07:59",
    "updated_at": "2021-10-25 19:07:59",
    "deleted_at": null,
    "pivot": {
      "layout_element_id": 1,
      "layout_column_id": 1,
      "layout_element_type": "formField",
      "created_at": "2023-04-28 14:16:16",
      "updated_at": "2023-04-28 14:16:16",
      "id": 105,
      "sort_number": 5
    }
  }
]

Detach

Definition

POST /api/layouts/elements/columns/detach

Request Keys

Key
Type
Default
Description

layout_element_type*

string

null

The title for the layout.

layout_element_id*

string

-

Layoutable type (see above).

layout_column_ids*

array

-

Layoutable ID (see above).

sort_number

integer

Current highest +1

Keys with * are required.

Example Request

$client = new GuzzleHttp\Client(['base_uri' => 'https://{tenant}.intratool.de']);
$response = $client->request('POST', '/api/layouts/elements/columns/detach', [
    'headers' => ['Authorization' => "Bearer {accessToken}"],
    'json' => [
        "layout_element_type" => "formField",
        "layout_element_id" => 1,
        "layout_column_ids" => [1]
    ]
]);

Example Response

[]

Attaches a LayoutElement to a and returns all the given Element is related to after.

The index of the LayoutElementLayoutColumn related to the

Attaches the given LayoutElement to many and detaches the element from any that is not posted.

The index of the LayoutElementLayoutColumn related to the .

Detaches a LayoutElement from a and returns all the given Element is related to after.

The index of the LayoutElementLayoutColumn related to the .

Layout
LayoutRows
LayoutColumns
LayoutColumns
LayoutColumns
LayoutColumns
LayoutColumns
LayoutColumn
FormField
LayoutColumns
LayoutColumn
LayoutColumns
LayoutColumns
LayoutColumn
LayoutColumn
LayoutColumns
LayoutColumn
LayoutColumn
LayoutColumn
LayoutColumn