Для запуска dev версии:
Для продакшн сборки:
npm run build
Файлы собранного фронта будет сохранены в папке build
текущего проекта.
Посредством интерфейса создаются статьи в интерактивном редакторе. В редакторе есть много опций для работы с текстом, изображениями и др.
После создания статьи появляется возможность получить её по АПИ в виде JSON-объекта.
Редактор - это стороняя библиотека ckeditor5 с нашими надстройками поверх. Плагины редактора как и сам редактор с его конфигом лежат в /src/primitives/Editor. Любая опция в тулбаре редактора это плагин, в основном используются те что из коробки, но также есть и кастомные.
title: Тестирование административной панели WS
roles:
- admin
- guest
- user
- content-manager
permissions:
allow:
- "*"
deny:
- guest
sideMenu:
dataSource:
type: list
options:
data:
- title: Список
code: testList
permissions:
allow:
- "*"
deny:
- guest
to: "/list"
- title: Вложенность
code: inDeep
permissions:
allow:
- "*"
deny:
- guest
to: "/deep"
- title: Детальная страница
code: detail
permissions:
allow:
- admin
deny:
- "*"
to: "/detail/1"
screens:
- pageUrl: "/deep"
title: Тестирование блоков
blocks:
- name: TestBlock1
type: TestBlock
dataSource:
type: list
options:
data: test.name
blocks:
- name: TestBlock2
type: TestBlock
blocks: []
actions:
inc:
type: redirect
options:
url: "/user/{{login}}"
dataSource:
type: list
options:
data: получилось???
context1: test.name
- pageUrl: "/list"
title: Тестирование административной панели WS
blocks:
- type: List
permissions:
allow:
- "*"
deny:
- guest
dataSource:
type: list
options:
data:
columns:
- title: Name
field: name
- title: Surname
field: surname
- title: Birth Year
field: birthYear
type: numeric
- title: Birth Place
field: birthCity
lookup:
'34': İstanbul
'63': Şanlıurfa
data:
- id: '11141'
name: Mehmet
surname: Baran
birthYear: 1987
birthCity: 63
- name: Zerya Betül
surname: Baran
birthYear: 2017
birthCity: 34
actions:
view:
type: redirect
options:
url: "/user/{{login}}"
delete:
permissions:
allow:
- admin
deny:
- "*"
type: api:request
options:
url: "/api/admin/user/delete"
method: delete
params:
id: "{{id}}"
create:
permissions:
allow:
- "*"
deny:
- guest
type: api:request
options:
url: "/api/admin/user/create"
method: post
params:
id: "{{name}}"
update:
permissions:
allow:
- "*"
deny:
- guest
type: redirect
options:
url: admin/user/update/{{id}}
config:
pagination:
countOnPage: 20
- pageUrl: "/detail/:pageId"
title: Детальная страница пользователя
blocks:
- type: DetailView
dataSource:
type: api
options:
url: "/api/admin/user/{{pageId}}"
context: screen.user
actions:
delete:
permissions:
allow:
- admin
deny:
- "*"
type: api:request
options:
url: "/api/admin/user/delete"
method: get
params:
id: "{{screen.user.id}}"
update:
permissions:
allow:
- "*"
deny:
- guest
type: api:request
options:
url: "/api/admin/user/update"
method: post
params:
id: "{{id}}"
config:
fields:
- title: 'ФИО:'
type: Input
config:
validations:
- text
- length > 3
value: "{{screen.user.name}}"
- title: 'ФИО1:'
type: Input
config:
validations:
- text
- length > 3
value: "{{name2}}"
- title: 'Изображение профиля:'
type: ImageViewer
config:
multiFiles: false
validations:
- type:jpg,png
- sizeLessThen:10mb
value: https://jssors8.azureedge.net/demos/image-slider/img/faded-monaco-scenery-evening-dark-picjumbo-com-image.jpg
- title: 'Приглашен пользователем:'
type: Dropdown
value: "{{isInvitedBy}}"
dataSource:
alias: dpAllUsers
type: api
options:
url: "/api/admin/users"
config:
suggests:
dataSource:
type: list
options:
data: "{{dpAllUsers}}"