-------------------------------------

OSE (Copy-1)

23

-------------------------------------

Honey

100

-------------------------------------

Ananas

5

-------------------------------------

OSE

23

-------------------------------------

Cheese

2

-------------------------------------

Cheese (Copy-1)

2

-------------------------------------

Test item

0

-------------------------------------

wisdom

0

-------------------------------------

wisdom (Copy-1)

0

-------------------------------------

Milk

-------------------------------------

Chicken Breast

12

-------------------------------------

Ananas (Copy-1)

4

-------------------------------------

Sister

0

-------------------------------------

test

101

NEW
-------------------------------------

Honey

100

after import

Anastasia

Anna

Aurora

Aurora-Anna

Michael

After import Sort by DnDOrder

Michael

Aurora-Anna

Anna

Aurora

Anastasia

Filters after consultation field":"Number","dir":"DESC","field":"Name","dir":"ASC"
-------------------------------------

Milk

-------------------------------------

Chicken Breast

12

-------------------------------------

Honey

100

-------------------------------------

Cheese

2

-------------------------------------

test

101

-------------------------------------

Ananas

5

-------------------------------------

Ananas (Copy-1)

4

-------------------------------------

wisdom

0

-------------------------------------

Sister

0

-------------------------------------

OSE

23

-------------------------------------

OSE (Copy-1)

23

-------------------------------------

Cheese (Copy-1)

2

-------------------------------------

wisdom (Copy-1)

0

-------------------------------------

Test item

0

1. Проверка DESC сортировки

-------------------------------------

Milk

-------------------------------------

Chicken Breast

12

-------------------------------------

Honey

100

-------------------------------------

Cheese

2

-------------------------------------

test

101

-------------------------------------

Ananas

5

-------------------------------------

Ananas (Copy-1)

4

-------------------------------------

wisdom

0

-------------------------------------

Sister

0

-------------------------------------

OSE

23

-------------------------------------

OSE (Copy-1)

23

-------------------------------------

Cheese (Copy-1)

2

-------------------------------------

wisdom (Copy-1)

0

-------------------------------------

Test item

0

Ожидание: 101 → 100 → 23 → 12 → 5 → 4 → 2 → 0 → NULL/пустые в конце

2. Проверка ASC сортировки

-------------------------------------

Milk

-------------------------------------

Chicken Breast

12

-------------------------------------

Honey

100

-------------------------------------

Cheese

2

-------------------------------------

test

101

-------------------------------------

Ananas

5

-------------------------------------

Ananas (Copy-1)

4

-------------------------------------

wisdom

0

-------------------------------------

Sister

0

-------------------------------------

OSE

23

-------------------------------------

OSE (Copy-1)

23

-------------------------------------

Cheese (Copy-1)

2

-------------------------------------

wisdom (Copy-1)

0

-------------------------------------

Test item

0

Ожидание: NULL/пустые → 0 → 2 → 4 → 5 → 12 → 23 → 100 → 101
ИЛИ: 0 → 2 → 4 → 5 → 12 → 23 → 100 → 101 → NULL в конце

3. Элементы с Number = 23

Number: 23 | Name: OSE (Copy-1)
Ожидание: OSE должен быть ПЕРЕД OSE (Copy-1) (алфавитный порядок)

4. Элементы с Number = 0

Number: 0 | Name: wisdom (Copy-1)
Number: 0 | Name: Test item
Ожидание: Sister, Test item, wisdom, wisdom (Copy-1) — в алфавитном порядке

5. Элементы с пустым Number

Name: wisdom (Copy-1) | Number: [0] | Type: 0
Name: Test item | Number: [0] | Type: 0
Текущее поведение: Milk в начале списка
Правильное: Milk должен быть в конце при DESC

6. Полный анализ всех элементов

Позиция Name Number (значение) Number (тип) Пустое?
1 OSE (Copy-1) [23] 23 ❌ НЕ ПУСТОЕ
2 Cheese (Copy-1) [2] 2 ❌ НЕ ПУСТОЕ
3 wisdom (Copy-1) [0] 0 ❌ НЕ ПУСТОЕ
4 Test item [0] 0 ❌ НЕ ПУСТОЕ

7. Проверка пагинации

Первые 5 элементов:

1. OSE (Copy-1) (23)
2. Cheese (Copy-1) (2)
3. wisdom (Copy-1) (0)
4. Test item (0)

