How to use the mobx-state-tree.types.number function in mobx-state-tree

To help you get started, we’ve selected a few mobx-state-tree examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github coderplanets / coderplanets_admin / stores / CommentsStore / index.js View on Github external
// toggle main comment box
    showInputBox: t.optional(t.boolean, false),
    // toggle editor inside the comment box
    showInputEditor: t.optional(t.boolean, false),
    // toggle markdown preview inside the comment box
    showInputPreview: t.optional(t.boolean, false),

    // toggle modal editor for reply
    showReplyBox: t.optional(t.boolean, false),
    showReplyEditor: t.optional(t.boolean, false),
    showReplyPreview: t.optional(t.boolean, false),

    // current to be delete comment id, use to target the confirm mask
    tobeDeleteId: t.maybe(t.string),
    // words count for current comment (include reply comment)
    countCurrent: t.optional(t.number, 0),
    // cur filter type of comment list
    filterType: t.optional(
      t.enumeration('filterType', [
        TYPE.DESC_INSERTED,
        TYPE.ASC_INSERTED,
        TYPE.MOST_LIKES,
        TYPE.MOST_DISLIKES,
      ]),
      TYPE.ASC_INSERTED
    ),
    // content input of current comment editor
    editContent: t.optional(t.string, ''),
    // content input of current reply comment editor
    replyContent: t.optional(t.string, ''),
    // comments pagination data of current COMMUNITY / Thread
    entries: t.optional(t.array(Comment), []),
github birkir / hekla / src / stores / models / Item.ts View on Github external
import Account from '../Account';

const entities = new XmlEntities();

const MAX_LEVELS = 5;
const ITEMS_PER_LEVEL = 5;

/**
 * Item model
 */
const Item = types.model('Item', {
  // Base fields
  id: types.identifier(types.string),
  type: types.string,
  by: types.maybe(types.string),
  descendants: types.optional(types.number, 0),
  kids: types.optional(types.array(types.number), []),
  score: types.maybe(types.number),
  time: types.number,
  title: types.maybe(types.string),
  text: types.maybe(types.string),
  url: types.maybe(types.string),
  parent: types.maybe(types.string),

  // App specific fields
  metadata: types.maybe(Metadata),
  belongsTo: types.optional(types.array(types.string), []),
  comments: types.optional(types.array(types.late(() => ItemReference)), []),
  offset: types.optional(types.number, 0),
  isPending: types.optional(types.boolean, false),
  isError: types.optional(types.boolean, false),
})
github coderplanets / coderplanets_admin / stores / CommunitiesStore / index.js View on Github external
import { types as t, getParent } from 'mobx-state-tree'

import { markStates, buildLog } from '@utils'
import { Community } from '@model'

/* eslint-disable no-unused-vars */
const log = buildLog('S:communities')
/* eslint-enable no-unused-vars */
// const log = buildLog('S:CommunitiesStore')

