PortfolioUserArticles

Страница со списком статей пользователя, фильтром и пагинацией

Методы для получения данных страницы находятся в /registry/stores/portfolio/user-articles.ts

Props

user

  • type: BaseUser
  • required: true

Пользователь статьи которого просматривают

articles

  • type: ComponentState['articles']
  • default: () => []

Список статей

Снаружи необходимо подписаться на portfolioArticleSyncModel

@example Подписка

import {
  portfolioArticleSyncModel,
  mergeListElemToCommonArticle,
} from 'shared-front/lib/sections/portfolio/sync-models';

export default defineComponent({
  mounted() {
    this.$once(
      'hook:beforeDestroy',
      portfolioArticleSyncModel.subscribe({
        get: () => this.articles,
        merge: mergeListElemToCommonArticle,
      }),
    );
  },
});

meta

  • type: ComponentState['meta']
  • required: true

Пагинация для страницы

initForm

  • type: ComponentState['form']
  • default: null

Фильтр

pending

  • type: boolean
  • default: false

disableWorkType

  • type: boolean
  • default: false

Отключение селекта "Тип работы" в фильтре

disciplinePlaceholder

  • type: string
  • default: 'Все предметы'

disciplineGroupPlaceholder

  • type: string
  • default: 'Все разделы'

Events

Event namePropertiesDescription
update:initFormform ComponentState['form'] - новый объект формыПолное обновление формы
submitSubmit фильтра, после этого события необходимо перезагрузить страницу с новыми данными
resetСброс формы фильтра, после этого события необходимо перезагрузить страницу с новыми данными
change-pagepage number - новая страницаСмена страницы, после этого события необходимо перезагрузить страницу с новыми данными