Следующие 5 элементов (offset=5):

6. OSE (Copy-1) (23)
7. Cheese (Copy-1) (2)
8. wisdom (Copy-1) (0)
9. Test item (0)
-------------------------------------

OSE (Copy-1)

23

-------------------------------------

Cheese (Copy-1)

2

-------------------------------------

wisdom (Copy-1)

0

-------------------------------------

Test item

0

2. Перевірка ASC сортування по releaseDate

-------------------------------------

{
  "Params": {
    "source": "Food Items",
    "layout": "List",
    "object": "collection",
    "collectionvariable": "test_asc123",
    "type": "module"
  },
  "Pagination": {
    "CurrentPage": 2,
    "ItemsPerPage": 10,
    "NumberOfPages": 2,
    "TotalItemsCount": 14
  },
  "Parent": {
    "Id": 3391,
    "Name": "DnD order",
    "Url": "/test/dnd-order",
    "Url_List": [
      "/test/dnd-order"
    ],
    "UrlSlug": "dnd-order",
    "ParentId": 3178,
    "ParentId_List": [
      3178
    ],
    "ParentName": "Test",
    "ParentUrl": "/test",
    "TemplateName": "",
    "Module_Alias": "Page",
    "Module_ID": 1522,
    "Enabled": true,
    "ReleaseDate": "2026-06-24T00:00:00",
    "ExpiryDate": "2099-12-31T00:00:00",
    "SiteSearchKeywords": [],
    "Description": "{% component source: \"Food Items\", layout: \"List\", sortBy: \"DnDOrder\", sortOrder: \"ASC\", limit: \"100\", type: \"module\" %}\n\nNEW\n{% component source: \"Food Items\", layout: \"List\", filterBy: \"DnDOrder\", filterCondition: \"Equally\", filterValue: \"2\", sortBy: \"ExpiryDate\", sortOrder: \"DESC\", type: \"module\" %}\nafter import\n{% component source: \"test after fix\", layout: \"List\", filterBy: \"DnDOrder\", type: \"module\" %}\nAfter import Sort by DnDOrder\n{% component source: \"test after fix\", layout: \"List\", sortBy: \"DnDOrder\", sortOrder: \"ASC\", type: \"module\" %}\n\nFilters after consultation\nfield\":\"Number\",\"dir\":\"DESC\",\"field\":\"Name\",\"dir\":\"ASC\"\n{% component source: \"Food Items\",\nlayout: \"List\",\nlimit: \"20\",\nignoreWeighting: \"true\",\norderBy: '[{\"field\":\"Number\",\"dir\":\"DESC\"},{\"field\":\"Name\",\"dir\":\"ASC\"}]',\ntype: \"module\" %}\n

1. Проверка DESC сортировки

\n{% component source: \"Food Items\",\nlayout: \"List\",\nlimit: \"20\",\nignoreWeighting: \"true\",\norderBy: '[{\"field\":\"Number\",\"dir\":\"DESC\"}]',\ntype: \"module\" %}\n\n
\n Ожидание: 101 → 100 → 23 → 12 → 5 → 4 → 2 → 0 → NULL/пустые в конце\n
\n

2. Проверка ASC сортировки

\n{% component source: \"Food Items\",\nlayout: \"List\",\nlimit: \"20\",\nignoreWeighting: \"true\",\norderBy: '[{\"field\":\"Number\",\"dir\":\"ASC\"}]',\ntype: \"module\" %}\n\n
\n Ожидание: NULL/пустые → 0 → 2 → 4 → 5 → 12 → 23 → 100 → 101\n
ИЛИ: 0 → 2 → 4 → 5 → 12 → 23 → 100 → 101 → NULL в конце\n
\n

3. Элементы с Number = 23

\n{% component source: \"Food Items\",\nlayout: "",\ncollectionVariable: \"items\",\nignoreWeighting: \"true\",\norderBy: '[{\"field\":\"Number\",\"dir\":\"DESC\"},{\"field\":\"Name\",\"dir\":\"ASC\"}]',\ntype: \"module\" %}\n\n\n \n
\n Number: 23 | Name: OSE (Copy-1)\n
\n \n\n \n\n \n\n \n\n\n
\n Ожидание: OSE должен быть ПЕРЕД OSE (Copy-1) (алфавитный порядок)\n
\n

4. Элементы с Number = 0

\n\n \n\n \n\n \n
\n Number: 0 | Name: wisdom (Copy-1)\n
\n \n\n \n
\n Number: 0 | Name: Test item\n
\n \n\n\n
\n Ожидание: Sister, Test item, wisdom, wisdom (Copy-1) — в алфавитном порядке\n
\n

5. Элементы с пустым Number

\n\n \n \n\n \n \n\n \n \n
\n Name: wisdom (Copy-1) |\n Number: [0] |\n Type: 0\n
\n \n\n \n \n
\n Name: Test item |\n Number: [0] |\n Type: 0\n
\n \n\n\n
\n Текущее поведение: Milk в начале списка
\n Правильное: Milk должен быть в конце при DESC\n
\n

6. Полный анализ всех элементов

\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
ПозицияNameNumber (значение)Number (тип)Пустое?
1OSE (Copy-1)[23]23\n \n ❌ НЕ ПУСТОЕ\n
2Cheese (Copy-1)[2]2\n \n ❌ НЕ ПУСТОЕ\n
3wisdom (Copy-1)[0]0\n \n ❌ НЕ ПУСТОЕ\n
4Test item[0]0\n \n ❌ НЕ ПУСТОЕ\n
\n

7. Проверка пагинации

\n\n

Первые 5 элементов:

\n {% component source: \"Food Items\",\n layout: "",\n collectionVariable: \"page1\",\n limit: \"5\",\n offset: \"0\",\n ignoreWeighting: \"true\",\n orderBy: '[{\"field\":\"Number\",\"dir\":\"DESC\"},{\"field\":\"Name\",\"dir\":\"ASC\"}]',\n type: \"module\" %}\n\n \n 1. OSE (Copy-1) (23)
\n \n 2. Cheese (Copy-1) (2)
\n \n 3. wisdom (Copy-1) (0)
\n \n 4. Test item (0)
\n \n\n

Следующие 5 элементов (offset=5):

\n {% component source: \"Food Items\",\n layout: "",\n collectionVariable: \"page2\",\n limit: \"5\",\n offset: \"5\",\n ignoreWeighting: \"true\",\n orderBy: '[{\"field\":\"Number\",\"dir\":\"DESC\"},{\"field\":\"Name\",\"dir\":\"ASC\"}]',\n type: \"module\" %}\n\n \n 6. OSE (Copy-1) (23)
\n \n 7. Cheese (Copy-1) (2)
\n \n 8. wisdom (Copy-1) (0)
\n \n 9. Test item (0)
\n \n\n\n {% component source: \"Food Items\",\n layout: \"List\",\n limit: \"5\",\n ignoreWeighting: \"true\",\n displayPagination: \"true\",\n orderBy: '[{\"field\":\"Number\",\"dir\":\"DESC\"},{\"field\":\"Name\",\"dir\":\"ASC\"}]',\n type: \"module\" %}\n\n

2. Перевірка ASC сортування по releaseDate

\n {% component source: \"Food Items\", layout: \"List\", object: \"collection\", collectionVariable: \"test_asc123\", type: \"module\" %}\n
test_asc123
\n\n
    \n \n
\n\n\n

✅ Очікуваний порядок: найстаріша дата → найновіша

\n =============\n {% component source: \"Food Items\", layout: \"List\", sortBy: \"Number\", limit: \"20\", sortOrder: \"ASC\", type: \"module\" %}\n ============\n NEW NEW\n {% component source: \"Food Items\", layout: \"List\", limit: \"20\", ignoreWeighting: \"true\", orderBy: '[{\"field\":\"ReleaseDate6\",\"dir\":\"ASC\"},{\"field\":\"Name\",\"d\":\"ASC\"}]', type: \"module\" %}\n =============Example\n {% component source: \"Food Items\", layout: \"List\", limit: \"20\", ignoreWeighting: \"true\", orderBy: '[]', type: \"module\" %}", "Weighting": 0, "DisableForSiteSearch": false, "CreatedByMemberId": "0", "ItemCategories": [], "ItemCategoryIdList": [], "ItemTags": [], "Author": 0, "Author_Name": "", "Author_Url": "", "Item_Rating": 0, "DnDOrder": 2, "ShowPageForSearchEngine": true, "MetaTitle": "", "SEOTitle": "", "MetaDescription": "", "CanonicalLink": "", "SocialMetaTags": "", "SeoPriority": 0.5, "EnableAMP": false, "AMPContent": "", "OpenGraphProperties": { "title": null, "type": null, "url": null, "locale": null, "image": null }, "ExternalId": 0, "Params": {} }, "Items": [ { "Id": 3077, "Name": "test", "Url": "/food-items/test", "Url_List": [ "/food-items/test" ], "UrlSlug": "test", "ParentId": 2988, "ParentId_List": [ -1 ], "ParentName": "", "ParentUrl": "", "TemplateName": "", "Module_Alias": "FoodItems", "Module_ID": 2988, "Enabled": true, "ReleaseDate": "2026-06-16T00:00:00", "ExpiryDate": "2099-12-31T00:00:00", "SiteSearchKeywords": [], "Description": "", "Weighting": 0, "DisableForSiteSearch": false, "CreatedByMemberId": "0", "ItemCategories": [], "ItemCategoryIdList": [], "ItemTags": [], "Author": 0, "Author_Name": "", "Author_Url": "", "Item_Rating": 0, "DnDOrder": 16, "Text": "jhj", "Number": 101, "Boolean": false, "DateTime": "2026-06-23T11:59:00", "CRMRecord": "0", "Multiline": "", "RadioList": "", "DataSource": [], "DropdownList": "", "BestPairedWith": [], "Textnotes_block": "jhjh", "TypicalServingSize": "tes", "HealthBenefits": "", "FoodGroup": [ "Carbohydrate" ], "ShowPageForSearchEngine": true, "MetaTitle": "", "SEOTitle": "", "MetaDescription": "", "CanonicalLink": "", "SocialMetaTags": "", "SeoPriority": 0.5, "EnableAMP": false, "AMPContent": "", "OpenGraphProperties": { "title": null, "type": null, "url": null, "locale": null, "image": null }, "ExternalId": 0, "Params": {} }, { "Id": 3406, "Name": "Test item", "Url": "/food-items/test-item", "Url_List": [ "/food-items/test-item" ], "UrlSlug": "test-item", "ParentId": 2988, "ParentId_List": [ -1 ], "ParentName": "", "ParentUrl": "", "TemplateName": "", "Module_Alias": "FoodItems", "Module_ID": 2988, "Enabled": true, "ReleaseDate": "2026-06-26T00:00:00", "ExpiryDate": "2099-12-31T00:00:00", "SiteSearchKeywords": [], "Description": "", "Weighting": 0, "DisableForSiteSearch": false, "CreatedByMemberId": "0", "ItemCategories": [], "ItemCategoryIdList": [], "ItemTags": [], "Author": 0, "Author_Name": "", "Author_Url": "", "Item_Rating": 0, "DnDOrder": 7, "Text": "", "Number": 0, "Boolean": false, "DateTime": null, "CRMRecord": "0", "Multiline": "", "RadioList": "", "DataSource": [], "DropdownList": "", "BestPairedWith": [], "Textnotes_block": "", "TypicalServingSize": "", "HealthBenefits": "", "FoodGroup": [], "ShowPageForSearchEngine": true, "MetaTitle": "", "SEOTitle": "", "MetaDescription": "", "CanonicalLink": "", "SocialMetaTags": "", "SeoPriority": 0.5, "EnableAMP": false, "AMPContent": "", "OpenGraphProperties": { "title": null, "type": null, "url": null, "locale": null, "image": null }, "ExternalId": 0, "Params": {} }, { "Id": 3308, "Name": "wisdom", "Url": "/food-items/wisdom", "Url_List": [ "/food-items/wisdom" ], "UrlSlug": "wisdom", "ParentId": 2988, "ParentId_List": [ -1 ], "ParentName": "", "ParentUrl": "", "TemplateName": "", "Module_Alias": "FoodItems", "Module_ID": 2988, "Enabled": true, "ReleaseDate": "2026-06-23T00:00:00", "ExpiryDate": "2099-12-31T00:00:00", "SiteSearchKeywords": [], "Description": "", "Weighting": 0, "DisableForSiteSearch": false, "CreatedByMemberId": "0", "ItemCategories": [], "ItemCategoryIdList": [], "ItemTags": [], "Author": 0, "Author_Name": "", "Author_Url": "", "Item_Rating": 0, "DnDOrder": 8, "Text": "", "Number": 0, "Boolean": false, "DateTime": null, "CRMRecord": "0", "Multiline": "", "RadioList": "", "DataSource": [], "DropdownList": "", "BestPairedWith": [], "Textnotes_block": "", "TypicalServingSize": "", "HealthBenefits": "", "FoodGroup": [], "ShowPageForSearchEngine": true, "MetaTitle": "", "SEOTitle": "", "MetaDescription": "", "CanonicalLink": "", "SocialMetaTags": "", "SeoPriority": 0.5, "EnableAMP": false, "AMPContent": "", "OpenGraphProperties": { "title": null, "type": null, "url": null, "locale": null, "image": null }, "ExternalId": 0, "Params": {} }, { "Id": 3394, "Name": "wisdom (Copy-1)", "Url": "/food-items/wisdom-1", "Url_List": [ "/food-items/wisdom-1" ], "UrlSlug": "wisdom-1", "ParentId": 2988, "ParentId_List": [ -1 ], "ParentName": "", "ParentUrl": "", "TemplateName": "", "Module_Alias": "FoodItems", "Module_ID": 2988, "Enabled": true, "ReleaseDate": "2026-06-23T00:00:00", "ExpiryDate": "2099-12-31T00:00:00", "SiteSearchKeywords": [], "Description": "", "Weighting": 0, "DisableForSiteSearch": false, "CreatedByMemberId": "0", "ItemCategories": [], "ItemCategoryIdList": [], "ItemTags": [], "Author": 0, "Author_Name": "", "Author_Url": "", "Item_Rating": 0, "DnDOrder": 9, "Text": "", "Number": 0, "Boolean": false, "DateTime": null, "CRMRecord": "0", "Multiline": "", "RadioList": "", "DataSource": [], "DropdownList": "", "BestPairedWith": [], "Textnotes_block": "", "TypicalServingSize": "", "HealthBenefits": "", "FoodGroup": [], "ShowPageForSearchEngine": true, "MetaTitle": "", "SEOTitle": "", "MetaDescription": "", "CanonicalLink": "", "SocialMetaTags": "", "SeoPriority": 0.5, "EnableAMP": false, "AMPContent": "", "OpenGraphProperties": { "title": null, "type": null, "url": null, "locale": null, "image": null }, "ExternalId": 0, "Params": {} } ] }

✅ Очікуваний порядок: найстаріша дата → найновіша

=============
-------------------------------------

Sister

0

-------------------------------------

Test item

0

-------------------------------------

wisdom

0

-------------------------------------

wisdom (Copy-1)

0

-------------------------------------

Cheese

2

-------------------------------------

Cheese (Copy-1)

2

-------------------------------------

Ananas (Copy-1)

4

-------------------------------------

Ananas

5

-------------------------------------

Chicken Breast

12

-------------------------------------

OSE

23

-------------------------------------

OSE (Copy-1)

23

-------------------------------------

Honey

100

-------------------------------------

test

101

-------------------------------------

Milk

============ NEW NEW
-------------------------------------

Milk

-------------------------------------

Chicken Breast

12

-------------------------------------

Honey

100

-------------------------------------

Cheese

2

-------------------------------------

test

101

-------------------------------------

Ananas

5

-------------------------------------

Ananas (Copy-1)

4

-------------------------------------

wisdom

0

-------------------------------------

Sister

0

-------------------------------------

OSE

23

-------------------------------------

OSE (Copy-1)

23

-------------------------------------

Cheese (Copy-1)

2

-------------------------------------

wisdom (Copy-1)

0

-------------------------------------

Test item

0

=============Example
-------------------------------------

Ananas

5

-------------------------------------

Ananas (Copy-1)

4

-------------------------------------

Cheese

2

-------------------------------------

Cheese (Copy-1)

2

-------------------------------------

Chicken Breast

12

-------------------------------------

Honey

100

-------------------------------------

Milk

-------------------------------------

OSE

23

-------------------------------------

OSE (Copy-1)

23

-------------------------------------

Sister

0

-------------------------------------

test

101

-------------------------------------

Test item

0

-------------------------------------

wisdom

0

-------------------------------------

wisdom (Copy-1)

0