const CommunitiesStore = t
  .model('CommunitiesStore', {
    entries: t.optional(t.array(Community), []),
    pageNumber: t.optional(t.number, 1),
    pageSize: t.optional(t.number, 20), // TODO: USE CONSTANTS
    totalCount: t.optional(t.number, 0),
    totalPages: t.optional(t.number, 0),

    // filter: {catalogry ... }

    // id: t.identifier(),
    // languages: t.map(PlModel),
    // frameworks: t.map(FrameworkModel),
    // databases: t.map(DatabaseModel),
    // cheatsheet: t.optional(CheatSheetModal, { title: '', desc: '', raw: '' }),
    // jobs: ...
    // themes: ...
    // log: ...
    // user: ...
    // cmds: t.map(CmdModel),
  })
  .views(self => ({
github charlessolar / eShopOnContainersDDD / src / Web / src / app / models / basket / baskets.ts View on Github external
customerId: string;
  customer: string;
  totalItems: number;
  totalQuantity: number;
  subTotal: number;
  created: number;
  updated: number;
}
export const BasketIndexModel = types
  .model('Basket_BasketIndex', {
    id: types.identifier(types.string),
    customerId:  types.optional(types.string, ''),
    customer: types.optional(types.string, ''),
    totalItems: types.number,
    totalQuantity: types.number,
    subTotal: types.number,
    created: types.number,
    updated: types.number
  });
github Feverqwe / tSearch / src / stores / FiltersStore.js View on Github external
* @property {number} [maxPeer]
 * @property {number} [minTime]
 * @property {number} [maxTime]
 * @property {function} setText
 * @property {function} setSize
 * @property {function} setSeed
 * @property {function} setPeer
 * @property {function} setTime
 * @property {function} getTextFilterRe
 * @property {function} testText
 * @property {function} testRange
 * @property {function} getFilter
 */
const FiltersStore = types.model('FiltersStore', {
  text: types.optional(types.string, ''),
  minSize: types.optional(types.number, 0),
  maxSize: types.optional(types.number, 0),
  minSizeGb: types.optional(types.number, 0),
  maxSizeGb: types.optional(types.number, 0),
  minSeed: types.optional(types.number, 0),
  maxSeed: types.optional(types.number, 0),
  minPeer: types.optional(types.number, 0),
  maxPeer: types.optional(types.number, 0),
  minTime: types.optional(types.number, 0),
  maxTime: types.optional(types.number, 0),
}).actions(/**FiltersStore*/self => {
  return {
    setText(value) {
      self.text = value;
    },
    setSize(min, max) {
      const factor = 1024 * 1024 * 1024;
github grafana / grafana / public / app / stores / TeamsStore / TeamsStore.ts View on Github external
import { types, getEnv, flow } from 'mobx-state-tree';

export const TeamMember = types.model('TeamMember', {
  userId: types.identifier(types.number),
  teamId: types.number,
  avatarUrl: types.string,
  email: types.string,
  login: types.string,
});

type TeamMemberType = typeof TeamMember.Type;
export interface ITeamMember extends TeamMemberType {}

export const TeamGroup = types.model('TeamGroup', {
  groupId: types.identifier(types.string),
  teamId: types.number,
});

type TeamGroupType = typeof TeamGroup.Type;
export interface ITeamGroup extends TeamGroupType {}
github HeskeyBaozi / umi-plugin-mobx / examples / user-dashboard / src / pages / users / stores / users.ts View on Github external
import { AxiosResponse } from 'axios';
import { flow, types } from 'mobx-state-tree';
import { Loading } from '../../../stores/$loading';
import { $ } from '../../../utils';
import { User } from './$user';

const Users = types
  .compose(Loading, types.model({
    list: types.array(User),
    total: types.maybe(types.number),
    page: types.maybe(types.number)
  }))
  .named('users')
  .volatile(() => {
    return {
      PAGE_SIZE: 5
    };
  })
  .actions((self) => {
    return {
      fetchAsync: flow(function* fetchAsync({ page }: { page: number }) {
        const { data, headers }: AxiosResponse = yield $.get(`/users?_page=${page}&_limit=${self.PAGE_SIZE}`);
        self.list.clear();
        self.list.push(...data);
        self.total = Number.parseInt(headers['x-total-count'], 10);
        self.page = page;
github zooniverse / front-end-monorepo / packages / app-project / stores / Project.js View on Github external
import { get } from 'lodash'
import asyncStates from '@zooniverse/async-states'
import { flow, getRoot, types } from 'mobx-state-tree'

import numberString from './types/numberString'

const Project = types
  .model('Project', {
    avatar: types.frozen({}),
    background: types.frozen({}),
    classifications_count: types.optional(types.number, 0),
    classifiers_count: types.optional(types.number, 0),
    configuration: types.frozen({}),
    completeness: types.optional(types.number, 0),
    description: types.optional(types.string, ''),
    display_name: types.maybeNull(types.string),
    error: types.frozen({}),
    experimental_tools: types.frozen([]),
    id: types.maybeNull(numberString),
    introduction: types.maybeNull(types.string),
    launch_approved: types.optional(types.boolean, false),
    links: types.maybeNull(types.frozen({})),
    loadingState: types.optional(types.enumeration('state', asyncStates.values), asyncStates.initialized),
    researcher_quote: types.maybeNull(types.string),
    owners: types.frozen([]),
    retired_subjects_count: types.optional(types.number, 0),
    slug: types.optional(types.string, ''),
github coderplanets / coderplanets_admin / stores / SharedModel / Community.js View on Github external
raw: t.string,
})

export const SimpleCategory = t.model('Category', {
  id: t.maybeNull(t.string),
  title: t.maybeNull(t.string),
})

export const Community = t.model('Community', {
  id: t.maybeNull(t.string),
  title: t.maybeNull(t.string),
  desc: t.optional(t.string, ''),
  raw: t.maybeNull(t.string),
  logo: t.maybeNull(t.string),
  categories: t.optional(t.array(SimpleCategory), []),
  contributesDigest: t.optional(t.array(t.number), []),
  subscribersCount: t.optional(t.number, 0),
  editorsCount: t.optional(t.number, 0),
  postsCount: t.optional(t.number, 0),
  jobsCount: t.optional(t.number, 0),
  videosCount: t.optional(t.number, 0),
  reposCount: t.optional(t.number, 0),

  threadsCount: t.optional(t.number, 0),
  tagsCount: t.optional(t.number, 0),

  viewerHasSubscribed: t.maybeNull(t.boolean),
  threads: t.optional(t.array(Thread), []),
  insertedAt: t.optional(t.string, ''),
  updatedAt: t.optional(t.string, ''),
})
github codesandbox / codesandbox-client / packages / app / src / app / store / model.js View on Github external
github: types.maybeNull(
          types.model({
            email: types.maybeNull(types.string),
          })
        ),
        zeit: types.maybeNull(
          types.model({
            email: types.maybeNull(types.string),
            token: types.string,
          })
        ),
      }),
      name: types.maybeNull(types.string),
      subscription: types.maybeNull(
        types.model({
          amount: types.number,
          since: types.string,
          cancelAtPeriodEnd: types.maybeNull(types.boolean),
        })
      ),
      username: types.maybeNull(types.string),
      sendSurvey: types.maybeNull(types.boolean),
    })
  ),
  connected: types.boolean,
  isLoadingCLI: types.boolean,
  isLoadingGithub: types.boolean,
  isLoadingZeit: types.boolean,
  contextMenu: types.model({
    show: types.boolean,
    items: types.array(types.string),
    x: types.number,