name: instances
icon: task
label: Request
enable_search: true
enable_dataloader: false
hidden: false
fields:
  name:
    label: Name
    type: text
    defaultValue: ''
    description: ''
    inlineHelpText: ''
    required: true
    searchable: true
    is_wide: true
    name: name
    filterable: true
    amis:
      className:
        'color-priority-danger': "${extras && extras.priority == '特急'}"
        'color-priority-warning': "${extras && extras.priority == '紧急'}"
        'color-priority-muted': "${extras && extras.priority == '办文'}" 
  submitter_name:
    type: text
    label: Submitter's Name
    hidden: false
    name: submitter_name
    filterable: true
    searchable: true
  flow:
    label: Workflow
    type: lookup
    reference_to: flows
    readonly: true
    name: flow
    filterable: true
    amis:
      type: 'steedos-select-flow'
      mode: "tree-select"
      allData: "\\${isLookup === true}"
  flow_version:
    label: Workflow Version
    type: text
    hidden: true
    name: flow_version
  form:
    label: Form
    type: lookup
    reference_to: forms
    readonly: true
    name: form
    filterable: false
  form_version:
    label: Form Version
    type: text
    hidden: true
    name: form_version
  submitter:
    label: Submitter
    type: lookup
    reference_to: users
    readonly: true
    name: submitter
    filterable: false
    write_requires_master_read: true
  applicant_organization_name:
    type: text
    label: Applicant Department's Name
    hidden: false
    name: applicant_organization_name
    filterable: true
  submit_date:
    type: datetime
    label: Submit Date
    name: submit_date
    sortable: true
    filterable: true
  applicant:
    type: lookup
    label: Applicant
    reference_to: users
    name: applicant
    filterable: false
  applicant_name:
    type: text
    label: Applicant's Name
    hidden: true
    name: applicant_name
  applicant_organization:
    type: lookup
    label: Applicant Department
    reference_to: organizations
    name: applicant_organization
    filterable: false
  applicant_organization_fullname:
    type: text
    label: Applicant Department's Fullname
    hidden: true
    name: applicant_organization_fullname
  code:
    label: Code
    type: text
    hidden: true
    name: code
  values:
    blackbox: true
    omit: true
    label: Field Values
    hidden: false
    name: values
  inbox_users:
    type: lookup
    multiple: true
    reference_to: users
    label: Inbox Users
    name: inbox_users
    filterable: false
  outbox_users:
    type: lookup
    multiple: true
    reference_to: users
    label: Outbox Users
    name: outbox_users
    filterable: false
  traces:
    type: '[Object]'
    blackbox: true
    omit: true
    label: Processing Traces
    hidden: true
    name: traces
  attachments:
    type: '[Object]'
    blackbox: true
    omit: true
    label: Attachments
    hidden: true
    name: attachments
  flow_name:
    type: text
    label: Workflow Name
    hidden: false
    name: flow_name
  category_name:
    type: text
    label: Category Name
    hidden: true
    name: category_name
  category:
    label: Category
    type: lookup
    reference_to: categories
    hidden: true
    name: category
    filterable: false
  state:
    label: Processing State
    type: select
    options:
      - label: Draft
        value: draft
      - label: Pending
        value: pending
      - label: Completed
        value: completed
    readonly: true
    name: state
    filterable: true
  # is_recorded:
  #   type: boolean
  #   label: Recorded
  #   name: is_recorded
  is_archived:
    type: boolean
    label: Archived
    hidden: false
    name: is_archived
    filterable: true
  is_deleted:
    type: boolean
    label: Deleted
    hidden: true
  # is_recorded_creator:
  #   type: boolean
  #   label: Synced
  #   name: is_recorded_creator
  related_instances:
    type: lookup
    multiple: true
    reference_to: instances
    label: Related Instances
    is_wide: true
    name: related_instances
    filterable: false
  record_ids:
    label: Record IDs
    type: lookup
    reference_to: []
    visible_on: "{{global.mode ==='read' ? true : false}}"
    name: record_ids
  # record_ids.$.o:
  #   type: text
  #   hidden: true
  #   name: record_ids.$.o
  # record_ids.$.ids:
  #   type: '[text]'
  #   hidden: true
  #   name: record_ids.$.ids
  # company_id:
  #   required: false
  #   omit: false
  #   hidden: false
  current_step_name:
    label: Current Step Name
    type: text
    hidden: false
  current_step_auto_submit:
    label: Auto Submit if Time Out
    type: boolean
    omit: true
    hidden: true
    name: current_step_auto_submit
  applicant_company:
    label: Applicant's Division
    type: lookup
    reference_to: company
    name: applicant_company
  forward_from_instance:
    type: text
    hidden: true
  cc_users:
    type: "[text]"
    hidden: true
  extras:
    type: Object
    blackbox: true
    omit: true
    label: Extras
    hidden: true
  cc_count:
    type: number
    label: CC Count
    scale: 0
permission_set:
  user:
    allowCreate: false
    allowDelete: false
    allowEdit: false
    allowRead: true
    modifyAllRecords: false
    viewAllRecords: true
    allowCreateListViews: false
  admin:
    allowCreate: false
    allowDelete: false
    allowEdit: false
    allowRead: true
    modifyAllRecords: false
    viewAllRecords: true
    allowCreateListViews: false
  workflow_admin:
    allowCreate: false
    allowDelete: false
    allowEdit: false
    allowRead: true
    modifyAllRecords: false
    viewAllRecords: false
    modifyCompanyRecords: false
    viewCompanyRecords: true
    allowCreateListViews: false
    disabled_list_views:
      - inbox
      - outbox
    disabled_actions: []
    unreadable_fields: []
    uneditable_fields: []
    unrelated_objects: []
actions:
  view_instance:
    label: View Instance
    visible: true
    'on': record
    todo: !<tag:yaml.org,2002:js/function> |-
      function (object_name, record_id, fields) {
              var uobj;
              uobj = {};
              uobj["box"] = 'monitor';
              uobj["print_is_show_traces"] = '1';
              uobj["print_is_show_attachments"] = '1';
              uobj["X-User-Id"] = Meteor.userId();
              uobj["X-Auth-Token"] = Accounts._storedLoginToken();
              var uobjToString = window.$.param(uobj);
              return Steedos.openWindow(Steedos.absoluteUrl() + "workflow/space/" + Session.get("spaceId") + "/print/" + record_id + "?" + uobjToString, "", 'width=900,height=750,scrollbars=yes,EnableViewPortScale=yes,toolbarposition=top,transitionstyle=fliphorizontal,menubar=yes,closebuttoncaption=  x  ');
            }
