├── vendor
└── .gitkeep
├── app
├── helpers
│ ├── .gitkeep
│ ├── mod.js
│ ├── add-em.js
│ ├── present.js
│ ├── object-is-empty.js
│ ├── object-each.js
│ ├── get-dash.js
│ ├── get-property.js
│ ├── uc-words.js
│ └── bbox-to-poly.js
├── models
│ ├── .gitkeep
│ ├── pouch-base.js
│ ├── couch.js
│ ├── pouch-record.js
│ ├── pouch-dictionary.js
│ └── pouch-contact.js
├── routes
│ ├── .gitkeep
│ └── index.js
├── pods
│ ├── help
│ │ ├── template.hbs
│ │ └── route.js
│ ├── publish
│ │ ├── template.hbs
│ │ ├── index
│ │ │ └── route.js
│ │ ├── couchdb
│ │ │ └── route.js
│ │ └── route.js
│ ├── record
│ │ ├── template.hbs
│ │ ├── index
│ │ │ ├── template.hbs
│ │ │ └── route.js
│ │ ├── new
│ │ │ ├── index
│ │ │ │ ├── template.hbs
│ │ │ │ └── route.js
│ │ │ └── route.js
│ │ ├── show
│ │ │ ├── edit
│ │ │ │ ├── extent
│ │ │ │ │ ├── template.hbs
│ │ │ │ │ └── index
│ │ │ │ │ │ └── route.js
│ │ │ │ ├── index
│ │ │ │ │ ├── template.hbs
│ │ │ │ │ └── route.js
│ │ │ │ ├── keywords
│ │ │ │ │ ├── template.hbs
│ │ │ │ │ └── route.js
│ │ │ │ ├── distribution
│ │ │ │ │ ├── distributor
│ │ │ │ │ │ └── template.hbs
│ │ │ │ │ ├── template.hbs
│ │ │ │ │ └── route.js
│ │ │ │ ├── main
│ │ │ │ │ ├── citation
│ │ │ │ │ │ ├── template.hbs
│ │ │ │ │ │ └── route.js
│ │ │ │ │ ├── template.hbs
│ │ │ │ │ └── route.js
│ │ │ │ ├── taxonomy
│ │ │ │ │ ├── collection
│ │ │ │ │ │ ├── system
│ │ │ │ │ │ │ └── template.hbs
│ │ │ │ │ │ ├── template.hbs
│ │ │ │ │ │ └── itis
│ │ │ │ │ │ │ └── template.hbs
│ │ │ │ │ ├── route.js
│ │ │ │ │ └── template.hbs
│ │ │ │ ├── metadata
│ │ │ │ │ ├── template.hbs
│ │ │ │ │ ├── alternate
│ │ │ │ │ │ ├── template.hbs
│ │ │ │ │ │ └── index
│ │ │ │ │ │ │ └── route.js
│ │ │ │ │ ├── parent
│ │ │ │ │ │ ├── template.hbs
│ │ │ │ │ │ └── route.js
│ │ │ │ │ └── route.js
│ │ │ │ ├── dataquality
│ │ │ │ │ ├── edit
│ │ │ │ │ │ └── template.hbs
│ │ │ │ │ ├── route.js
│ │ │ │ │ ├── template.hbs
│ │ │ │ │ └── index
│ │ │ │ │ │ └── template.hbs
│ │ │ │ ├── documents
│ │ │ │ │ ├── citation
│ │ │ │ │ │ ├── template.hbs
│ │ │ │ │ │ └── index
│ │ │ │ │ │ │ └── route.js
│ │ │ │ │ ├── route.js
│ │ │ │ │ ├── template.hbs
│ │ │ │ │ └── index
│ │ │ │ │ │ └── template.hbs
│ │ │ │ ├── associated
│ │ │ │ │ ├── resource
│ │ │ │ │ │ └── template.hbs
│ │ │ │ │ ├── route.js
│ │ │ │ │ └── template.hbs
│ │ │ │ ├── lineage
│ │ │ │ │ ├── lineageobject
│ │ │ │ │ │ ├── template.hbs
│ │ │ │ │ │ ├── source
│ │ │ │ │ │ │ └── template.hbs
│ │ │ │ │ │ ├── step
│ │ │ │ │ │ │ └── template.hbs
│ │ │ │ │ │ └── citation
│ │ │ │ │ │ │ └── template.hbs
│ │ │ │ │ ├── route.js
│ │ │ │ │ ├── template.hbs
│ │ │ │ │ └── index
│ │ │ │ │ │ └── template.hbs
│ │ │ │ ├── grid
│ │ │ │ │ └── route.js
│ │ │ │ ├── constraint
│ │ │ │ │ ├── route.js
│ │ │ │ │ ├── template.hbs
│ │ │ │ │ └── index
│ │ │ │ │ │ └── template.hbs
│ │ │ │ ├── coverages
│ │ │ │ │ └── route.js
│ │ │ │ ├── spatial
│ │ │ │ │ ├── route.js
│ │ │ │ │ ├── index
│ │ │ │ │ │ ├── route.js
│ │ │ │ │ │ └── template.hbs
│ │ │ │ │ ├── template.hbs
│ │ │ │ │ └── raster
│ │ │ │ │ │ └── template.hbs
│ │ │ │ └── funding
│ │ │ │ │ ├── template.hbs
│ │ │ │ │ └── route.js
│ │ │ ├── template.hbs
│ │ │ ├── translate
│ │ │ │ ├── template.hbs
│ │ │ │ └── route.js
│ │ │ └── index
│ │ │ │ └── route.js
│ │ ├── route.js
│ │ └── nav
│ │ │ └── template.hbs
│ ├── sync
│ │ ├── template.hbs
│ │ ├── index
│ │ │ ├── template.hbs
│ │ │ └── route.js
│ │ ├── route.js
│ │ └── list
│ │ │ └── route.js
│ ├── contact
│ │ ├── template.hbs
│ │ ├── show
│ │ │ ├── template.hbs
│ │ │ ├── index
│ │ │ │ └── route.js
│ │ │ └── edit
│ │ │ │ └── route.js
│ │ ├── new
│ │ │ ├── index
│ │ │ │ ├── template.hbs
│ │ │ │ └── route.js
│ │ │ └── route.js
│ │ └── route.js
│ ├── dictionary
│ │ ├── template.hbs
│ │ ├── new
│ │ │ ├── index
│ │ │ │ ├── template.hbs
│ │ │ │ └── route.js
│ │ │ └── route.js
│ │ ├── show
│ │ │ ├── edit
│ │ │ │ ├── domain
│ │ │ │ │ ├── edit
│ │ │ │ │ │ ├── citation
│ │ │ │ │ │ │ ├── template.hbs
│ │ │ │ │ │ │ └── route.js
│ │ │ │ │ │ └── template.hbs
│ │ │ │ │ ├── template.hbs
│ │ │ │ │ ├── route.js
│ │ │ │ │ └── index
│ │ │ │ │ │ └── template.hbs
│ │ │ │ ├── entity
│ │ │ │ │ ├── edit
│ │ │ │ │ │ ├── attribute
│ │ │ │ │ │ │ └── template.hbs
│ │ │ │ │ │ ├── template.hbs
│ │ │ │ │ │ └── citation
│ │ │ │ │ │ │ └── template.hbs
│ │ │ │ │ ├── route.js
│ │ │ │ │ └── template.hbs
│ │ │ │ └── citation
│ │ │ │ │ ├── route.js
│ │ │ │ │ ├── template.hbs
│ │ │ │ │ └── index
│ │ │ │ │ └── route.js
│ │ │ ├── template.hbs
│ │ │ └── index
│ │ │ │ └── route.js
│ │ └── route.js
│ ├── settings
│ │ ├── index
│ │ │ ├── template.hbs
│ │ │ └── route.js
│ │ ├── profile
│ │ │ ├── route.js
│ │ │ ├── template.hbs
│ │ │ ├── index
│ │ │ │ └── route.js
│ │ │ └── manage
│ │ │ │ └── route.js
│ │ ├── main
│ │ │ └── route.js
│ │ └── validation
│ │ │ └── route.js
│ ├── components
│ │ ├── layout
│ │ │ ├── md-wrap
│ │ │ │ ├── template.hbs
│ │ │ │ └── component.js
│ │ │ ├── md-breadcrumb
│ │ │ │ ├── template.hbs
│ │ │ │ └── component.js
│ │ │ ├── nav
│ │ │ │ ├── record
│ │ │ │ │ └── nav-main
│ │ │ │ │ │ ├── component.js
│ │ │ │ │ │ └── template.hbs
│ │ │ │ └── dictionary
│ │ │ │ │ └── nav-main
│ │ │ │ │ ├── component.js
│ │ │ │ │ └── template.hbs
│ │ │ ├── md-footer
│ │ │ │ ├── component.js
│ │ │ │ └── template.hbs
│ │ │ ├── md-slider
│ │ │ │ └── template.hbs
│ │ │ └── md-nav-main
│ │ │ │ └── component.js
│ │ ├── md-title
│ │ │ └── template.hbs
│ │ ├── control
│ │ │ ├── md-scroll-into-view
│ │ │ │ └── template.hbs
│ │ │ ├── md-infotip
│ │ │ │ └── template.hbs
│ │ │ ├── md-pouch-record-table
│ │ │ │ ├── pouch-buttons
│ │ │ │ │ ├── template.hbs
│ │ │ │ │ ├── delete
│ │ │ │ │ │ ├── template.hbs
│ │ │ │ │ │ └── component.js
│ │ │ │ │ └── update
│ │ │ │ │ │ └── template.hbs
│ │ │ │ ├── buttons
│ │ │ │ │ ├── update
│ │ │ │ │ │ └── template.hbs
│ │ │ │ │ ├── import
│ │ │ │ │ │ ├── template.hbs
│ │ │ │ │ │ └── component.js
│ │ │ │ │ ├── template.hbs
│ │ │ │ │ └── component.js
│ │ │ │ └── component.js
│ │ │ ├── md-repo-link
│ │ │ │ └── template.hbs
│ │ │ ├── subbar-importcsv
│ │ │ │ ├── component.js
│ │ │ │ └── template.hbs
│ │ │ ├── md-contact-title
│ │ │ │ └── template.hbs
│ │ │ ├── md-record-table
│ │ │ │ └── buttons
│ │ │ │ │ ├── show
│ │ │ │ │ ├── component.js
│ │ │ │ │ └── template.hbs
│ │ │ │ │ ├── custom
│ │ │ │ │ └── template.hbs
│ │ │ │ │ └── filter
│ │ │ │ │ └── template.hbs
│ │ │ ├── md-spinner
│ │ │ │ ├── template.hbs
│ │ │ │ └── component.js
│ │ │ ├── subbar-citation
│ │ │ │ └── component.js
│ │ │ ├── md-definition
│ │ │ │ └── template.hbs
│ │ │ ├── md-button
│ │ │ │ └── template.hbs
│ │ │ ├── md-scroll-spy
│ │ │ │ └── template.hbs
│ │ │ ├── md-button-confirm
│ │ │ │ └── template.hbs
│ │ │ ├── md-edit-table
│ │ │ │ └── template.hbs
│ │ │ ├── subbar-spatial
│ │ │ │ └── component.js
│ │ │ ├── md-indicator
│ │ │ │ └── template.hbs
│ │ │ ├── md-button-modal
│ │ │ │ └── template.hbs
│ │ │ ├── md-json-button
│ │ │ │ └── template.hbs
│ │ │ └── subbar-link
│ │ │ │ └── template.hbs
│ │ ├── object
│ │ │ ├── md-extent
│ │ │ │ └── component.js
│ │ │ ├── md-profile
│ │ │ │ ├── component.js
│ │ │ │ ├── form
│ │ │ │ │ └── component.js
│ │ │ │ ├── preview
│ │ │ │ │ ├── component.js
│ │ │ │ │ └── template.hbs
│ │ │ │ └── template.hbs
│ │ │ ├── md-dataquality
│ │ │ │ └── preview
│ │ │ │ │ ├── component.js
│ │ │ │ │ └── template.hbs
│ │ │ ├── md-funding
│ │ │ │ └── preview
│ │ │ │ │ └── component.js
│ │ │ ├── md-address
│ │ │ │ └── md-address-block
│ │ │ │ │ ├── component.js
│ │ │ │ │ └── template.hbs
│ │ │ ├── md-schema
│ │ │ │ ├── component.js
│ │ │ │ └── form
│ │ │ │ │ └── component.js
│ │ │ ├── md-taxonomy
│ │ │ │ ├── classification
│ │ │ │ │ ├── component.js
│ │ │ │ │ └── template.hbs
│ │ │ │ └── collection
│ │ │ │ │ └── system
│ │ │ │ │ └── preview
│ │ │ │ │ └── template.hbs
│ │ │ ├── md-citation
│ │ │ │ └── preview
│ │ │ │ │ └── body
│ │ │ │ │ └── component.js
│ │ │ ├── md-process-step
│ │ │ │ └── preview
│ │ │ │ │ ├── component.js
│ │ │ │ │ └── template.hbs
│ │ │ ├── md-graphic-array
│ │ │ │ └── md-graphic-preview
│ │ │ │ │ └── template.hbs
│ │ │ ├── md-source
│ │ │ │ └── preview
│ │ │ │ │ ├── template.hbs
│ │ │ │ │ └── component.js
│ │ │ ├── md-distributor
│ │ │ │ └── preview
│ │ │ │ │ └── component.js
│ │ │ ├── md-raster
│ │ │ │ └── attrgroup
│ │ │ │ │ └── attribute
│ │ │ │ │ └── preview
│ │ │ │ │ ├── template.hbs
│ │ │ │ │ └── component.js
│ │ │ ├── md-citation-array
│ │ │ │ └── template.hbs
│ │ │ ├── md-identifier-array
│ │ │ │ └── template.hbs
│ │ │ ├── md-transfer
│ │ │ │ └── preview
│ │ │ │ │ ├── component.js
│ │ │ │ │ └── template.hbs
│ │ │ ├── md-lineage
│ │ │ │ └── preview
│ │ │ │ │ └── component.js
│ │ │ ├── md-documentation
│ │ │ │ ├── preview
│ │ │ │ │ └── component.js
│ │ │ │ └── template.hbs
│ │ │ ├── md-domainitem
│ │ │ │ └── preview
│ │ │ │ │ └── component.js
│ │ │ ├── md-locale-array
│ │ │ │ └── component.js
│ │ │ ├── md-party-array
│ │ │ │ └── component.js
│ │ │ ├── md-quality-report
│ │ │ │ └── coverage-result
│ │ │ │ │ ├── template.hbs
│ │ │ │ │ └── component.js
│ │ │ ├── md-attribute
│ │ │ │ └── preview
│ │ │ │ │ └── component.js
│ │ │ ├── md-date-array
│ │ │ │ └── template.hbs
│ │ │ ├── md-standalone-quality-report
│ │ │ │ └── component.js
│ │ │ └── md-online-resource-array
│ │ │ │ └── template.hbs
│ │ ├── ember-tooltip
│ │ │ └── component.js
│ │ ├── md-help
│ │ │ └── component.js
│ │ ├── md-models-table
│ │ │ ├── components
│ │ │ │ ├── row-buttons
│ │ │ │ │ └── component.js
│ │ │ │ ├── check
│ │ │ │ │ ├── template.hbs
│ │ │ │ │ └── component.js
│ │ │ │ ├── check-all
│ │ │ │ │ ├── component.js
│ │ │ │ │ └── template.hbs
│ │ │ │ └── row-body
│ │ │ │ │ └── template.hbs
│ │ │ └── component.js
│ │ ├── input
│ │ │ ├── md-select-thesaurus
│ │ │ │ └── template.hbs
│ │ │ ├── md-boolean
│ │ │ │ └── template.hbs
│ │ │ └── md-month
│ │ │ │ └── component.js
│ │ └── models-table
│ │ │ ├── table-body
│ │ │ └── component.js
│ │ │ └── cell-content-display
│ │ │ └── template.hbs
│ ├── save
│ │ ├── template.hbs
│ │ └── route.js
│ ├── error
│ │ └── route.js
│ ├── dashboard
│ │ └── route.js
│ ├── translate
│ │ └── route.js
│ └── not-found
│ │ └── template.hbs
├── templates
│ ├── nav-secondary.hbs
│ └── head.hbs
├── styles
│ ├── _import_export.scss
│ ├── _publish.scss
│ ├── _alert.scss
│ ├── _collapse.scss
│ ├── _control_sidebar.scss
│ ├── _extent.scss
│ ├── _dashboard.scss
│ ├── _spinner.scss
│ ├── _simple-mde.scss
│ └── _breadcrumb.scss
├── resolver.js
├── serializers
│ ├── application.js
│ ├── pouch-base.js
│ ├── pouch-record.js
│ ├── pouch-contact.js
│ └── pouch-dictionary.js
├── services
│ └── publish.js
├── validators
│ └── messages.js
├── utils
│ ├── couchdb-config.js
│ ├── md-object.js
│ └── md-interpolate.js
├── instance-initializers
│ ├── settings-couchdb.js
│ ├── settings.js
│ ├── profile.js
│ └── route-publish.js
├── adapters
│ ├── pouch-contact.js
│ ├── pouch-record.js
│ ├── pouch-dictionary.js
│ └── application.js
├── initializers
│ └── leaflet.js
└── mixins
│ └── scroll-to.js
├── tests
├── helpers
│ ├── .gitkeep
│ ├── flash-message.js
│ ├── destroy-app.js
│ └── create-identifier.js
├── unit
│ ├── .gitkeep
│ ├── helpers
│ │ ├── mod-test.js
│ │ ├── make-range-test.js
│ │ ├── md-markdown-test.js
│ │ ├── get-dash-test.js
│ │ └── bbox-to-poly-test.js
│ ├── routes
│ │ ├── index-test.js
│ │ ├── application-test.js
│ │ └── publish
│ │ │ └── sciencebase-test.js
│ ├── pods
│ │ ├── error
│ │ │ └── route-test.js
│ │ ├── export
│ │ │ └── route-test.js
│ │ ├── help
│ │ │ └── route-test.js
│ │ ├── import
│ │ │ └── route-test.js
│ │ ├── records
│ │ │ └── route-test.js
│ │ ├── contacts
│ │ │ └── route-test.js
│ │ ├── settings
│ │ │ ├── route-test.js
│ │ │ ├── main
│ │ │ │ └── route-test.js
│ │ │ ├── index
│ │ │ │ └── route-test.js
│ │ │ ├── profile
│ │ │ │ ├── route-test.js
│ │ │ │ ├── index
│ │ │ │ │ ├── route-test.js
│ │ │ │ │ └── controller-test.js
│ │ │ │ └── manage
│ │ │ │ │ ├── route-test.js
│ │ │ │ │ └── controller-test.js
│ │ │ └── validation
│ │ │ │ ├── route-test.js
│ │ │ │ └── controller-test.js
│ │ ├── dashboard
│ │ │ └── route-test.js
│ │ ├── not-found
│ │ │ └── route-test.js
│ │ ├── translate
│ │ │ └── route-test.js
│ │ ├── contact
│ │ │ ├── show
│ │ │ │ ├── route-test.js
│ │ │ │ ├── edit
│ │ │ │ │ └── route-test.js
│ │ │ │ └── index
│ │ │ │ │ └── route-test.js
│ │ │ └── new
│ │ │ │ ├── id
│ │ │ │ └── route-test.js
│ │ │ │ └── index
│ │ │ │ └── route-test.js
│ │ ├── dictionaries
│ │ │ └── route-test.js
│ │ ├── record
│ │ │ ├── index
│ │ │ │ └── route-test.js
│ │ │ ├── show
│ │ │ │ ├── route-test.js
│ │ │ │ ├── edit
│ │ │ │ │ ├── route-test.js
│ │ │ │ │ ├── grid
│ │ │ │ │ │ └── route-test.js
│ │ │ │ │ ├── index
│ │ │ │ │ │ └── route-test.js
│ │ │ │ │ ├── main
│ │ │ │ │ │ ├── route-test.js
│ │ │ │ │ │ ├── index
│ │ │ │ │ │ │ └── route-test.js
│ │ │ │ │ │ └── citation
│ │ │ │ │ │ │ ├── route-test.js
│ │ │ │ │ │ │ ├── index
│ │ │ │ │ │ │ └── route-test.js
│ │ │ │ │ │ │ └── identifier
│ │ │ │ │ │ │ └── route-test.js
│ │ │ │ │ ├── keywords
│ │ │ │ │ │ ├── route-test.js
│ │ │ │ │ │ ├── index
│ │ │ │ │ │ │ └── route-test.js
│ │ │ │ │ │ └── thesaurus
│ │ │ │ │ │ │ └── route-test.js
│ │ │ │ │ ├── associated
│ │ │ │ │ │ ├── route-test.js
│ │ │ │ │ │ ├── index
│ │ │ │ │ │ │ └── route-test.js
│ │ │ │ │ │ └── resource
│ │ │ │ │ │ │ ├── route-test.js
│ │ │ │ │ │ │ └── index
│ │ │ │ │ │ │ └── route-test.js
│ │ │ │ │ ├── coverages
│ │ │ │ │ │ └── route-test.js
│ │ │ │ │ ├── documents
│ │ │ │ │ │ ├── route-test.js
│ │ │ │ │ │ ├── index
│ │ │ │ │ │ │ └── route-test.js
│ │ │ │ │ │ └── citation
│ │ │ │ │ │ │ ├── route-test.js
│ │ │ │ │ │ │ └── index
│ │ │ │ │ │ │ └── route-test.js
│ │ │ │ │ ├── funding
│ │ │ │ │ │ ├── route-test.js
│ │ │ │ │ │ ├── index
│ │ │ │ │ │ │ └── route-test.js
│ │ │ │ │ │ └── allocation
│ │ │ │ │ │ │ └── route-test.js
│ │ │ │ │ ├── metadata
│ │ │ │ │ │ ├── route-test.js
│ │ │ │ │ │ ├── index
│ │ │ │ │ │ │ └── route-test.js
│ │ │ │ │ │ ├── parent
│ │ │ │ │ │ │ ├── route-test.js
│ │ │ │ │ │ │ ├── index
│ │ │ │ │ │ │ │ └── route-test.js
│ │ │ │ │ │ │ └── identifier
│ │ │ │ │ │ │ │ └── route-test.js
│ │ │ │ │ │ ├── alternate
│ │ │ │ │ │ │ ├── route-test.js
│ │ │ │ │ │ │ ├── index
│ │ │ │ │ │ │ │ └── route-test.js
│ │ │ │ │ │ │ └── identifier
│ │ │ │ │ │ │ │ └── route-test.js
│ │ │ │ │ │ └── identifier
│ │ │ │ │ │ │ └── route-test.js
│ │ │ │ │ ├── spatial
│ │ │ │ │ │ ├── route-test.js
│ │ │ │ │ │ ├── index
│ │ │ │ │ │ │ └── route-test.js
│ │ │ │ │ │ ├── extent
│ │ │ │ │ │ │ └── route-test.js
│ │ │ │ │ │ └── raster
│ │ │ │ │ │ │ ├── route-test.js
│ │ │ │ │ │ │ ├── index
│ │ │ │ │ │ │ └── route-test.js
│ │ │ │ │ │ │ └── attribute
│ │ │ │ │ │ │ └── route-test.js
│ │ │ │ │ ├── taxonomy
│ │ │ │ │ │ ├── route-test.js
│ │ │ │ │ │ ├── index
│ │ │ │ │ │ │ └── route-test.js
│ │ │ │ │ │ └── collection
│ │ │ │ │ │ │ ├── route-test.js
│ │ │ │ │ │ │ ├── index
│ │ │ │ │ │ │ └── route-test.js
│ │ │ │ │ │ │ ├── itis
│ │ │ │ │ │ │ └── route-test.js
│ │ │ │ │ │ │ └── system
│ │ │ │ │ │ │ ├── route-test.js
│ │ │ │ │ │ │ └── index
│ │ │ │ │ │ │ └── route-test.js
│ │ │ │ │ ├── constraint
│ │ │ │ │ │ ├── route-test.js
│ │ │ │ │ │ └── index
│ │ │ │ │ │ │ └── route-test.js
│ │ │ │ │ ├── dictionary
│ │ │ │ │ │ └── route-test.js
│ │ │ │ │ ├── distribution
│ │ │ │ │ │ ├── route-test.js
│ │ │ │ │ │ ├── index
│ │ │ │ │ │ │ └── route-test.js
│ │ │ │ │ │ └── distributor
│ │ │ │ │ │ │ ├── route-test.js
│ │ │ │ │ │ │ ├── index
│ │ │ │ │ │ │ └── route-test.js
│ │ │ │ │ │ │ └── transfer
│ │ │ │ │ │ │ └── route-test.js
│ │ │ │ │ ├── extent
│ │ │ │ │ │ └── index
│ │ │ │ │ │ │ └── route-test.js
│ │ │ │ │ └── lineage
│ │ │ │ │ │ └── lineageobject
│ │ │ │ │ │ ├── route-test.js
│ │ │ │ │ │ ├── step
│ │ │ │ │ │ ├── route-test.js
│ │ │ │ │ │ ├── index
│ │ │ │ │ │ │ └── route-test.js
│ │ │ │ │ │ └── citation
│ │ │ │ │ │ │ └── route-test.js
│ │ │ │ │ │ ├── index
│ │ │ │ │ │ └── route-test.js
│ │ │ │ │ │ ├── source
│ │ │ │ │ │ ├── route-test.js
│ │ │ │ │ │ └── index
│ │ │ │ │ │ │ └── route-test.js
│ │ │ │ │ │ └── citation
│ │ │ │ │ │ ├── route-test.js
│ │ │ │ │ │ ├── index
│ │ │ │ │ │ └── route-test.js
│ │ │ │ │ │ └── identifier
│ │ │ │ │ │ └── route-test.js
│ │ │ │ ├── index
│ │ │ │ │ └── route-test.js
│ │ │ │ └── translate
│ │ │ │ │ └── route-test.js
│ │ │ └── new
│ │ │ │ ├── id
│ │ │ │ └── route-test.js
│ │ │ │ └── index
│ │ │ │ └── route-test.js
│ │ ├── publish
│ │ │ └── index
│ │ │ │ └── route-test.js
│ │ └── dictionary
│ │ │ ├── show
│ │ │ ├── route-test.js
│ │ │ ├── edit
│ │ │ │ ├── route-test.js
│ │ │ │ ├── domain
│ │ │ │ │ ├── route-test.js
│ │ │ │ │ ├── edit
│ │ │ │ │ │ ├── route-test.js
│ │ │ │ │ │ ├── item
│ │ │ │ │ │ │ └── route-test.js
│ │ │ │ │ │ ├── index
│ │ │ │ │ │ │ └── route-test.js
│ │ │ │ │ │ └── citation
│ │ │ │ │ │ │ ├── route-test.js
│ │ │ │ │ │ │ ├── index
│ │ │ │ │ │ │ └── route-test.js
│ │ │ │ │ │ │ └── identifier
│ │ │ │ │ │ │ └── route-test.js
│ │ │ │ │ └── index
│ │ │ │ │ │ └── route-test.js
│ │ │ │ ├── entity
│ │ │ │ │ ├── route-test.js
│ │ │ │ │ ├── edit
│ │ │ │ │ │ ├── route-test.js
│ │ │ │ │ │ ├── index
│ │ │ │ │ │ │ └── route-test.js
│ │ │ │ │ │ ├── attribute
│ │ │ │ │ │ │ ├── route-test.js
│ │ │ │ │ │ │ └── index
│ │ │ │ │ │ │ │ └── route-test.js
│ │ │ │ │ │ └── citation
│ │ │ │ │ │ │ ├── route-test.js
│ │ │ │ │ │ │ ├── index
│ │ │ │ │ │ │ └── route-test.js
│ │ │ │ │ │ │ └── identifier
│ │ │ │ │ │ │ └── route-test.js
│ │ │ │ │ ├── index
│ │ │ │ │ │ └── route-test.js
│ │ │ │ │ └── import
│ │ │ │ │ │ └── route-test.js
│ │ │ │ ├── index
│ │ │ │ │ └── route-test.js
│ │ │ │ └── citation
│ │ │ │ │ ├── route-test.js
│ │ │ │ │ ├── index
│ │ │ │ │ └── route-test.js
│ │ │ │ │ └── identifier
│ │ │ │ │ └── route-test.js
│ │ │ └── index
│ │ │ │ └── route-test.js
│ │ │ └── new
│ │ │ ├── id
│ │ │ └── route-test.js
│ │ │ └── index
│ │ │ └── route-test.js
│ ├── utils
│ │ ├── config-test.js
│ │ └── sb-tree-node-test.js
│ ├── validators
│ │ ├── array-valid-test.js
│ │ └── array-required-test.js
│ ├── services
│ │ ├── icon-test.js
│ │ ├── itis-test.js
│ │ ├── patch-test.js
│ │ ├── mdjson-test.js
│ │ ├── slider-test.js
│ │ ├── contacts-test.js
│ │ ├── keycloak-test.js
│ │ ├── keyword-test.js
│ │ ├── profile-test.js
│ │ ├── publish-test.js
│ │ ├── schemas-test.js
│ │ ├── settings-test.js
│ │ ├── spotlight-test.js
│ │ └── custom-profile-test.js
│ ├── mixins
│ │ ├── cancel-test.js
│ │ ├── hash-poll-test.js
│ │ ├── scroll-to-test.js
│ │ └── object-template-test.js
│ └── models
│ │ ├── setting-test.js
│ │ └── base-test.js
├── .eslintrc.js
└── test-helper.js
├── translations
└── en-us.yaml
├── public
├── CNAME
├── robots.txt
├── favicon.ico
├── favicon-128.png
├── favicon-16x16.png
├── favicon-32x32.png
├── favicon-96x96.png
├── favicon-196x196.png
├── fonts
│ ├── mdeditor.eot
│ ├── mdeditor.ttf
│ └── mdeditor.woff
├── mstile-144x144.png
├── apple-touch-icon-144x144.png
└── apple-touch-icon-152x152.png
├── .github_changelog_generator
├── .yarnrc.yml
├── .dockerignore
├── .watchmanconfig
├── mdeditor.png
├── lib
├── ember-leaflet-table
│ ├── addon
│ │ ├── templates
│ │ │ └── components
│ │ │ │ ├── leaflet-draw.hbs
│ │ │ │ └── leaflet-table-row-actions.hbs
│ │ ├── styles
│ │ │ └── addon.scss
│ │ └── components
│ │ │ ├── leaflet-table-row-actions.js
│ │ │ └── feature-group.js
│ ├── app
│ │ ├── uuid.js
│ │ ├── shapefile.js
│ │ ├── csv2geojson.js
│ │ ├── togeojson.js
│ │ ├── components
│ │ │ ├── feature-form.js
│ │ │ ├── feature-group.js
│ │ │ ├── feature-table.js
│ │ │ ├── leaflet-table.js
│ │ │ ├── leaflet-draw.js
│ │ │ ├── lgeojson-layer.js
│ │ │ ├── leaflet-table-row.js
│ │ │ └── leaflet-table-row-actions.js
│ │ ├── geojsoncoords.js
│ │ └── templates
│ │ │ └── components
│ │ │ └── leaflet-table
│ │ │ └── actions.hbs
│ └── package.json
├── ember-json-tree
│ ├── addon
│ │ ├── styles
│ │ │ └── addon.scss
│ │ ├── templates
│ │ │ └── components
│ │ │ │ └── tree-label.hbs
│ │ └── components
│ │ │ └── nestable-draggable-object.js
│ ├── app
│ │ ├── components
│ │ │ ├── tree-label.js
│ │ │ ├── tree-view.js
│ │ │ ├── tree-leaf.js
│ │ │ ├── tree-search.js
│ │ │ ├── tree-branch.js
│ │ │ └── nestable-draggable-object.js
│ │ └── helpers
│ │ │ └── make-range.js
│ └── package.json
└── mdeditor-sciencebase
│ ├── app
│ ├── utils
│ │ ├── config.js
│ │ └── sb-tree-node.js
│ ├── components
│ │ ├── sb-tree.js
│ │ ├── sb-publisher.js
│ │ ├── sb-settings.js
│ │ └── sb-tree-label.js
│ ├── routes
│ │ └── publish
│ │ │ └── sciencebase.js
│ ├── templates
│ │ └── publish
│ │ │ └── sciencebase.js
│ └── instance-initializers
│ │ └── settings-sciencebase.js
│ ├── addon
│ ├── components
│ │ └── sb-settings.js
│ ├── routes
│ │ └── publish
│ │ │ └── sciencebase.js
│ ├── instance-initializers
│ │ └── settings-sciencebase.js
│ ├── utils
│ │ └── config.js
│ └── templates
│ │ └── publish
│ │ └── sciencebase.hbs
│ ├── package.json
│ └── index.js
├── .template-lintrc.js
├── config
├── optional-features.json
├── ember-cli-update.json
└── targets.js
├── .ember-cli
├── .prettierrc.js
├── .eslintignore
├── Dockerfile
└── .prettierignore
/vendor/.gitkeep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/app/helpers/.gitkeep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/app/models/.gitkeep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/app/routes/.gitkeep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/tests/helpers/.gitkeep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/tests/unit/.gitkeep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/translations/en-us.yaml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/CNAME:
--------------------------------------------------------------------------------
1 | go.mdeditor.org
2 |
--------------------------------------------------------------------------------
/.github_changelog_generator:
--------------------------------------------------------------------------------
1 | user=adiwg
2 |
--------------------------------------------------------------------------------
/.yarnrc.yml:
--------------------------------------------------------------------------------
1 | nodeLinker: node-modules
2 |
--------------------------------------------------------------------------------
/app/pods/help/template.hbs:
--------------------------------------------------------------------------------
1 | {{outlet}}
2 |
--------------------------------------------------------------------------------
/app/pods/publish/template.hbs:
--------------------------------------------------------------------------------
1 | {{outlet}}
--------------------------------------------------------------------------------
/app/pods/record/template.hbs:
--------------------------------------------------------------------------------
1 | {{outlet}}
2 |
--------------------------------------------------------------------------------
/app/pods/sync/template.hbs:
--------------------------------------------------------------------------------
1 | {{outlet}}
2 |
--------------------------------------------------------------------------------
/app/pods/contact/template.hbs:
--------------------------------------------------------------------------------
1 | {{outlet}}
2 |
--------------------------------------------------------------------------------
/app/pods/dictionary/template.hbs:
--------------------------------------------------------------------------------
1 | {{outlet}}
2 |
--------------------------------------------------------------------------------
/app/pods/sync/index/template.hbs:
--------------------------------------------------------------------------------
1 | {{outlet}}
2 |
--------------------------------------------------------------------------------
/app/pods/contact/show/template.hbs:
--------------------------------------------------------------------------------
1 | {{outlet}}
2 |
--------------------------------------------------------------------------------
/app/pods/record/index/template.hbs:
--------------------------------------------------------------------------------
1 | {{outlet}}
2 |
--------------------------------------------------------------------------------
/app/pods/record/new/index/template.hbs:
--------------------------------------------------------------------------------
1 | {{outlet}}
2 |
--------------------------------------------------------------------------------
/app/pods/settings/index/template.hbs:
--------------------------------------------------------------------------------
1 | {{outlet}}
2 |
--------------------------------------------------------------------------------
/.dockerignore:
--------------------------------------------------------------------------------
1 | bower_components
2 | node_modules
3 |
4 |
--------------------------------------------------------------------------------
/app/pods/contact/new/index/template.hbs:
--------------------------------------------------------------------------------
1 | {{outlet}}
2 |
--------------------------------------------------------------------------------
/app/pods/dictionary/new/index/template.hbs:
--------------------------------------------------------------------------------
1 | {{outlet}}
2 |
--------------------------------------------------------------------------------
/app/pods/components/layout/md-wrap/template.hbs:
--------------------------------------------------------------------------------
1 | {{yield}}
2 |
--------------------------------------------------------------------------------
/app/pods/components/md-title/template.hbs:
--------------------------------------------------------------------------------
1 | {{yield title}}
2 |
--------------------------------------------------------------------------------
/app/pods/record/show/edit/extent/template.hbs:
--------------------------------------------------------------------------------
1 | {{outlet}}
2 |
--------------------------------------------------------------------------------
/app/pods/record/show/edit/index/template.hbs:
--------------------------------------------------------------------------------
1 | {{outlet}}
2 |
--------------------------------------------------------------------------------
/app/pods/record/show/edit/keywords/template.hbs:
--------------------------------------------------------------------------------
1 | {{outlet}}
2 |
--------------------------------------------------------------------------------
/app/templates/nav-secondary.hbs:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/.watchmanconfig:
--------------------------------------------------------------------------------
1 | {
2 | "ignore_dirs": ["tmp", "dist"]
3 | }
4 |
--------------------------------------------------------------------------------
/app/pods/save/template.hbs:
--------------------------------------------------------------------------------
1 | Save the Record(s)
2 | {{outlet}}
3 |
--------------------------------------------------------------------------------
/app/pods/components/control/md-scroll-into-view/template.hbs:
--------------------------------------------------------------------------------
1 | {{yield}}
--------------------------------------------------------------------------------
/app/pods/dictionary/show/edit/domain/edit/citation/template.hbs:
--------------------------------------------------------------------------------
1 | {{outlet}}
2 |
--------------------------------------------------------------------------------
/app/pods/dictionary/show/edit/entity/edit/attribute/template.hbs:
--------------------------------------------------------------------------------
1 | {{outlet}}
--------------------------------------------------------------------------------
/app/pods/record/show/edit/distribution/distributor/template.hbs:
--------------------------------------------------------------------------------
1 | {{outlet}}
2 |
--------------------------------------------------------------------------------
/app/pods/record/show/edit/main/citation/template.hbs:
--------------------------------------------------------------------------------
1 | {{liquid-outlet}}
2 |
--------------------------------------------------------------------------------
/app/pods/record/show/edit/taxonomy/collection/system/template.hbs:
--------------------------------------------------------------------------------
1 | {{outlet}}
--------------------------------------------------------------------------------
/mdeditor.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/adiwg/mdEditor/HEAD/mdeditor.png
--------------------------------------------------------------------------------
/lib/ember-leaflet-table/addon/templates/components/leaflet-draw.hbs:
--------------------------------------------------------------------------------
1 | {{yield}}
2 |
--------------------------------------------------------------------------------
/public/robots.txt:
--------------------------------------------------------------------------------
1 | # http://www.robotstxt.org
2 | User-agent: *
3 | Disallow:
4 |
--------------------------------------------------------------------------------
/app/pods/record/show/edit/main/template.hbs:
--------------------------------------------------------------------------------
1 | {{liquid-outlet class="liquid-spy"}}
2 |
--------------------------------------------------------------------------------
/app/pods/record/show/edit/metadata/template.hbs:
--------------------------------------------------------------------------------
1 | {{liquid-outlet class="liquid-spy"}}
2 |
--------------------------------------------------------------------------------
/app/styles/_import_export.scss:
--------------------------------------------------------------------------------
1 | .md-import-preview {
2 | margin-top: 2rem;
3 | }
4 |
--------------------------------------------------------------------------------
/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/adiwg/mdEditor/HEAD/public/favicon.ico
--------------------------------------------------------------------------------
/app/pods/record/show/edit/dataquality/edit/template.hbs:
--------------------------------------------------------------------------------
1 | {{liquid-outlet class="liquid-spy"}}
--------------------------------------------------------------------------------
/app/resolver.js:
--------------------------------------------------------------------------------
1 | import Resolver from 'ember-resolver';
2 |
3 | export default Resolver;
4 |
--------------------------------------------------------------------------------
/.template-lintrc.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | module.exports = {
4 | extends: 'octane',
5 | };
6 |
--------------------------------------------------------------------------------
/app/pods/dictionary/show/edit/domain/edit/template.hbs:
--------------------------------------------------------------------------------
1 | {{liquid-outlet class="liquid-spy"}}
2 |
--------------------------------------------------------------------------------
/app/pods/dictionary/show/edit/entity/edit/template.hbs:
--------------------------------------------------------------------------------
1 | {{liquid-outlet class="liquid-spy"}}
2 |
--------------------------------------------------------------------------------
/app/pods/record/show/edit/documents/citation/template.hbs:
--------------------------------------------------------------------------------
1 | {{liquid-outlet class="liquid-spy"}}
2 |
--------------------------------------------------------------------------------
/app/pods/record/show/edit/metadata/alternate/template.hbs:
--------------------------------------------------------------------------------
1 | {{liquid-outlet class="liquid-spy"}}
2 |
--------------------------------------------------------------------------------
/app/pods/record/show/edit/metadata/parent/template.hbs:
--------------------------------------------------------------------------------
1 | {{liquid-outlet class="liquid-spy"}}
2 |
--------------------------------------------------------------------------------
/lib/ember-leaflet-table/addon/styles/addon.scss:
--------------------------------------------------------------------------------
1 | @import "variables";
2 | @import "leaflet";
3 |
--------------------------------------------------------------------------------
/lib/ember-leaflet-table/app/uuid.js:
--------------------------------------------------------------------------------
1 | import uuidV4 from 'uuid/v4';
2 |
3 | export {uuidV4};
4 |
--------------------------------------------------------------------------------
/public/favicon-128.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/adiwg/mdEditor/HEAD/public/favicon-128.png
--------------------------------------------------------------------------------
/public/favicon-16x16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/adiwg/mdEditor/HEAD/public/favicon-16x16.png
--------------------------------------------------------------------------------
/public/favicon-32x32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/adiwg/mdEditor/HEAD/public/favicon-32x32.png
--------------------------------------------------------------------------------
/public/favicon-96x96.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/adiwg/mdEditor/HEAD/public/favicon-96x96.png
--------------------------------------------------------------------------------
/app/pods/record/show/edit/associated/resource/template.hbs:
--------------------------------------------------------------------------------
1 | {{liquid-outlet class="liquid-spy"}}
2 |
--------------------------------------------------------------------------------
/app/pods/record/show/edit/lineage/lineageobject/template.hbs:
--------------------------------------------------------------------------------
1 | {{liquid-outlet class="liquid-spy"}}
2 |
--------------------------------------------------------------------------------
/app/pods/record/show/edit/taxonomy/collection/template.hbs:
--------------------------------------------------------------------------------
1 | {{liquid-outlet class="liquid-spy"}}
2 |
--------------------------------------------------------------------------------
/app/serializers/application.js:
--------------------------------------------------------------------------------
1 | export { default } from 'ember-local-storage/serializers/serializer';
--------------------------------------------------------------------------------
/public/favicon-196x196.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/adiwg/mdEditor/HEAD/public/favicon-196x196.png
--------------------------------------------------------------------------------
/public/fonts/mdeditor.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/adiwg/mdEditor/HEAD/public/fonts/mdeditor.eot
--------------------------------------------------------------------------------
/public/fonts/mdeditor.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/adiwg/mdEditor/HEAD/public/fonts/mdeditor.ttf
--------------------------------------------------------------------------------
/public/fonts/mdeditor.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/adiwg/mdEditor/HEAD/public/fonts/mdeditor.woff
--------------------------------------------------------------------------------
/public/mstile-144x144.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/adiwg/mdEditor/HEAD/public/mstile-144x144.png
--------------------------------------------------------------------------------
/app/pods/dictionary/show/edit/entity/edit/citation/template.hbs:
--------------------------------------------------------------------------------
1 | {{liquid-outlet class="liquid-spy"}}
2 |
--------------------------------------------------------------------------------
/app/pods/record/show/edit/lineage/lineageobject/source/template.hbs:
--------------------------------------------------------------------------------
1 | {{liquid-outlet class="liquid-spy"}}
2 |
--------------------------------------------------------------------------------
/app/pods/record/show/edit/lineage/lineageobject/step/template.hbs:
--------------------------------------------------------------------------------
1 | {{liquid-outlet class="liquid-spy"}}
2 |
--------------------------------------------------------------------------------
/lib/ember-leaflet-table/app/shapefile.js:
--------------------------------------------------------------------------------
1 | import shapefile from 'shapefile';
2 |
3 | export {shapefile};
4 |
--------------------------------------------------------------------------------
/app/pods/record/show/edit/lineage/lineageobject/citation/template.hbs:
--------------------------------------------------------------------------------
1 | {{liquid-outlet class="liquid-spy"}}
2 |
--------------------------------------------------------------------------------
/lib/ember-json-tree/addon/styles/addon.scss:
--------------------------------------------------------------------------------
1 | @import "variables";
2 | @import "tree";
3 | @import "search";
4 |
--------------------------------------------------------------------------------
/lib/ember-json-tree/app/components/tree-label.js:
--------------------------------------------------------------------------------
1 | export { default } from 'ember-json-tree/components/tree-label';
--------------------------------------------------------------------------------
/lib/ember-json-tree/app/components/tree-view.js:
--------------------------------------------------------------------------------
1 | export { default } from 'ember-json-tree/components/tree-view';
--------------------------------------------------------------------------------
/lib/mdeditor-sciencebase/app/utils/config.js:
--------------------------------------------------------------------------------
1 | export { default } from 'mdeditor-sciencebase/utils/config';
2 |
--------------------------------------------------------------------------------
/app/pods/components/layout/md-breadcrumb/template.hbs:
--------------------------------------------------------------------------------
1 | {{bread-crumbs tagName="ol" linkable=true}}
2 | {{yield}}
3 |
--------------------------------------------------------------------------------
/app/pods/error/route.js:
--------------------------------------------------------------------------------
1 | import Route from '@ember/routing/route';
2 |
3 | export default Route.extend({
4 | });
5 |
--------------------------------------------------------------------------------
/app/pods/help/route.js:
--------------------------------------------------------------------------------
1 | import Route from '@ember/routing/route';
2 |
3 | export default Route.extend({
4 | });
5 |
--------------------------------------------------------------------------------
/app/pods/save/route.js:
--------------------------------------------------------------------------------
1 | import Route from '@ember/routing/route';
2 |
3 | export default Route.extend({
4 | });
5 |
--------------------------------------------------------------------------------
/lib/ember-json-tree/app/components/tree-leaf.js:
--------------------------------------------------------------------------------
1 | export { default } from 'ember-json-tree/components/tree-leaf';
2 |
--------------------------------------------------------------------------------
/lib/ember-json-tree/app/components/tree-search.js:
--------------------------------------------------------------------------------
1 | export { default } from 'ember-json-tree/components/tree-search';
--------------------------------------------------------------------------------
/lib/ember-leaflet-table/app/csv2geojson.js:
--------------------------------------------------------------------------------
1 | import csv2geojson from 'csv2geojson';
2 |
3 | export {csv2geojson};
4 |
--------------------------------------------------------------------------------
/lib/ember-leaflet-table/app/togeojson.js:
--------------------------------------------------------------------------------
1 | import toGeoJSON from '@mapbox/togeojson';
2 |
3 | export {toGeoJSON};
4 |
--------------------------------------------------------------------------------
/lib/mdeditor-sciencebase/app/components/sb-tree.js:
--------------------------------------------------------------------------------
1 | export { default } from 'mdeditor-sciencebase/components/sb-tree';
--------------------------------------------------------------------------------
/tests/.eslintrc.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | env: {
3 | embertest: true,
4 | jquery: true
5 | }
6 | };
7 |
--------------------------------------------------------------------------------
/app/pods/dashboard/route.js:
--------------------------------------------------------------------------------
1 | import Route from '@ember/routing/route';
2 |
3 | export default Route.extend({
4 | });
5 |
--------------------------------------------------------------------------------
/app/pods/translate/route.js:
--------------------------------------------------------------------------------
1 | import Route from '@ember/routing/route';
2 |
3 | export default Route.extend({
4 | });
5 |
--------------------------------------------------------------------------------
/lib/ember-json-tree/app/components/tree-branch.js:
--------------------------------------------------------------------------------
1 | export { default } from 'ember-json-tree/components/tree-branch';
2 |
--------------------------------------------------------------------------------
/lib/ember-json-tree/app/helpers/make-range.js:
--------------------------------------------------------------------------------
1 | export { default, makeRange } from 'ember-json-tree/helpers/make-range';
2 |
--------------------------------------------------------------------------------
/lib/mdeditor-sciencebase/app/utils/sb-tree-node.js:
--------------------------------------------------------------------------------
1 | export { default } from 'mdeditor-sciencebase/utils/sb-tree-node';
2 |
--------------------------------------------------------------------------------
/public/apple-touch-icon-144x144.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/adiwg/mdEditor/HEAD/public/apple-touch-icon-144x144.png
--------------------------------------------------------------------------------
/public/apple-touch-icon-152x152.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/adiwg/mdEditor/HEAD/public/apple-touch-icon-152x152.png
--------------------------------------------------------------------------------
/app/pods/components/control/md-infotip/template.hbs:
--------------------------------------------------------------------------------
1 | {{fa-icon icon}}
2 | {{ember-tooltip delay=delay text=text}}
3 | {{yield}}
--------------------------------------------------------------------------------
/app/pods/publish/index/route.js:
--------------------------------------------------------------------------------
1 | import Route from '@ember/routing/route';
2 |
3 | export default Route.extend({
4 | });
5 |
--------------------------------------------------------------------------------
/app/pods/settings/profile/route.js:
--------------------------------------------------------------------------------
1 | import Route from '@ember/routing/route';
2 |
3 | export default Route.extend({
4 | });
5 |
--------------------------------------------------------------------------------
/lib/ember-leaflet-table/app/components/feature-form.js:
--------------------------------------------------------------------------------
1 | export { default } from 'ember-leaflet-table/components/feature-form';
--------------------------------------------------------------------------------
/lib/ember-leaflet-table/app/components/feature-group.js:
--------------------------------------------------------------------------------
1 | export { default } from 'ember-leaflet-table/components/feature-group';
--------------------------------------------------------------------------------
/lib/ember-leaflet-table/app/components/feature-table.js:
--------------------------------------------------------------------------------
1 | export { default } from 'ember-leaflet-table/components/feature-table';
--------------------------------------------------------------------------------
/lib/ember-leaflet-table/app/components/leaflet-table.js:
--------------------------------------------------------------------------------
1 | export { default } from 'ember-leaflet-table/components/leaflet-table';
--------------------------------------------------------------------------------
/lib/ember-leaflet-table/app/geojsoncoords.js:
--------------------------------------------------------------------------------
1 | import geojsonCoords from 'geojson-coords';
2 |
3 | export {geojsonCoords};
4 |
--------------------------------------------------------------------------------
/lib/mdeditor-sciencebase/app/components/sb-publisher.js:
--------------------------------------------------------------------------------
1 | export { default } from 'mdeditor-sciencebase/components/sb-publisher';
--------------------------------------------------------------------------------
/lib/mdeditor-sciencebase/app/components/sb-settings.js:
--------------------------------------------------------------------------------
1 | export { default } from 'mdeditor-sciencebase/components/sb-settings';
--------------------------------------------------------------------------------
/lib/mdeditor-sciencebase/app/components/sb-tree-label.js:
--------------------------------------------------------------------------------
1 | export { default } from 'mdeditor-sciencebase/components/sb-tree-label';
--------------------------------------------------------------------------------
/app/pods/contact/show/index/route.js:
--------------------------------------------------------------------------------
1 | import Route from '@ember/routing/route';
2 |
3 | export default Route.extend({
4 | });
5 |
--------------------------------------------------------------------------------
/app/pods/record/show/edit/grid/route.js:
--------------------------------------------------------------------------------
1 | import Route from '@ember/routing/route';
2 |
3 | export default Route.extend({
4 | });
5 |
--------------------------------------------------------------------------------
/app/pods/record/show/edit/main/route.js:
--------------------------------------------------------------------------------
1 | import Route from '@ember/routing/route';
2 |
3 | export default Route.extend({
4 | });
5 |
--------------------------------------------------------------------------------
/lib/ember-leaflet-table/app/components/leaflet-draw.js:
--------------------------------------------------------------------------------
1 | export { default } from 'ember-leaflet-table/components/leaflet-draw';
2 |
--------------------------------------------------------------------------------
/lib/ember-leaflet-table/app/components/lgeojson-layer.js:
--------------------------------------------------------------------------------
1 | export { default } from 'ember-leaflet-table/components/lgeojson-layer';
2 |
--------------------------------------------------------------------------------
/app/pods/dictionary/show/edit/entity/route.js:
--------------------------------------------------------------------------------
1 | import Route from '@ember/routing/route';
2 |
3 | export default Route.extend({
4 | });
5 |
--------------------------------------------------------------------------------
/app/pods/record/show/edit/associated/route.js:
--------------------------------------------------------------------------------
1 | import Route from '@ember/routing/route';
2 |
3 | export default Route.extend({
4 | });
5 |
--------------------------------------------------------------------------------
/app/pods/record/show/edit/constraint/route.js:
--------------------------------------------------------------------------------
1 | import Route from '@ember/routing/route';
2 |
3 | export default Route.extend({
4 | });
5 |
--------------------------------------------------------------------------------
/app/pods/record/show/edit/coverages/route.js:
--------------------------------------------------------------------------------
1 | import Route from '@ember/routing/route';
2 |
3 | export default Route.extend({
4 | });
5 |
--------------------------------------------------------------------------------
/app/pods/record/show/edit/dataquality/route.js:
--------------------------------------------------------------------------------
1 | import Route from '@ember/routing/route'
2 |
3 | export default Route.extend({
4 | });
5 |
--------------------------------------------------------------------------------
/app/pods/record/show/edit/documents/route.js:
--------------------------------------------------------------------------------
1 | import Route from '@ember/routing/route';
2 |
3 | export default Route.extend({
4 | });
5 |
--------------------------------------------------------------------------------
/app/pods/record/show/edit/lineage/route.js:
--------------------------------------------------------------------------------
1 | import Route from '@ember/routing/route';
2 |
3 | export default Route.extend({
4 | });
5 |
--------------------------------------------------------------------------------
/app/pods/record/show/edit/metadata/route.js:
--------------------------------------------------------------------------------
1 | import Route from '@ember/routing/route';
2 |
3 | export default Route.extend({
4 | });
5 |
--------------------------------------------------------------------------------
/app/pods/record/show/edit/spatial/route.js:
--------------------------------------------------------------------------------
1 | import Route from '@ember/routing/route';
2 |
3 | export default Route.extend({
4 | });
5 |
--------------------------------------------------------------------------------
/app/pods/record/show/edit/taxonomy/route.js:
--------------------------------------------------------------------------------
1 | import Route from '@ember/routing/route';
2 |
3 | export default Route.extend({
4 | });
5 |
--------------------------------------------------------------------------------
/lib/ember-leaflet-table/app/components/leaflet-table-row.js:
--------------------------------------------------------------------------------
1 | export { default } from 'ember-leaflet-table/components/leaflet-table-row';
--------------------------------------------------------------------------------
/lib/mdeditor-sciencebase/app/routes/publish/sciencebase.js:
--------------------------------------------------------------------------------
1 | export { default } from 'mdeditor-sciencebase/routes/publish/sciencebase';
2 |
--------------------------------------------------------------------------------
/app/pods/dictionary/show/edit/citation/route.js:
--------------------------------------------------------------------------------
1 | import Route from '@ember/routing/route';
2 |
3 | export default Route.extend({
4 | });
5 |
--------------------------------------------------------------------------------
/app/pods/record/show/edit/main/citation/route.js:
--------------------------------------------------------------------------------
1 | import Route from '@ember/routing/route';
2 |
3 | export default Route.extend({
4 | });
5 |
--------------------------------------------------------------------------------
/app/pods/record/show/edit/metadata/parent/route.js:
--------------------------------------------------------------------------------
1 | import Route from '@ember/routing/route';
2 |
3 | export default Route.extend({
4 | });
5 |
--------------------------------------------------------------------------------
/app/pods/record/show/edit/spatial/index/route.js:
--------------------------------------------------------------------------------
1 | import Route from '@ember/routing/route';
2 |
3 | export default Route.extend({
4 | });
5 |
--------------------------------------------------------------------------------
/lib/ember-json-tree/app/components/nestable-draggable-object.js:
--------------------------------------------------------------------------------
1 | export { default } from 'ember-json-tree/components/nestable-draggable-object';
--------------------------------------------------------------------------------
/lib/mdeditor-sciencebase/app/templates/publish/sciencebase.js:
--------------------------------------------------------------------------------
1 | export { default } from 'mdeditor-sciencebase/templates/publish/sciencebase';
2 |
--------------------------------------------------------------------------------
/app/pods/components/object/md-extent/component.js:
--------------------------------------------------------------------------------
1 | import Component from '@ember/component';
2 |
3 | export default Component.extend({
4 | });
5 |
--------------------------------------------------------------------------------
/app/pods/components/object/md-profile/component.js:
--------------------------------------------------------------------------------
1 | import Component from '@ember/component';
2 |
3 | export default Component.extend({
4 | });
5 |
--------------------------------------------------------------------------------
/app/serializers/pouch-base.js:
--------------------------------------------------------------------------------
1 | import { Serializer } from 'ember-pouch';
2 |
3 | export default class PouchBaseSerializer extends Serializer {}
4 |
--------------------------------------------------------------------------------
/app/pods/components/control/md-pouch-record-table/pouch-buttons/template.hbs:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/app/pods/components/control/md-repo-link/template.hbs:
--------------------------------------------------------------------------------
1 | {{#if hasBlock}}
2 | {{yield}}
3 | {{else}}
4 | {{version}}{{fa-icon "github"}}
5 | {{/if}}
6 |
--------------------------------------------------------------------------------
/app/pods/components/layout/md-breadcrumb/component.js:
--------------------------------------------------------------------------------
1 | import Component from '@ember/component';
2 |
3 | export default Component.extend({
4 | });
5 |
--------------------------------------------------------------------------------
/app/pods/record/show/template.hbs:
--------------------------------------------------------------------------------
1 | {{outlet}}
2 |
3 | {{to-elsewhere named="nav-main" send=(component "layout/nav/record/nav-main" model=model)}}
4 |
--------------------------------------------------------------------------------
/lib/ember-leaflet-table/app/components/leaflet-table-row-actions.js:
--------------------------------------------------------------------------------
1 | export { default } from 'ember-leaflet-table/components/leaflet-table-row-actions';
--------------------------------------------------------------------------------
/app/pods/components/control/subbar-importcsv/component.js:
--------------------------------------------------------------------------------
1 | import Component from '@ember/component';
2 |
3 | export default Component.extend({
4 | });
5 |
--------------------------------------------------------------------------------
/app/pods/components/object/md-dataquality/preview/component.js:
--------------------------------------------------------------------------------
1 | import Component from '@ember/component';
2 |
3 | export default Component.extend({});
4 |
--------------------------------------------------------------------------------
/app/pods/components/object/md-funding/preview/component.js:
--------------------------------------------------------------------------------
1 | import Component from '@ember/component';
2 |
3 | export default Component.extend({
4 | });
5 |
--------------------------------------------------------------------------------
/app/pods/dictionary/show/template.hbs:
--------------------------------------------------------------------------------
1 | {{outlet}}
2 |
3 | {{to-elsewhere named="nav-main" send=(component "layout/nav/dictionary/nav-main" model=model)}}
4 |
--------------------------------------------------------------------------------
/app/pods/components/object/md-address/md-address-block/component.js:
--------------------------------------------------------------------------------
1 | import Component from '@ember/component';
2 |
3 | export default Component.extend({
4 | });
5 |
--------------------------------------------------------------------------------
/app/serializers/pouch-record.js:
--------------------------------------------------------------------------------
1 | import Serializer from 'mdeditor/serializers/pouch-base';
2 |
3 | export default class PouchRecordSerializer extends Serializer {}
4 |
--------------------------------------------------------------------------------
/app/pods/components/control/md-contact-title/template.hbs:
--------------------------------------------------------------------------------
1 | {{#if hasBlock}}
2 | {{yield contact}}
3 | {{else}}
4 | {{if contact contact.title default}}
5 | {{/if}}
6 |
--------------------------------------------------------------------------------
/app/pods/components/layout/nav/record/nav-main/component.js:
--------------------------------------------------------------------------------
1 | import Component from '@ember/component';
2 |
3 | export default Component.extend({
4 | tagName:''
5 | });
6 |
--------------------------------------------------------------------------------
/app/serializers/pouch-contact.js:
--------------------------------------------------------------------------------
1 | import Serializer from 'mdeditor/serializers/pouch-base';
2 |
3 | export default class PouchContactSerializer extends Serializer {}
4 |
--------------------------------------------------------------------------------
/app/services/publish.js:
--------------------------------------------------------------------------------
1 | import { A } from '@ember/array';
2 | import Service from '@ember/service';
3 |
4 | export default Service.extend({
5 | catalogs: A()
6 | });
7 |
--------------------------------------------------------------------------------
/app/styles/_publish.scss:
--------------------------------------------------------------------------------
1 | .add-token-button {
2 | margin-top: 5px;
3 | }
4 |
5 | .sb-publish-instructions {
6 | margin-bottom: 15px;
7 | font-size: 1.5rem;
8 | }
9 |
--------------------------------------------------------------------------------
/tests/helpers/flash-message.js:
--------------------------------------------------------------------------------
1 | import FlashObject from 'ember-cli-flash/flash/object';
2 |
3 | FlashObject.reopen({
4 | init() {
5 | return this;
6 | }
7 | });
8 |
--------------------------------------------------------------------------------
/app/pods/components/layout/nav/dictionary/nav-main/component.js:
--------------------------------------------------------------------------------
1 | import Component from '@ember/component';
2 |
3 | export default Component.extend({
4 | tagName:''
5 | });
6 |
--------------------------------------------------------------------------------
/app/pods/components/object/md-profile/form/component.js:
--------------------------------------------------------------------------------
1 | import Component from '@ember/component';
2 |
3 | export default Component.extend({
4 | tagName: 'form'
5 | });
6 |
--------------------------------------------------------------------------------
/app/pods/components/object/md-schema/component.js:
--------------------------------------------------------------------------------
1 | import Component from '@ember/component';
2 |
3 | export default Component.extend({
4 | classNames: ['md-schema']
5 | });
6 |
--------------------------------------------------------------------------------
/app/serializers/pouch-dictionary.js:
--------------------------------------------------------------------------------
1 | import Serializer from 'mdeditor/serializers/pouch-base';
2 |
3 | export default class PouchDictionarySerializer extends Serializer {}
4 |
--------------------------------------------------------------------------------
/app/pods/components/control/md-record-table/buttons/show/component.js:
--------------------------------------------------------------------------------
1 | import Component from '@ember/component';
2 |
3 | export default Component.extend({
4 | tagName:''
5 | });
6 |
--------------------------------------------------------------------------------
/app/pods/record/show/edit/constraint/template.hbs:
--------------------------------------------------------------------------------
1 |
2 |
3 | {{outlet class=""}}
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/pods/record/show/edit/spatial/template.hbs:
--------------------------------------------------------------------------------
1 |
2 |
3 | {{liquid-outlet class=""}}
4 |
5 |
--------------------------------------------------------------------------------
/lib/mdeditor-sciencebase/app/instance-initializers/settings-sciencebase.js:
--------------------------------------------------------------------------------
1 | export { default, initialize } from 'mdeditor-sciencebase/instance-initializers/settings-sciencebase';
2 |
--------------------------------------------------------------------------------
/app/pods/components/control/md-spinner/template.hbs:
--------------------------------------------------------------------------------
1 | {{fa-icon "spinner" pulse=true size=size}}
2 |
3 | {{text}}
4 |
5 | {{yield}}
6 |
--------------------------------------------------------------------------------
/app/pods/record/show/edit/lineage/template.hbs:
--------------------------------------------------------------------------------
1 |
2 |
3 | {{liquid-outlet class=""}}
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/pods/sync/index/route.js:
--------------------------------------------------------------------------------
1 | import Route from '@ember/routing/route';
2 |
3 | export default Route.extend({
4 | redirect() {
5 | this.transitionTo('sync.list');
6 | }
7 | });
8 |
--------------------------------------------------------------------------------
/app/models/pouch-base.js:
--------------------------------------------------------------------------------
1 | import { attr } from '@ember-data/model';
2 | import { Model } from 'ember-pouch';
3 |
4 | export default class PouchBaseModel extends Model {
5 | @attr json;
6 | }
--------------------------------------------------------------------------------
/app/pods/contact/show/edit/route.js:
--------------------------------------------------------------------------------
1 | import Route from '@ember/routing/route';
2 | import HashPoll from 'mdeditor/mixins/hash-poll';
3 |
4 | export default Route.extend(HashPoll, {
5 | });
6 |
--------------------------------------------------------------------------------
/app/pods/dictionary/show/edit/domain/template.hbs:
--------------------------------------------------------------------------------
1 |
2 |
3 | {{liquid-outlet class=""}}
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/pods/record/show/edit/associated/template.hbs:
--------------------------------------------------------------------------------
1 |
2 |
3 | {{liquid-outlet class=""}}
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/pods/record/show/edit/documents/template.hbs:
--------------------------------------------------------------------------------
1 |
2 |
3 | {{liquid-outlet class=""}}
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/pods/record/show/edit/spatial/raster/template.hbs:
--------------------------------------------------------------------------------
1 |
2 |
3 | {{liquid-outlet class=""}}
4 |
5 |
--------------------------------------------------------------------------------
/app/pods/components/ember-tooltip/component.js:
--------------------------------------------------------------------------------
1 | import Component from 'ember-tooltips/components/ember-tooltip';
2 |
3 | export default Component.extend({
4 | popperContainer: 'body'
5 | });
6 |
--------------------------------------------------------------------------------
/app/pods/record/show/edit/dataquality/template.hbs:
--------------------------------------------------------------------------------
1 |
2 |
3 | {{liquid-outlet class="liquid-spy"}}
4 |
5 |
--------------------------------------------------------------------------------
/app/pods/record/show/edit/funding/template.hbs:
--------------------------------------------------------------------------------
1 |
2 |
3 | {{liquid-outlet class="liquid-spy"}}
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/pods/record/show/edit/taxonomy/template.hbs:
--------------------------------------------------------------------------------
1 |
2 |
3 | {{liquid-outlet class="liquid-spy"}}
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/pods/settings/index/route.js:
--------------------------------------------------------------------------------
1 | import Route from '@ember/routing/route';
2 |
3 | export default Route.extend({
4 | redirect() {
5 | this.replaceWith('settings.main');
6 | }
7 | });
8 |
--------------------------------------------------------------------------------
/app/pods/settings/profile/template.hbs:
--------------------------------------------------------------------------------
1 | {{!-- {{fa-icon "exclamation"}}
2 | This section is under development.
3 |
--}}
4 | {{outlet}}
5 |
--------------------------------------------------------------------------------
/app/models/couch.js:
--------------------------------------------------------------------------------
1 | import Model, { attr } from '@ember-data/model';
2 |
3 | export default class CouchModel extends Model {
4 | @attr('string') remoteUrl;
5 | @attr('string') remoteName;
6 | }
7 |
--------------------------------------------------------------------------------
/app/pods/components/md-help/component.js:
--------------------------------------------------------------------------------
1 | import Component from '@ember/component';
2 |
3 | export default Component.extend({
4 | classNames: ['md-help-sidebar'],
5 | tagName: 'section'
6 | });
7 |
--------------------------------------------------------------------------------
/app/pods/dictionary/show/edit/citation/template.hbs:
--------------------------------------------------------------------------------
1 |
2 |
3 | {{liquid-outlet class="liquid-spy"}}
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/pods/dictionary/show/edit/entity/template.hbs:
--------------------------------------------------------------------------------
1 |
2 |
3 | {{liquid-outlet class="liquid-spy"}}
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/pods/record/show/edit/distribution/template.hbs:
--------------------------------------------------------------------------------
1 |
2 |
3 | {{liquid-outlet class="liquid-spy"}}
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/validators/messages.js:
--------------------------------------------------------------------------------
1 | import Messages from 'ember-cp-validations/validators/messages';
2 |
3 | export default Messages.extend({
4 | arrayRequired: 'At least one {item} is required.'
5 | });
6 |
--------------------------------------------------------------------------------
/app/pods/components/control/subbar-citation/component.js:
--------------------------------------------------------------------------------
1 | import Component from '@ember/component';
2 |
3 | export default Component.extend({
4 | selectResource(){
5 | return this;
6 | }
7 | });
8 |
--------------------------------------------------------------------------------
/app/pods/components/md-models-table/components/row-buttons/component.js:
--------------------------------------------------------------------------------
1 | import Component from '@ember/component';
2 |
3 | export default Component.extend({
4 | classNames: ['md-row-buttons']
5 | });
6 |
--------------------------------------------------------------------------------
/config/optional-features.json:
--------------------------------------------------------------------------------
1 | {
2 | "application-template-wrapper": false,
3 | "default-async-observers": true,
4 | "jquery-integration": true,
5 | "template-only-glimmer-components": true
6 | }
7 |
--------------------------------------------------------------------------------
/app/pods/settings/profile/index/route.js:
--------------------------------------------------------------------------------
1 | import Route from '@ember/routing/route';
2 |
3 | export default Route.extend({
4 | model() {
5 | return this.store.findAll('custom-profile');
6 | },
7 | });
8 |
--------------------------------------------------------------------------------
/app/styles/_alert.scss:
--------------------------------------------------------------------------------
1 | .alert.md-alert-table {
2 | align-items: center;
3 | display: flex;
4 | justify-content: space-between;
5 |
6 | h3,
7 | h4 {
8 | margin-bottom: 0;
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/app/helpers/mod.js:
--------------------------------------------------------------------------------
1 | import Helper from '@ember/component/helper';
2 |
3 | export function mod(params) {
4 | return params.reduce((a, b) => Number(a) % Number(b));
5 | }
6 |
7 | export default Helper.helper(mod);
8 |
--------------------------------------------------------------------------------
/app/pods/components/control/md-record-table/buttons/show/template.hbs:
--------------------------------------------------------------------------------
1 | {{#link-to (concat record.constructor.modelName ".show") record.id class="btn btn-sm btn-info"}}
2 | {{fa-icon "eye"}} Show
3 | {{/link-to}}
4 |
--------------------------------------------------------------------------------
/app/pods/record/show/edit/funding/route.js:
--------------------------------------------------------------------------------
1 | import Route from '@ember/routing/route';
2 |
3 | export default Route.extend({
4 | actions: {
5 | deleteAllocation(){},
6 | editAllocation(){}
7 | }
8 | });
9 |
--------------------------------------------------------------------------------
/app/styles/_collapse.scss:
--------------------------------------------------------------------------------
1 | .md-collapsible-content {
2 | max-height: 0;
3 | overflow: hidden;
4 | transition: max-height .25s ease-in-out;
5 |
6 | &.open {
7 | max-height: 100vh;
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/app/pods/components/md-models-table/components/check/template.hbs:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/app/pods/record/show/edit/index/route.js:
--------------------------------------------------------------------------------
1 | import Route from '@ember/routing/route';
2 |
3 | export default Route.extend({
4 | redirect(model) {
5 | this.replaceWith('record.show.edit.main', model);
6 | }
7 | });
8 |
--------------------------------------------------------------------------------
/app/routes/index.js:
--------------------------------------------------------------------------------
1 | import Route from '@ember/routing/route';
2 |
3 | export default Route.extend({
4 | /** Redirect to dashboard route */
5 | redirect() {
6 | this.transitionTo('dashboard');
7 | }
8 | });
9 |
--------------------------------------------------------------------------------
/app/styles/_control_sidebar.scss:
--------------------------------------------------------------------------------
1 | .md-control-sidebar {
2 | .btn-group-vertical {
3 | margin-top: .5em;
4 | }
5 |
6 | .md-crud-buttons .btn-group-vertical {
7 | margin-top: initial;
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/lib/mdeditor-sciencebase/addon/components/sb-settings.js:
--------------------------------------------------------------------------------
1 | import Component from '@ember/component';
2 | import layout from '../templates/components/sb-settings';
3 |
4 | export default Component.extend({
5 | layout
6 | });
7 |
--------------------------------------------------------------------------------
/app/helpers/add-em.js:
--------------------------------------------------------------------------------
1 | import { helper as buildHelper } from '@ember/component/helper';
2 |
3 | export function addEm(params) {
4 | return params.reduce((a, b) => Number(a) + Number(b));
5 | }
6 |
7 | export default buildHelper(addEm);
8 |
--------------------------------------------------------------------------------
/app/helpers/present.js:
--------------------------------------------------------------------------------
1 | import { helper } from '@ember/component/helper';
2 | import { isPresent } from '@ember/utils';
3 |
4 | export function present(params) {
5 | return isPresent(params[0]);
6 | }
7 |
8 | export default helper(present);
9 |
--------------------------------------------------------------------------------
/app/pods/components/control/md-pouch-record-table/pouch-buttons/delete/template.hbs:
--------------------------------------------------------------------------------
1 |
2 | Delete
3 |
4 |
--------------------------------------------------------------------------------
/app/pods/settings/main/route.js:
--------------------------------------------------------------------------------
1 | import Route from '@ember/routing/route';
2 | import ScrollTo from 'mdeditor/mixins/scroll-to';
3 |
4 | export default Route.extend(ScrollTo, {
5 | model() {
6 | return this.settings.get('data');
7 | }
8 | });
9 |
--------------------------------------------------------------------------------
/lib/ember-leaflet-table/addon/components/leaflet-table-row-actions.js:
--------------------------------------------------------------------------------
1 | import Component from '@ember/component';
2 | import layout from '../templates/components/leaflet-table-row-actions';
3 |
4 | export default Component.extend({
5 | layout
6 | });
7 |
--------------------------------------------------------------------------------
/app/models/pouch-record.js:
--------------------------------------------------------------------------------
1 | import Model from 'mdeditor/models/pouch-base';
2 | import { alias } from '@ember/object/computed';
3 |
4 | export default class PouchRecordModel extends Model {
5 | @alias('json.metadata.resourceInfo.citation.title') title;
6 | }
--------------------------------------------------------------------------------
/app/templates/head.hbs:
--------------------------------------------------------------------------------
1 | {{!--
2 | Add content you wish automatically added to the documents head
3 | here. The 'model' available in this template can be populated by
4 | setting values on the 'head-data' service.
5 | --}}
6 | {{model.title}}
7 |
--------------------------------------------------------------------------------
/app/helpers/object-is-empty.js:
--------------------------------------------------------------------------------
1 | import { helper } from '@ember/component/helper';
2 | import { isEmpty } from 'mdeditor/utils/md-object'
3 |
4 |
5 | export default helper(function objectIsEmpty(params/*, hash*/) {
6 | return isEmpty(params[0]);
7 | });
8 |
--------------------------------------------------------------------------------
/app/models/pouch-dictionary.js:
--------------------------------------------------------------------------------
1 | import Model from 'mdeditor/models/pouch-base';
2 | import { alias } from '@ember/object/computed';
3 |
4 | export default class PouchDictionaryModel extends Model {
5 | @alias('json.dataDictionary.citation.title') title;
6 | }
7 |
--------------------------------------------------------------------------------
/app/utils/couchdb-config.js:
--------------------------------------------------------------------------------
1 | export default {
2 | name: 'CouchDB',
3 | route: 'couchdb',
4 | description: 'CouchDB is a document-oriented NoSQL database for data synchronization',
5 | icon: 'database',
6 | settingsComponent: 'couchdb-settings',
7 | };
8 |
--------------------------------------------------------------------------------
/app/pods/record/new/index/route.js:
--------------------------------------------------------------------------------
1 | import Route from '@ember/routing/route';
2 |
3 | export default Route.extend({
4 | redirect() {
5 | let rec = this.store.createRecord('record');
6 |
7 | this.replaceWith('record.new.id', rec.id);
8 | }
9 | });
10 |
--------------------------------------------------------------------------------
/app/pods/contact/new/index/route.js:
--------------------------------------------------------------------------------
1 | import Route from '@ember/routing/route';
2 |
3 | export default Route.extend({
4 | redirect() {
5 | let rec = this.store.createRecord('contact');
6 |
7 | this.replaceWith('contact.new.id', rec.id);
8 | }
9 | });
10 |
--------------------------------------------------------------------------------
/app/pods/sync/route.js:
--------------------------------------------------------------------------------
1 | import Route from '@ember/routing/route';
2 |
3 | export default Route.extend({
4 | init() {
5 | this._super(...arguments);
6 |
7 | this.breadCrumb = {
8 | title: 'Sync',
9 | linkable: false
10 | }
11 | },
12 | });
--------------------------------------------------------------------------------
/app/pods/components/md-models-table/components/check-all/component.js:
--------------------------------------------------------------------------------
1 | import Component from '@ember/component';
2 |
3 | export default Component.extend({
4 | actions: {
5 | toggleAllSelection() {
6 | this.toggleAllSelection();
7 | }
8 | }
9 | });
10 |
--------------------------------------------------------------------------------
/app/pods/components/md-models-table/components/check-all/template.hbs:
--------------------------------------------------------------------------------
1 |
4 |
5 |
--------------------------------------------------------------------------------
/app/pods/components/object/md-taxonomy/classification/component.js:
--------------------------------------------------------------------------------
1 | import Component from '@ember/component';
2 |
3 | export default Component.extend({
4 | tagName: 'ul',
5 | classNames: ['list-group', 'md-classification'],
6 | dragging: null,
7 | preview: false
8 | });
9 |
--------------------------------------------------------------------------------
/app/pods/dictionary/show/edit/domain/route.js:
--------------------------------------------------------------------------------
1 | import Route from '@ember/routing/route';
2 |
3 | export default Route.extend({
4 | init() {
5 | this._super(...arguments);
6 |
7 | this.breadCrumb = {
8 | title: 'Domains'
9 | }
10 | },
11 | });
12 |
--------------------------------------------------------------------------------
/tests/test-helper.js:
--------------------------------------------------------------------------------
1 | import Application from '../app';
2 | import config from '../config/environment';
3 | import { setApplication } from '@ember/test-helpers';
4 | import { start } from 'ember-qunit';
5 |
6 | setApplication(Application.create(config.APP));
7 |
8 | start();
9 |
--------------------------------------------------------------------------------
/app/pods/contact/new/route.js:
--------------------------------------------------------------------------------
1 | import Route from '@ember/routing/route';
2 |
3 | export default Route.extend({
4 | init() {
5 | this._super(...arguments);
6 |
7 | this.breadCrumb = {
8 | title: 'New',
9 | linkable: false
10 | }
11 | },
12 | });
13 |
--------------------------------------------------------------------------------
/app/pods/contact/route.js:
--------------------------------------------------------------------------------
1 | import Route from '@ember/routing/route';
2 |
3 | export default Route.extend({
4 | init() {
5 | this._super(...arguments);
6 |
7 | this.breadCrumb = {
8 | title: 'Contact',
9 | linkable: false
10 | }
11 | }
12 | });
13 |
--------------------------------------------------------------------------------
/app/pods/record/new/route.js:
--------------------------------------------------------------------------------
1 | import Route from '@ember/routing/route';
2 |
3 | export default Route.extend({
4 | init() {
5 | this._super(...arguments);
6 |
7 | this.breadCrumb = {
8 | title: 'New',
9 | linkable: false
10 | }
11 | },
12 | });
13 |
--------------------------------------------------------------------------------
/app/pods/record/route.js:
--------------------------------------------------------------------------------
1 | import Route from '@ember/routing/route';
2 |
3 | export default Route.extend({
4 | init() {
5 | this._super(...arguments);
6 |
7 | this.breadCrumb = {
8 | title: 'Record',
9 | linkable: false
10 | }
11 | },
12 | });
13 |
--------------------------------------------------------------------------------
/lib/ember-json-tree/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "ember-json-tree",
3 | "keywords": [
4 | "ember-addon"
5 | ],
6 | "dependencies": {
7 | "ember-cli-htmlbars": "^4.2.0",
8 | "ember-cli-babel": "^7.7.3",
9 | "ember-cli-sass": "~10.0.0"
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/app/pods/components/object/md-citation/preview/body/component.js:
--------------------------------------------------------------------------------
1 | import Component from '@ember/component';
2 |
3 | export default Component.extend({
4 | init() {
5 | this._super(...arguments);
6 |
7 | this.profilePath = this.profilePath || 'preview';
8 | },
9 | });
10 |
--------------------------------------------------------------------------------
/app/pods/dictionary/new/route.js:
--------------------------------------------------------------------------------
1 | import Route from '@ember/routing/route';
2 |
3 | export default Route.extend({
4 | init() {
5 | this._super(...arguments);
6 |
7 | this.breadCrumb = {
8 | title: 'New',
9 | linkable: false
10 | }
11 | },
12 | });
13 |
--------------------------------------------------------------------------------
/app/pods/dictionary/route.js:
--------------------------------------------------------------------------------
1 | import Route from '@ember/routing/route';
2 |
3 | export default Route.extend({
4 | init() {
5 | this._super(...arguments);
6 |
7 | this.breadCrumb = {
8 | title: 'Dictionary',
9 | linkable: false
10 | }
11 | },
12 | });
13 |
--------------------------------------------------------------------------------
/app/pods/not-found/template.hbs:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/app/pods/record/index/route.js:
--------------------------------------------------------------------------------
1 | import Route from '@ember/routing/route';
2 |
3 | export default Route.extend({
4 | init() {
5 | this._super(...arguments);
6 |
7 | this.breadCrumb = {
8 | title: 'Record',
9 | linkable: false
10 | }
11 | },
12 | });
13 |
--------------------------------------------------------------------------------
/app/pods/components/object/md-process-step/preview/component.js:
--------------------------------------------------------------------------------
1 | import Component from '@ember/component';
2 | import { alias } from '@ember/object/computed';
3 |
4 | export default Component.extend({
5 | tagName: '',
6 | model: alias('item'),
7 | name: alias('model.description')
8 | });
9 |
--------------------------------------------------------------------------------
/app/pods/dictionary/new/index/route.js:
--------------------------------------------------------------------------------
1 | import Route from '@ember/routing/route';
2 |
3 | export default Route.extend({
4 | redirect: function() {
5 | let rec = this.store.createRecord('dictionary');
6 |
7 | this.replaceWith('dictionary.new.id', rec.id);
8 | }
9 | });
10 |
--------------------------------------------------------------------------------
/app/pods/dictionary/show/edit/domain/edit/citation/route.js:
--------------------------------------------------------------------------------
1 | import Route from '@ember/routing/route';
2 |
3 | export default Route.extend({
4 | init() {
5 | this._super(...arguments);
6 |
7 | this.breadCrumb = {
8 | title: 'Reference'
9 | }
10 | }
11 | });
12 |
--------------------------------------------------------------------------------
/lib/mdeditor-sciencebase/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "mdeditor-sciencebase",
3 | "keywords": [
4 | "ember-addon"
5 | ],
6 | "dependencies": {
7 | "ember-cli-htmlbars": "^4.2.0",
8 | "ember-cli-babel": "^7.7.3",
9 | "ember-cli-sass": "~10.0.0"
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/app/pods/components/control/md-pouch-record-table/buttons/update/template.hbs:
--------------------------------------------------------------------------------
1 | {{#unless this.updated}}
2 |
6 |
7 | Update
8 |
9 | {{/unless}}
--------------------------------------------------------------------------------
/app/pods/components/layout/md-footer/component.js:
--------------------------------------------------------------------------------
1 | import { inject as service } from '@ember/service';
2 | import Component from '@ember/component';
3 |
4 | export default Component.extend({
5 | tagName: 'footer',
6 | classNames: ['md-footer'],
7 |
8 | settings: service()
9 | });
10 |
--------------------------------------------------------------------------------
/app/pods/settings/profile/manage/route.js:
--------------------------------------------------------------------------------
1 | import Route from '@ember/routing/route';
2 | import { inject as service } from '@ember/service';
3 |
4 | export default Route.extend({
5 | model() {
6 | return this.store.findAll('profile');
7 | },
8 |
9 | profile: service(),
10 | });
11 |
--------------------------------------------------------------------------------
/app/pods/components/control/md-pouch-record-table/buttons/import/template.hbs:
--------------------------------------------------------------------------------
1 | {{#unless this.imported}}
2 |
6 |
7 | Import
8 |
9 | {{/unless}}
--------------------------------------------------------------------------------
/app/pods/components/control/md-record-table/buttons/custom/template.hbs:
--------------------------------------------------------------------------------
1 | {{#with column.buttonConfig as |c|}}
2 |
3 | {{fa-icon "binoculars"}} {{c.title}}
4 |
5 | {{/with}}
6 |
--------------------------------------------------------------------------------
/app/pods/components/control/md-pouch-record-table/pouch-buttons/update/template.hbs:
--------------------------------------------------------------------------------
1 | {{#unless this.updated}}
2 |
6 |
7 | Update
8 |
9 | {{/unless}}
--------------------------------------------------------------------------------
/app/pods/components/object/md-graphic-array/md-graphic-preview/template.hbs:
--------------------------------------------------------------------------------
1 | {{item.fileName}}:
2 | {{#each item.fileUri as |image|}}
3 | {{#if image.uri}}
4 |
5 | {{/if}}
6 | {{/each}}
7 |
--------------------------------------------------------------------------------
/app/pods/components/object/md-profile/preview/component.js:
--------------------------------------------------------------------------------
1 | import Component from '@ember/component';
2 | import { or } from '@ember/object/computed';
3 |
4 | export default Component.extend({
5 | classNameBindings: ['textMuted'],
6 | textMuted: true,
7 | config: or('record.config', 'record')
8 | });
9 |
--------------------------------------------------------------------------------
/app/pods/components/object/md-source/preview/template.hbs:
--------------------------------------------------------------------------------
1 |
2 | {{input/md-textarea
3 | value=model.description
4 | profilePath=(concat profilePath ".description")
5 | placeholder="A brief description about the source dataset used in creating the data."
6 | maxrows=7
7 | }}
8 |
9 |
--------------------------------------------------------------------------------
/app/styles/_extent.scss:
--------------------------------------------------------------------------------
1 | .md-extent-container {
2 | border: 1px solid $gray-lighter;
3 | margin-left: 0;
4 | margin-right: 0;
5 | min-height: 250px;
6 | padding: 15px 0;
7 |
8 | .md-extent-description,
9 | .leaflet-container,
10 | .alert {
11 | height: 250px;
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/lib/ember-json-tree/addon/templates/components/tree-label.hbs:
--------------------------------------------------------------------------------
1 | {{#if labelComponent}}
2 | {{component labelComponent model=model
3 | nodePath=nodePath
4 | selected=selected
5 | highlight=highlight
6 | }}
7 | {{else}}
8 | {{label}}
9 | {{/if}}
10 |
--------------------------------------------------------------------------------
/app/instance-initializers/settings-couchdb.js:
--------------------------------------------------------------------------------
1 | import config from '../utils/couchdb-config';
2 |
3 | export function initialize(instance) {
4 | let service = instance.lookup('service:publish');
5 | service.get('catalogs').pushObject(config);
6 | }
7 |
8 | export default {
9 | initialize
10 | };
11 |
--------------------------------------------------------------------------------
/app/instance-initializers/settings.js:
--------------------------------------------------------------------------------
1 | export function initialize(appInstance) {
2 | appInstance.inject('route', 'settings', 'service:settings');
3 | appInstance.inject('controller', 'settings', 'service:settings');
4 | }
5 |
6 | export default {
7 | name: 'settings',
8 | initialize
9 | };
10 |
--------------------------------------------------------------------------------
/app/pods/components/object/md-process-step/preview/template.hbs:
--------------------------------------------------------------------------------
1 |
2 | {{input/md-textarea
3 | value=model.description
4 | profilePath=(concat profilePath ".description")
5 | placeholder="A brief description about the dataset generated by the processing step."
6 | maxrows=7
7 | }}
8 |
9 |
--------------------------------------------------------------------------------
/app/pods/components/control/md-pouch-record-table/buttons/template.hbs:
--------------------------------------------------------------------------------
1 | {{#unless this.relatedRecord}}
2 |
3 | {{else}}
4 |
5 | {{/unless}}
6 |
--------------------------------------------------------------------------------
/app/pods/components/control/md-pouch-record-table/component.js:
--------------------------------------------------------------------------------
1 | import MdModelsTable from 'mdeditor/pods/components/md-models-table/component';
2 | import classic from 'ember-classic-decorator';
3 |
4 | @classic
5 | export default class MdPouchRecordTable extends MdModelsTable {
6 | classNames = ['md-record-table']
7 | }
--------------------------------------------------------------------------------
/app/pods/components/control/md-record-table/buttons/filter/template.hbs:
--------------------------------------------------------------------------------
1 | {{#if showButton}}
2 | {{#control/md-button-confirm class="btn btn-danger btn-block" onConfirm=(action "deleteSelected" selectedItems)}}
3 | Delete Selected
4 | {{/control/md-button-confirm}}
5 | {{/if}}
6 |
--------------------------------------------------------------------------------
/app/pods/components/object/md-distributor/preview/component.js:
--------------------------------------------------------------------------------
1 | import Component from '@ember/component';
2 |
3 | export default Component.extend({
4 | init() {
5 | this._super(...arguments);
6 |
7 | this.tagName = this.isTable ? 'td' : 'div';
8 | },
9 |
10 | classNames: ['property']
11 | });
12 |
--------------------------------------------------------------------------------
/app/pods/components/object/md-raster/attrgroup/attribute/preview/template.hbs:
--------------------------------------------------------------------------------
1 |
2 | {{input/md-textarea
3 | value=item.attributeDescription
4 | placeholder="Description of the attribute"
5 | data-spy=false
6 | profilePath=(concat profilePath ".attributeDescription")
7 | }}
8 |
--------------------------------------------------------------------------------
/app/pods/components/object/md-raster/attrgroup/attribute/preview/component.js:
--------------------------------------------------------------------------------
1 | import Component from '@ember/component';
2 | import { alias } from '@ember/object/computed';
3 |
4 | export default Component.extend({
5 | tagName: '',
6 | item: alias('model'),
7 | attrDesc: alias('model.attrbuteDescription')
8 | });
9 |
--------------------------------------------------------------------------------
/app/pods/publish/couchdb/route.js:
--------------------------------------------------------------------------------
1 | import Route from '@ember/routing/route';
2 | import config from '../../../utils/couchdb-config';
3 |
4 | export default class PublishCouchdbRoute extends Route {
5 | breadCrumb = {
6 | title: 'CouchDB'
7 | };
8 |
9 | model() {
10 | return config;
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/app/pods/components/object/md-citation-array/template.hbs:
--------------------------------------------------------------------------------
1 | {{object/md-objectroute-table
2 | items=model
3 | header=label
4 | buttonText="Add Citation"
5 | ellipsis=ellipsis
6 | templateClass=templateClass
7 | editItem=editItem
8 | attributes=attributes
9 | profilePath=profilePath
10 | }}
11 | {{yield}}
12 |
--------------------------------------------------------------------------------
/lib/mdeditor-sciencebase/addon/routes/publish/sciencebase.js:
--------------------------------------------------------------------------------
1 | import Route from '@ember/routing/route';
2 | import config from '../../utils/config';
3 |
4 | export default Route.extend({
5 | breadCrumb: {
6 | title: 'ScienceBase'
7 | },
8 |
9 | model: function() {
10 | return config;
11 | }
12 | });
13 |
--------------------------------------------------------------------------------
/app/pods/components/control/md-definition/template.hbs:
--------------------------------------------------------------------------------
1 | {{if title title "--"}}
2 |
3 | {{#if hasBlock}}
4 | {{yield}}
5 | {{else}}
6 | {{#if text}}
7 | {{text}}
8 | {{else}}
9 | {{empty}}
10 | {{/if}}
11 | {{/if}}
12 |
13 |
--------------------------------------------------------------------------------
/app/pods/components/md-models-table/component.js:
--------------------------------------------------------------------------------
1 | import classic from 'ember-classic-decorator';
2 | import Table from 'ember-models-table/components/models-table';
3 | import Theme from './themes/bootstrap3';
4 |
5 | @classic
6 | export default class MdModelsTableComponent extends Table {
7 | themeInstance = Theme.create();
8 | }
9 |
--------------------------------------------------------------------------------
/app/pods/components/object/md-identifier-array/template.hbs:
--------------------------------------------------------------------------------
1 | {{object/md-objectroute-table
2 | items=model
3 | header=label
4 | buttonText="Add Identifier"
5 | ellipsis=ellipsis
6 | templateClass=templateClass
7 | editItem=editItem
8 | attributes=attributes
9 | profilePath=profilePath
10 | }}
11 | {{yield}}
12 |
--------------------------------------------------------------------------------
/app/pods/components/object/md-transfer/preview/component.js:
--------------------------------------------------------------------------------
1 | import Component from '@ember/component';
2 |
3 | export default Component.extend({
4 | init() {
5 | this.tagName = this.isTable ? '' : 'div';
6 | this._super(...arguments);
7 | },
8 |
9 | classNames: ['property'],
10 | isTable: true
11 | });
12 |
--------------------------------------------------------------------------------
/app/helpers/object-each.js:
--------------------------------------------------------------------------------
1 | import { helper } from '@ember/component/helper';
2 |
3 | export default helper(function objectEach([obj]) {
4 | let result = [];
5 | for (let key in obj) {
6 | if (obj.hasOwnProperty(key)) {
7 | result.push({ key, value: obj[key] });
8 | }
9 | }
10 | return result;
11 | });
12 |
--------------------------------------------------------------------------------
/app/pods/settings/validation/route.js:
--------------------------------------------------------------------------------
1 | import Route from '@ember/routing/route';
2 | import { inject as service } from '@ember/service';
3 | // import EmberObject from '@ember/object';
4 |
5 | export default Route.extend({
6 | model() {
7 | return this.store.findAll('schema');
8 | },
9 |
10 | schemas: service(),
11 | });
12 |
--------------------------------------------------------------------------------
/app/utils/md-object.js:
--------------------------------------------------------------------------------
1 | import { clean } from 'mdeditor/services/cleaner';
2 |
3 | const isEmpty = function (obj) {
4 | if(obj !== null) {
5 | let empty = obj ? Object.keys(clean(obj, {
6 | preserveArrays: false
7 | })).length === 0 : true;
8 |
9 | return empty;
10 | }
11 | };
12 |
13 | export { isEmpty };
14 |
--------------------------------------------------------------------------------
/app/pods/record/show/edit/spatial/index/template.hbs:
--------------------------------------------------------------------------------
1 |
5 |
6 | {{#with model.json.metadata.resourceInfo as |resourceInfo|}}
7 | {{object/md-spatial-info model=resourceInfo profilePath="record.spatial" parentModel=model}}
8 | {{/with}}
9 |
--------------------------------------------------------------------------------
/tests/unit/helpers/mod-test.js:
--------------------------------------------------------------------------------
1 |
2 | import { mod } from 'mdeditor/helpers/mod';
3 | import { module, test } from 'qunit';
4 |
5 | module('Unit | Helper | mod', function() {
6 | // Replace this with your real tests.
7 | test('it works', function(assert) {
8 | let result = mod([42]);
9 | assert.ok(result);
10 | });
11 | });
12 |
13 |
--------------------------------------------------------------------------------
/tests/unit/routes/index-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | index', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | var route = this.owner.lookup('route:index');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/.ember-cli:
--------------------------------------------------------------------------------
1 | {
2 | /**
3 | Ember CLI sends analytics information by default. The data is completely
4 | anonymous, but there are times when you might want to disable this behavior.
5 |
6 | Setting `disableAnalytics` to true will prevent any data from being sent.
7 | */
8 | "disableAnalytics": false,
9 | "usePods": true
10 | }
11 |
--------------------------------------------------------------------------------
/app/pods/components/control/md-button/template.hbs:
--------------------------------------------------------------------------------
1 | {{#if (has-block)}}
2 | {{yield}}
3 | {{else}}
4 | {{#if icon}}
5 | {{fa-icon icon spin=iconSpin}}
6 | {{/if}}
7 | {{text}}
8 | {{/if}}
9 |
10 | {{#if tooltip}}
11 | {{ember-tooltip tooltipClass=(concat "ember-tooltip md-tooltip " tipClass) text=tooltip side=tipSide}}
12 | {{/if}}
13 |
--------------------------------------------------------------------------------
/tests/unit/pods/error/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | error', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | let route = this.owner.lookup('route:error');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/tests/unit/pods/export/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | save', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | var route = this.owner.lookup('route:save');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/tests/unit/pods/help/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | help', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | var route = this.owner.lookup('route:help');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/app/pods/components/object/md-lineage/preview/component.js:
--------------------------------------------------------------------------------
1 | import Component from '@ember/component';
2 | import { computed } from '@ember/object';
3 |
4 | export default Component.extend({
5 | showMore: false,
6 | limit:1,
7 | showLimit: computed('limit','showMore', function() {
8 | return this.showMore ? 100: this.limit;
9 | }),
10 | });
11 |
--------------------------------------------------------------------------------
/app/pods/components/object/md-taxonomy/collection/system/preview/template.hbs:
--------------------------------------------------------------------------------
1 |
2 | {{input/md-input
3 | model=this
4 | valuePath='title'
5 | placeholder='Descriptive name for the collection taxonomic system.'
6 | profilePath=(concat profilePath '.citation.title')
7 | showValidations=true
8 | required=true
9 | }}
10 |
--------------------------------------------------------------------------------
/app/styles/_dashboard.scss:
--------------------------------------------------------------------------------
1 | .dashboard {
2 | padding: 20px;
3 |
4 | .card {
5 | border: 0;
6 | }
7 |
8 | .card-footer {
9 | background-color: $gray-dark;
10 | transition: all .5s ease-out;
11 |
12 | &:hover {
13 | background-color: $gray;
14 | }
15 | }
16 |
17 | .logo{
18 | color: $gray-dark;
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/tests/unit/pods/import/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | import', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | var route = this.owner.lookup('route:import');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/tests/unit/pods/records/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | records', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | var route = this.owner.lookup('route:records');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/app/adapters/pouch-contact.js:
--------------------------------------------------------------------------------
1 | import { Adapter } from 'ember-pouch';
2 | import { initDb, unloadedDocumentChanged } from 'mdeditor/adapters/pouch-base';
3 |
4 | export default class PouchContactAdapter extends Adapter {
5 | db = initDb();
6 |
7 | recordTypeName = 'pouchContact';
8 |
9 | unloadedDocumentChanged = unloadedDocumentChanged.bind(this);
10 | }
--------------------------------------------------------------------------------
/app/adapters/pouch-record.js:
--------------------------------------------------------------------------------
1 | import { Adapter } from 'ember-pouch';
2 | import { initDb, unloadedDocumentChanged } from 'mdeditor/adapters/pouch-base';
3 |
4 | export default class PouchRecordAdapter extends Adapter {
5 | db = initDb();
6 |
7 | recordTypeName = 'pouchRecord';
8 |
9 | unloadedDocumentChanged = unloadedDocumentChanged.bind(this);
10 | }
--------------------------------------------------------------------------------
/tests/unit/pods/contacts/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | contacts', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | var route = this.owner.lookup('route:contacts');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/tests/unit/pods/settings/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | settings', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | var route = this.owner.lookup('route:settings');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/tests/unit/utils/config-test.js:
--------------------------------------------------------------------------------
1 | import config from 'mdeditor/utils/config';
2 | import { module, test } from 'qunit';
3 |
4 | module('Unit | Utility | config', function() {
5 | // Replace this with your real tests.
6 | test('it works', function(assert) {
7 | let result = config.name;
8 | assert.equal(result, 'ScienceBase');
9 | });
10 | });
11 |
--------------------------------------------------------------------------------
/.prettierrc.js:
--------------------------------------------------------------------------------
1 | // prettier.config.js, .prettierrc.js, prettier.config.cjs, or .prettierrc.cjs
2 |
3 | /**
4 | * @see https://prettier.io/docs/en/configuration.html
5 | * @type {import("prettier").Config}
6 | */
7 | const config = {
8 | trailingComma: 'es5',
9 | tabWidth: 2,
10 | semi: true,
11 | singleQuote: true,
12 | }
13 |
14 | module.exports = config
--------------------------------------------------------------------------------
/lib/ember-leaflet-table/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "ember-leaflet-table",
3 | "keywords": [
4 | "ember-addon"
5 | ],
6 | "dependencies": {
7 | "ember-cli-htmlbars": "^4.2.0",
8 | "ember-cli-babel": "^7.7.3",
9 | "ember-cli-sass": "~10.0.0",
10 | "ember-classic-decorator": "^3.0.1",
11 | "ember-decorators": "^6.1.1"
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/tests/unit/pods/dashboard/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | dashboard', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | var route = this.owner.lookup('route:dashboard');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/tests/unit/pods/not-found/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | not found', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | let route = this.owner.lookup('route:not-found');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/tests/unit/pods/translate/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | translate', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | var route = this.owner.lookup('route:translate');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/tests/unit/routes/application-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | application', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | var route = this.owner.lookup('route:application');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/.eslintignore:
--------------------------------------------------------------------------------
1 | # unconventional js
2 | /blueprints/*/files/
3 | /vendor/
4 |
5 | # compiled output
6 | /dist/
7 | /tmp/
8 |
9 | # dependencies
10 | /bower_components/
11 | /node_modules/
12 |
13 | # misc
14 | /coverage/
15 | !.*
16 | .*/
17 | .eslintcache
18 |
19 | # ember-try
20 | /.node_modules.ember-try/
21 | /bower.json.ember-try
22 | /package.json.ember-try
23 |
--------------------------------------------------------------------------------
/app/adapters/pouch-dictionary.js:
--------------------------------------------------------------------------------
1 | import { Adapter } from 'ember-pouch';
2 | import { initDb, unloadedDocumentChanged } from 'mdeditor/adapters/pouch-base';
3 |
4 | export default class PouchDictionaryAdapter extends Adapter {
5 | db = initDb();
6 |
7 | recordTypeName = 'pouchDictionary';
8 |
9 | unloadedDocumentChanged = unloadedDocumentChanged.bind(this);
10 | }
--------------------------------------------------------------------------------
/app/pods/components/input/md-select-thesaurus/template.hbs:
--------------------------------------------------------------------------------
1 | {{input/md-select
2 | placeholder="Pick a thesaurus"
3 | disabled=disabled
4 | objectArray=thesaurusList
5 | valuePath="id"
6 | namePath="label"
7 | value=value
8 | tooltip=true
9 | tooltipPath="tooltipText"
10 | change=(action "update" value thesaurus)
11 | }}
12 |
--------------------------------------------------------------------------------
/app/pods/components/models-table/table-body/component.js:
--------------------------------------------------------------------------------
1 | import Body from 'ember-models-table/components/models-table/table-body';
2 |
3 | export default Body.extend({
4 | actions: {
5 | clickOnRowExpand(index, record) {
6 | if(this.themeInstance.selectRowOnExpandClick) {
7 | this.clickOnRow(index, record);
8 | }
9 | }
10 | }
11 | });
12 |
--------------------------------------------------------------------------------
/app/pods/components/object/md-address/md-address-block/template.hbs:
--------------------------------------------------------------------------------
1 |
2 | {{#each item.deliveryPoint as |dp|}}
3 | {{dp}}
4 | {{/each}}
5 | {{item.city}}, {{item.administrativeArea}} {{item.postalCode}}
6 | {{item.country}}
7 | {{#if item.addressType}}
8 | {{join ", " item.addressType}}
9 | {{/if}}
10 |
11 |
--------------------------------------------------------------------------------
/tests/unit/pods/contact/show/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | contact/show', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | var route = this.owner.lookup('route:contact/show');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/tests/unit/pods/dictionaries/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | dictionaries', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | var route = this.owner.lookup('route:dictionaries');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/tests/unit/pods/record/index/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | record/index', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | let route = this.owner.lookup('route:record/index');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/tests/unit/pods/record/show/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | record/show', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | var route = this.owner.lookup('route:record/show');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/app/models/pouch-contact.js:
--------------------------------------------------------------------------------
1 | import Model from 'mdeditor/models/pouch-base';
2 | import { computed } from '@ember/object';
3 |
4 | export default class PouchContactModel extends Model {
5 | @computed('json.{name,positionName,isOrganization}')
6 | get title() {
7 | return this.json.name || (this.json.isOrganization ? null : this.json.positionName);
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/app/pods/components/control/md-scroll-spy/template.hbs:
--------------------------------------------------------------------------------
1 | {{#if setScrollTo}}
2 |
3 | {{#each links as |link|}}
4 |
5 | {{link.text}}
6 |
7 | {{/each}}
8 | {{yield}}
9 |
10 | {{/if}}
11 |
--------------------------------------------------------------------------------
/app/pods/components/object/md-source/preview/component.js:
--------------------------------------------------------------------------------
1 | import Component from '@ember/component';
2 | import { alias } from '@ember/object/computed';
3 | // import {
4 | // Validations
5 | // } from '../component';
6 |
7 | export default Component.extend(/*Validations,*/ {
8 | tagName: '',
9 | model: alias('item'),
10 | name: alias('model.description')
11 | });
12 |
--------------------------------------------------------------------------------
/lib/ember-json-tree/addon/components/nestable-draggable-object.js:
--------------------------------------------------------------------------------
1 | import Draggable from 'ember-drag-drop/components/draggable-object';
2 |
3 | export default Draggable.extend({
4 | dragStart(event){
5 | if(event.currentTarget.getElementsByClassName('is-dragging-object').length){
6 | return;
7 | }
8 |
9 | this._super(...arguments);
10 | }
11 | });
12 |
--------------------------------------------------------------------------------
/tests/unit/pods/publish/index/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | publish/index', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | let route = this.owner.lookup('route:publish/index');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/tests/unit/pods/record/new/id/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | record/new/id', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | let route = this.owner.lookup('route:record/new/id');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/tests/unit/pods/settings/main/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | settings/main', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | let route = this.owner.lookup('route:settings/main');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/app/pods/components/md-models-table/components/check/component.js:
--------------------------------------------------------------------------------
1 | import Component from '@ember/component';
2 |
3 | export default Component.extend({
4 | attributeBindings: ['aria-checked:isSelected'],
5 |
6 | actions: {
7 | clickOnRow(index, record, event) {
8 | this.clickOnRow(index, record);
9 | event.stopPropagation();
10 | }
11 | }
12 | });
13 |
--------------------------------------------------------------------------------
/app/pods/components/object/md-documentation/preview/component.js:
--------------------------------------------------------------------------------
1 | import Component from '@ember/component';
2 |
3 | export default Component.extend({
4 | classNameBindings: ['muted:text-muted'],
5 |
6 | /**
7 | * Whether to render the text muted.
8 | *
9 | * @property muted
10 | * @type {Boolean}
11 | * @default "true"
12 | */
13 | muted: true
14 | });
15 |
--------------------------------------------------------------------------------
/app/pods/publish/route.js:
--------------------------------------------------------------------------------
1 | import Route from '@ember/routing/route';
2 | import { inject as service } from '@ember/service';
3 |
4 | export default class PublishRoute extends Route {
5 | @service publish;
6 | @service token;
7 |
8 | async beforeModel() {
9 | await this.token.setup();
10 | }
11 |
12 | model() {
13 | return this.publish.catalogs;
14 | }
15 | }
--------------------------------------------------------------------------------
/tests/unit/helpers/make-range-test.js:
--------------------------------------------------------------------------------
1 |
2 | import { makeRange } from 'mdeditor/helpers/make-range';
3 | import { module, test } from 'qunit';
4 |
5 | module('Unit | Helper | make range', function() {
6 | // Replace this with your real tests.
7 | test('it works', function(assert) {
8 | let result = makeRange([42]);
9 | assert.ok(result);
10 | });
11 | });
12 |
13 |
--------------------------------------------------------------------------------
/tests/unit/pods/contact/new/id/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | contact/new/id', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | let route = this.owner.lookup('route:contact/new/id');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/tests/unit/pods/contact/show/edit/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | contact/edit', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | var route = this.owner.lookup('route:contact/show/edit');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/tests/unit/pods/dictionary/show/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | dictionary/show', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | var route = this.owner.lookup('route:dictionary/show');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/tests/unit/pods/record/show/edit/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | record/edit', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | var route = this.owner.lookup('route:record/show/edit');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/tests/unit/pods/settings/index/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | settings/index', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | let route = this.owner.lookup('route:settings/index');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/lib/ember-leaflet-table/addon/components/feature-group.js:
--------------------------------------------------------------------------------
1 | import LayerGroup from 'ember-leaflet-layer-control/components/layer-group';
2 |
3 | export default LayerGroup.extend({
4 | createLayer() {
5 | let layer = this.L.featureGroup();
6 |
7 | this.setFeatureGroup(layer);
8 | return layer;
9 | },
10 | setFeatureGroup() {
11 | return this;
12 | }
13 | });
14 |
--------------------------------------------------------------------------------
/tests/unit/pods/contact/new/index/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | contact/new/index', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | let route = this.owner.lookup('route:contact/new/index');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/tests/unit/pods/dictionary/new/id/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | dictionary/new/id', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | let route = this.owner.lookup('route:dictionary/new/id');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/tests/unit/pods/record/new/index/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | record/new/index', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | let route = this.owner.lookup('route:record/new/index');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/tests/unit/pods/record/show/index/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | record/show/index', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | let route = this.owner.lookup('route:record/show/index');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/tests/unit/pods/settings/profile/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | settings/profile', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | let route = this.owner.lookup('route:settings/profile');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/tests/unit/validators/array-valid-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Validator | array-valid', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it works', function(assert) {
8 | var validator = this.owner.lookup('validator:array-valid');
9 | assert.ok(validator);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/app/instance-initializers/profile.js:
--------------------------------------------------------------------------------
1 | export function initialize(appInstance) {
2 | //appInstance.inject('route', 'profile', 'service:custom-profile');
3 | //appInstance.inject('controller', 'profile', 'service:custom-profile');
4 | appInstance.inject('component', 'profile', 'service:custom-profile');
5 | }
6 |
7 | export default {
8 | name: 'profile',
9 | initialize
10 | };
11 |
--------------------------------------------------------------------------------
/tests/helpers/destroy-app.js:
--------------------------------------------------------------------------------
1 | import { run } from '@ember/runloop';
2 |
3 | export default function destroyApp(application) {
4 | var store = application.__container__.lookup('service:store');
5 |
6 | if(store) {
7 | run(function() {
8 | store.unloadAll();
9 | application.destroy();
10 | });
11 | } else {
12 | run(application, 'destroy');
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/tests/unit/pods/contact/show/index/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | contact/show/index', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | let route = this.owner.lookup('route:contact/show/index');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/tests/unit/pods/dictionary/show/edit/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | dictionary/edit', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | var route = this.owner.lookup('route:dictionary/show/edit');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/tests/unit/routes/publish/sciencebase-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | publish/sciencebase', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | let route = this.owner.lookup('route:publish/sciencebase');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM node:20 as build
2 | WORKDIR /src
3 |
4 | COPY package.json /src/.
5 | COPY yarn.lock /src/.
6 |
7 | RUN corepack enable
8 | RUN yarn install
9 |
10 | COPY . /src/.
11 | RUN yarn
12 | RUN yarn build
13 |
14 | # Final image will only contain the following
15 | FROM pierrezemb/gostatic
16 | COPY --from=build /src/dist/ /srv/http/
17 |
18 | CMD ["-fallback", "/index.html"]
19 |
--------------------------------------------------------------------------------
/app/helpers/get-dash.js:
--------------------------------------------------------------------------------
1 | import Helper from '@ember/component/helper';
2 | import { get } from '@ember/object';
3 |
4 | export function getDash(params /*, hash*/ ) {
5 | let obj = params[0];
6 | let prop = params[1].trim();
7 | let val = null;
8 |
9 | if(obj) {
10 | val = get(obj, prop);
11 | }
12 | return val || "--";
13 | }
14 |
15 | export default Helper.helper(getDash);
16 |
--------------------------------------------------------------------------------
/app/pods/components/control/md-button-confirm/template.hbs:
--------------------------------------------------------------------------------
1 | {{#liquid-if isShowingConfirm use="toDown"}}
2 | Confirm
3 | {{else}}
4 | {{yield}}
5 | {{/liquid-if}}
6 |
7 | {{#if isShowingConfirm}}
8 | {{#if tooltip}}
9 | {{ember-tooltip tooltipClass=(concat "ember-tooltip md-tooltip " tipClass) text=tooltip side=tipSide}}
10 | {{/if}}
11 | {{/if}}
12 |
--------------------------------------------------------------------------------
/app/pods/components/input/md-boolean/template.hbs:
--------------------------------------------------------------------------------
1 | {{#if label}}
2 | {{label}}
3 | {{#if showInfotip}}
4 | {{control/md-infotip text=placeholder}}
5 | {{/if}}
6 | {{/if}}
7 |
8 |
9 | {{input type="checkbox" checked=value}}
10 | {{text}}
11 |
12 |
13 | {{yield}}
14 |
--------------------------------------------------------------------------------
/tests/unit/pods/dictionary/new/index/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | dictionary/new/index', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | let route = this.owner.lookup('route:dictionary/new/index');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/tests/unit/pods/record/show/edit/grid/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | record/edit/grid', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | var route = this.owner.lookup('route:record/show/edit/grid');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/tests/unit/pods/settings/validation/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | settings/validation', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | let route = this.owner.lookup('route:settings/validation');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/tests/unit/validators/array-required-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Validator | array-required', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it works', function(assert) {
8 | var validator = this.owner.lookup('validator:array-required');
9 | assert.ok(validator);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/lib/mdeditor-sciencebase/addon/instance-initializers/settings-sciencebase.js:
--------------------------------------------------------------------------------
1 | import config from '../utils/config';
2 |
3 | export function initialize(instance) {
4 | // appInstance.inject('route', 'foo', 'service:foo');
5 | let service = instance.lookup('service:publish');
6 |
7 | service.get('catalogs').pushObject(config);
8 | }
9 |
10 |
11 | export default {
12 | initialize
13 | };
14 |
--------------------------------------------------------------------------------
/tests/unit/pods/dictionary/show/index/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | dictionary/show/index', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | let route = this.owner.lookup('route:dictionary/show/index');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/tests/unit/pods/record/show/edit/index/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | record/show/edit/index', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | let route = this.owner.lookup('route:record/show/edit/index');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/tests/unit/pods/record/show/edit/main/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | record/show/edit/main', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | let route = this.owner.lookup('route:record/show/edit/main');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/tests/unit/pods/record/show/translate/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | record/show/translate', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | let route = this.owner.lookup('route:record/show/translate');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/tests/unit/pods/settings/profile/index/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | settings/profile/index', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | let route = this.owner.lookup('route:settings/profile/index');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/tests/unit/services/icon-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Service | icon', function(hooks) {
5 | setupTest(hooks);
6 |
7 | // Replace this with your real tests.
8 | test('it exists', function(assert) {
9 | var service = this.owner.lookup('service:icon');
10 | assert.ok(service);
11 | });
12 | });
13 |
--------------------------------------------------------------------------------
/tests/unit/services/itis-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Service | itis', function(hooks) {
5 | setupTest(hooks);
6 |
7 | // Replace this with your real tests.
8 | test('it exists', function(assert) {
9 | let service = this.owner.lookup('service:itis');
10 | assert.ok(service);
11 | });
12 | });
13 |
--------------------------------------------------------------------------------
/tests/unit/services/patch-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Service | patch', function(hooks) {
5 | setupTest(hooks);
6 |
7 | // Replace this with your real tests.
8 | test('it exists', function(assert) {
9 | let service = this.owner.lookup('service:patch');
10 | assert.ok(service);
11 | });
12 | });
13 |
--------------------------------------------------------------------------------
/tests/unit/pods/record/show/edit/keywords/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | record/edit/keywords', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | var route = this.owner.lookup('route:record/show/edit/keywords');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/tests/unit/pods/settings/profile/manage/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | settings/profile/manage', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | let route = this.owner.lookup('route:settings/profile/manage');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/tests/unit/services/mdjson-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Service | mdjson', function(hooks) {
5 | setupTest(hooks);
6 |
7 | // Replace this with your real tests.
8 | test('it exists', function(assert) {
9 | let service = this.owner.lookup('service:mdjson');
10 | assert.ok(service);
11 | });
12 | });
13 |
--------------------------------------------------------------------------------
/tests/unit/services/slider-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Service | slider', function(hooks) {
5 | setupTest(hooks);
6 |
7 | // Replace this with your real tests.
8 | test('it exists', function(assert) {
9 | let service = this.owner.lookup('service:slider');
10 | assert.ok(service);
11 | });
12 | });
13 |
--------------------------------------------------------------------------------
/tests/unit/helpers/md-markdown-test.js:
--------------------------------------------------------------------------------
1 |
2 | import { mdMarkdown } from 'mdeditor/helpers/md-markdown';
3 | import { module, test } from 'qunit';
4 |
5 | module('Unit | Helper | md markdown', function() {
6 | // Replace this with your real tests.
7 | test('it works', function(assert) {
8 | let result = mdMarkdown('# Test');
9 | assert.equal(result.string.trim(), '#
');
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/tests/unit/pods/record/show/edit/associated/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | record/edit/associated', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | var route = this.owner.lookup('route:record/show/edit/associated');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/tests/unit/pods/record/show/edit/coverages/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | record/edit/coverages', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | var route = this.owner.lookup('route:record/show/edit/coverages');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/tests/unit/pods/record/show/edit/documents/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | record/edit/documents', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | var route = this.owner.lookup('route:record/show/edit/documents');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/tests/unit/pods/record/show/edit/funding/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | record/show/edit/funding', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | let route = this.owner.lookup('route:record/show/edit/funding');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/tests/unit/pods/record/show/edit/metadata/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | record/show/edit/metadata', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | let route = this.owner.lookup('route:record/show/edit/metadata');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/tests/unit/pods/record/show/edit/spatial/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | record/show/edit/spatial', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | let route = this.owner.lookup('route:record/show/edit/spatial');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/tests/unit/pods/record/show/edit/taxonomy/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | record/show/edit/taxonomy', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | let route = this.owner.lookup('route:record/show/edit/taxonomy');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/tests/unit/services/contacts-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Service | contacts', function(hooks) {
5 | setupTest(hooks);
6 |
7 | // Replace this with your real tests.
8 | test('it exists', function(assert) {
9 | let service = this.owner.lookup('service:contacts');
10 | assert.ok(service);
11 | });
12 | });
13 |
--------------------------------------------------------------------------------
/tests/unit/services/keycloak-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Service | keycloak', function(hooks) {
5 | setupTest(hooks);
6 |
7 | // Replace this with your real tests.
8 | test('it exists', function(assert) {
9 | let service = this.owner.lookup('service:keycloak');
10 | assert.ok(service);
11 | });
12 | });
13 |
--------------------------------------------------------------------------------
/tests/unit/services/keyword-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Service | keyword', function(hooks) {
5 | setupTest(hooks);
6 |
7 | // Replace this with your real tests.
8 | test('it exists', function(assert) {
9 | let service = this.owner.lookup('service:keyword');
10 | assert.ok(service);
11 | });
12 | });
13 |
--------------------------------------------------------------------------------
/tests/unit/services/profile-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Service | profile', function(hooks) {
5 | setupTest(hooks);
6 |
7 | // Replace this with your real tests.
8 | test('it exists', function(assert) {
9 | var service = this.owner.lookup('service:profile');
10 | assert.ok(service);
11 | });
12 | });
13 |
--------------------------------------------------------------------------------
/tests/unit/services/publish-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Service | publish', function(hooks) {
5 | setupTest(hooks);
6 |
7 | // Replace this with your real tests.
8 | test('it exists', function(assert) {
9 | let service = this.owner.lookup('service:publish');
10 | assert.ok(service);
11 | });
12 | });
13 |
--------------------------------------------------------------------------------
/tests/unit/services/schemas-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Service | schemas', function(hooks) {
5 | setupTest(hooks);
6 |
7 | // Replace this with your real tests.
8 | test('it exists', function(assert) {
9 | let service = this.owner.lookup('service:schemas');
10 | assert.ok(service);
11 | });
12 | });
13 |
--------------------------------------------------------------------------------
/tests/unit/services/settings-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Service | settings', function(hooks) {
5 | setupTest(hooks);
6 |
7 | // Replace this with your real tests.
8 | test('it exists', function (assert) {
9 | let service = this.owner.lookup('service:settings');
10 | assert.ok(service);
11 | });
12 | });
13 |
--------------------------------------------------------------------------------
/app/pods/components/control/subbar-importcsv/template.hbs:
--------------------------------------------------------------------------------
1 |
2 | {{fa-icon "sign-in"}} Do Import
3 |
4 | {{fa-icon "times"}} Cancel Import
5 | {{yield}}
6 |
--------------------------------------------------------------------------------
/tests/unit/pods/dictionary/show/edit/domain/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | dictionary/show/edit/domain', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | let route = this.owner.lookup('route:dictionary/show/edit/domain');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/tests/unit/pods/dictionary/show/edit/entity/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | dictionary/show/edit/entity', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | let route = this.owner.lookup('route:dictionary/show/edit/entity');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/tests/unit/pods/dictionary/show/edit/index/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | dictionary/show/edit/index', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | var route = this.owner.lookup('route:dictionary/show/edit/index');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/tests/unit/pods/record/show/edit/constraint/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | record/show/edit/constraint', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | let route = this.owner.lookup('route:record/show/edit/constraint');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/tests/unit/pods/record/show/edit/dictionary/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | record/show/edit/dictionary', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | let route = this.owner.lookup('route:record/show/edit/dictionary');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/tests/unit/pods/record/show/edit/main/index/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | record/show/edit/main/index', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | let route = this.owner.lookup('route:record/show/edit/main/index');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/tests/unit/services/spotlight-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Service | spotlight', function(hooks) {
5 | setupTest(hooks);
6 |
7 | // Replace this with your real tests.
8 | test('it exists', function(assert) {
9 | let service = this.owner.lookup('service:spotlight');
10 | assert.ok(service);
11 | });
12 | });
13 |
--------------------------------------------------------------------------------
/tests/unit/pods/record/show/edit/distribution/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | record/edit/distribution', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | var route = this.owner.lookup('route:record/show/edit/distribution');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/app/pods/record/show/edit/distribution/route.js:
--------------------------------------------------------------------------------
1 | import Route from '@ember/routing/route';
2 | import { get, set, getWithDefault } from '@ember/object';
3 |
4 | export default Route.extend({
5 | afterModel(m) {
6 | this._super(...arguments);
7 |
8 | let model = get(m, 'json.metadata');
9 | set(model, 'resourceDistribution', getWithDefault(model,
10 | 'resourceDistribution', []));
11 | },
12 | });
13 |
--------------------------------------------------------------------------------
/tests/unit/pods/dictionary/show/edit/citation/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | dictionary/show/edit/citation', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | let route = this.owner.lookup('route:dictionary/show/edit/citation');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/tests/unit/pods/record/show/edit/extent/index/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | record/show/edit/extent/index', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | let route = this.owner.lookup('route:record/show/edit/extent/index');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/tests/unit/pods/record/show/edit/funding/index/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | record/show/edit/funding/index', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | let route = this.owner.lookup('route:record/show/edit/funding/index');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/tests/unit/pods/record/show/edit/main/citation/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | record/show/edit/main/citation', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | let route = this.owner.lookup('route:record/show/edit/main/citation');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/tests/unit/pods/record/show/edit/spatial/index/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | record/show/edit/spatial/index', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | let route = this.owner.lookup('route:record/show/edit/spatial/index');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/tests/unit/pods/dictionary/show/edit/domain/edit/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | dictionary/show/edit/domain/edit', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | let route = this.owner.lookup('route:dictionary/show/edit/domain/edit');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/tests/unit/pods/dictionary/show/edit/entity/edit/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | dictionary/show/edit/entity/edit', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | let route = this.owner.lookup('route:dictionary/show/edit/entity/edit');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/tests/unit/pods/record/show/edit/documents/index/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | record/show/edit/documents/index', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | let route = this.owner.lookup('route:record/show/edit/documents/index');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/tests/unit/pods/record/show/edit/keywords/index/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | record/show/edit/keywords/index', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | let route = this.owner.lookup('route:record/show/edit/keywords/index');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/tests/unit/pods/record/show/edit/metadata/index/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | record/show/edit/metadata/index', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | let route = this.owner.lookup('route:record/show/edit/metadata/index');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/tests/unit/pods/record/show/edit/metadata/parent/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | record/show/edit/metadata/parent', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | let route = this.owner.lookup('route:record/show/edit/metadata/parent');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/tests/unit/pods/record/show/edit/spatial/extent/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | record/show/edit/extent/spatial', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | let route = this.owner.lookup('route:record/show/edit/extent/spatial');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/tests/unit/pods/record/show/edit/spatial/raster/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | record/show/edit/spatial/raster', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | let route = this.owner.lookup('route:record/show/edit/spatial/raster');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/tests/unit/pods/record/show/edit/taxonomy/index/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | record/show/edit/taxonomy/index', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | let route = this.owner.lookup('route:record/show/edit/taxonomy/index');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/tests/unit/services/custom-profile-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Service | custom-profile', function(hooks) {
5 | setupTest(hooks);
6 |
7 | // Replace this with your real tests.
8 | test('it exists', function(assert) {
9 | let service = this.owner.lookup('service:custom-profile');
10 | assert.ok(service);
11 | });
12 | });
13 |
--------------------------------------------------------------------------------
/app/pods/components/models-table/cell-content-display/template.hbs:
--------------------------------------------------------------------------------
1 | {{#if column.truncate}}
2 | {{word-limit
3 | (get record column.propertyName)
4 | limit=column.wordLimit
5 | wordLength=column.wordLength
6 | }}
7 | {{else if column.break}}
8 |
9 | {{get record column.propertyName}}
10 |
11 | {{else}}
12 | {{get record column.propertyName}}
13 | {{/if}}
14 |
--------------------------------------------------------------------------------
/app/pods/sync/list/route.js:
--------------------------------------------------------------------------------
1 | import Route from '@ember/routing/route';
2 | import { inject as service } from '@ember/service';
3 |
4 | export default class SyncListRoute extends Route {
5 | @service pouch;
6 | @service couch;
7 |
8 | async beforeModel() {
9 | await this.couch.setup();
10 | await this.pouch.setup();
11 | }
12 |
13 | async model() {
14 | return this.pouch.pouchModels;
15 | }
16 | }
17 |
18 |
--------------------------------------------------------------------------------
/tests/unit/pods/dictionary/show/edit/domain/index/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | dictionary/show/edit/domain/index', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | let route = this.owner.lookup('route:dictionary/show/edit/domain/index');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/tests/unit/pods/dictionary/show/edit/entity/index/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | dictionary/show/edit/entity/index', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | let route = this.owner.lookup('route:dictionary/show/edit/entity/index');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/tests/unit/pods/record/show/edit/associated/index/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | record/show/edit/associated/index', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | let route = this.owner.lookup('route:record/show/edit/associated/index');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/tests/unit/pods/record/show/edit/constraint/index/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | record/show/edit/constraint/index', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | let route = this.owner.lookup('route:record/show/edit/constraint/index');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/app/pods/components/object/md-domainitem/preview/component.js:
--------------------------------------------------------------------------------
1 | import Component from '@ember/component';
2 | import { alias } from '@ember/object/computed';
3 | import {
4 | Validations
5 | } from '../component';
6 |
7 | export default Component.extend(Validations, {
8 | tagName:'',
9 | model: alias('item'),
10 | name: alias('model.name'),
11 | value: alias('model.value'),
12 | definition: alias('model.definition')
13 | });
14 |
--------------------------------------------------------------------------------
/tests/unit/pods/dictionary/show/edit/citation/index/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | dictionary/show/edit/citation/index', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | let route = this.owner.lookup('route:dictionary/show/edit/citation/index');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/tests/unit/pods/dictionary/show/edit/entity/import/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | dictionary/show/edit/entity/import', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | let route = this.owner.lookup('route:dictionary/show/edit/entity/import');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/tests/unit/pods/record/show/edit/distribution/index/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | record/show/edit/distribution/index', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | let route = this.owner.lookup('route:record/show/edit/distribution/index');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/tests/unit/pods/record/show/edit/documents/citation/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | record/show/edit/documents/citation', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | let route = this.owner.lookup('route:record/show/edit/documents/citation');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/tests/unit/pods/record/show/edit/funding/allocation/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | record/show/edit/funding/allocation', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | let route = this.owner.lookup('route:record/show/edit/funding/allocation');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/tests/unit/pods/record/show/edit/keywords/thesaurus/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | record/show/edit/keywords/thesaurus', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | let route = this.owner.lookup('route:record/show/edit/keywords/thesaurus');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/tests/unit/pods/record/show/edit/metadata/alternate/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | record/show/edit/metadata/alternate', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | let route = this.owner.lookup('route:record/show/edit/metadata/alternate');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/app/pods/components/layout/nav/record/nav-main/template.hbs:
--------------------------------------------------------------------------------
1 |
2 | {{#link-to "record.show.translate" model}}
3 |
4 | Translate
5 | {{ember-tooltip text="Translate" side="bottom" tooltipClass="ember-tooltip md-nav-tip"}}
6 | {{/link-to}}
7 |
8 |
9 |
10 |
11 | {{from-elsewhere name="record-nav"}}
12 |
13 |
--------------------------------------------------------------------------------
/app/pods/record/show/translate/template.hbs:
--------------------------------------------------------------------------------
1 |
2 |
3 |
Translate Record
4 | {{md-translate
5 | model=model
6 | store=store
7 | writer=writer
8 | forceValid=forceValid
9 | showAllTags=showAllTags
10 | goToSettings=(route-action "goToSettings")
11 | }}
12 |
13 |
14 |
--------------------------------------------------------------------------------
/tests/unit/pods/dictionary/show/edit/domain/edit/item/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | dictionary/show/edit/domain/edit/item', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | let route = this.owner.lookup('route:dictionary/show/edit/domain/edit/item');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/tests/unit/pods/record/show/edit/associated/resource/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | record/show/edit/associated/resource', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | let route = this.owner.lookup('route:record/show/edit/associated/resource');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/tests/unit/pods/record/show/edit/main/citation/index/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | record/show/edit/main/citation/index', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | let route = this.owner.lookup('route:record/show/edit/main/citation/index');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/tests/unit/pods/record/show/edit/metadata/identifier/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | record/show/edit/metadata/identifier', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | let route = this.owner.lookup('route:record/show/edit/metadata/identifier');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/tests/unit/pods/record/show/edit/spatial/raster/index/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | record/show/edit/spatial/raster/index', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | let route = this.owner.lookup('route:record/show/edit/spatial/raster/index');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/tests/unit/pods/record/show/edit/taxonomy/collection/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | record/show/edit/taxonomy/collection', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | let route = this.owner.lookup('route:record/show/edit/taxonomy/collection');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/app/initializers/leaflet.js:
--------------------------------------------------------------------------------
1 | import ENV from 'mdeditor/config/environment';
2 | /* global L */
3 |
4 | export function initialize() {
5 | if(ENV.environment === 'production') {
6 | L.Icon.Default.imagePath = ENV.rootURL + '/assets/images/';
7 | }
8 | if(ENV.environment === 'development') {
9 | L.Icon.Default.imagePath = '/assets/images/';
10 | }
11 | }
12 |
13 | export default {
14 | name: 'leaflet',
15 | initialize
16 | };
17 |
--------------------------------------------------------------------------------
/app/mixins/scroll-to.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @module mdeditor
3 | * @submodule mixins
4 | */
5 |
6 | import Mixin from '@ember/object/mixin';
7 |
8 | export default Mixin.create({
9 | queryParams: {
10 | scrollTo: true
11 | },
12 | setScrollTo(scrollTo) {
13 | this.controller.set('scrollTo', scrollTo || '');
14 | },
15 | actions: {
16 | setScrollTo(scrollTo) {
17 | this.setScrollTo(scrollTo);
18 | }
19 | }
20 | });
21 |
--------------------------------------------------------------------------------
/app/pods/components/input/md-month/component.js:
--------------------------------------------------------------------------------
1 | import DateTimePicker from '../md-datetime/component';
2 | import { computed } from '@ember/object';
3 |
4 | export default DateTimePicker.extend({
5 | layoutName: 'components/input/md-datetime',
6 | format: 'MMMM',
7 | extraFormats: computed(function () {
8 | return ['MM', 'M', 'MMM'];
9 | }),
10 | showClear: false,
11 | useCurrent: false,
12 | showTodayButton:false
13 | });
14 |
--------------------------------------------------------------------------------
/app/pods/components/layout/md-slider/template.hbs:
--------------------------------------------------------------------------------
1 |
2 | Close
3 | {{fa-icon "caret-right"}}
4 |
5 |
6 | {{#from-elsewhere name=name as |slider|}}
7 | {{slider.title}}
8 |
9 | {{component slider.body}}
10 | {{/from-elsewhere}}
11 |
12 | {{yield}}
13 |
--------------------------------------------------------------------------------
/tests/unit/pods/dictionary/show/edit/domain/edit/index/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | dictionary/show/edit/domain/edit/index', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | let route = this.owner.lookup('route:dictionary/show/edit/domain/edit/index');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/tests/unit/pods/dictionary/show/edit/entity/edit/index/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | dictionary/show/edit/entity/edit/index', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | let route = this.owner.lookup('route:dictionary/show/edit/entity/edit/index');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/tests/unit/pods/record/show/edit/lineage/lineageobject/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | record/show/edit/lineage/lineageobject', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | let route = this.owner.lookup('route:record/show/edit/lineage/lineageobject');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/tests/unit/pods/record/show/edit/metadata/parent/index/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | record/show/edit/metadata/parent/index', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | let route = this.owner.lookup('route:record/show/edit/metadata/parent/index');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/app/helpers/get-property.js:
--------------------------------------------------------------------------------
1 | import {
2 | helper
3 | } from '@ember/component/helper';
4 | import {
5 | htmlSafe
6 | } from '@ember/string';
7 | import {
8 | get
9 | } from '@ember/object';
10 |
11 | export function getProperty([obj, prop]) {
12 | let val = null;
13 |
14 | if(obj) {
15 | val = get(obj, prop.trim());
16 | }
17 | return val || htmlSafe("Not Defined ");
18 | }
19 |
20 | export default helper(getProperty);
21 |
--------------------------------------------------------------------------------
/tests/unit/pods/dictionary/show/edit/citation/identifier/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | dictionary/show/edit/citation/identifier', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | let route = this.owner.lookup('route:dictionary/show/edit/citation/identifier');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/app/pods/components/control/md-edit-table/template.hbs:
--------------------------------------------------------------------------------
1 | {{control/md-record-table
2 | class="md-edit-table"
3 | actionsColumn=actionsColumn
4 | selectRowOnClick=selectRowOnClick
5 | data=data
6 | dataColumns=dataColumns
7 | expandedItems=expandedItems
8 | columnSets=columnSets
9 | pageSize=pageSize
10 | expandedRowComponent=(component "md-models-table/components/row-body" spotlighted=spotlightRow rowBodyComponent=rowBodyComponent)
11 | }}
12 |
--------------------------------------------------------------------------------
/app/pods/components/md-models-table/components/row-body/template.hbs:
--------------------------------------------------------------------------------
1 | {{!-- {{#liquid-if record class="md-row-body-liquid"}} --}}
2 | {{component rowBodyComponent
3 | record=record
4 | visibleProcessedColumns=visibleProcessedColumns
5 | index=index
6 | clickOnRow=clickOnRow
7 | sendAction=sendAction
8 | themeInstance=themeInstance
9 | expandRow=expandRow
10 | collapseRow=collapseRow
11 | }}
12 | {{!-- {{/liquid-if}} --}}
13 |
--------------------------------------------------------------------------------
/app/pods/components/object/md-locale-array/component.js:
--------------------------------------------------------------------------------
1 | import Component from '@ember/component';
2 | import {
3 | Template
4 | } from '../md-locale/component';
5 |
6 | export default Component.extend({
7 | attributeBindings: ['data-spy'],
8 |
9 | /**
10 | * See [md-array-table](md-array-table.html#property_templateClass).
11 | *
12 | * @property templateClass
13 | * @type Ember.Object
14 | */
15 | templateClass: Template
16 | });
17 |
--------------------------------------------------------------------------------
/app/pods/components/object/md-party-array/component.js:
--------------------------------------------------------------------------------
1 | import Component from '@ember/component';
2 | import {
3 | Template
4 | } from '../md-party/component';
5 |
6 | export default Component.extend({
7 | attributeBindings: ['data-spy'],
8 |
9 | /**
10 | * See [md-array-table](md-array-table.html#property_templateClass).
11 | *
12 | * @property templateClass
13 | * @type Ember.Object
14 | */
15 | templateClass: Template
16 | });
17 |
--------------------------------------------------------------------------------
/tests/unit/pods/dictionary/show/edit/domain/edit/citation/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | dictionary/show/edit/domain/edit/citation', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | let route = this.owner.lookup('route:dictionary/show/edit/domain/edit/citation');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/tests/unit/pods/dictionary/show/edit/entity/edit/attribute/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | dictionary/show/edit/entity/edit/attribute', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | let route = this.owner.lookup('route:dictionary/show/edit/entity/edit/attribute');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/tests/unit/pods/dictionary/show/edit/entity/edit/citation/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | dictionary/show/edit/entity/edit/citation', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | let route = this.owner.lookup('route:dictionary/show/edit/entity/edit/citation');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/tests/unit/pods/record/show/edit/associated/resource/index/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | record/show/edit/associated/resource/index', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | let route = this.owner.lookup('route:record/show/edit/associated/resource/index');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/tests/unit/pods/record/show/edit/distribution/distributor/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | record/show/edit/distribution/distributor', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | let route = this.owner.lookup('route:record/show/edit/distribution/distributor');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/tests/unit/pods/record/show/edit/documents/citation/index/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | record/show/edit/documents/citation/index', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | let route = this.owner.lookup('route:record/show/edit/documents/citation/index');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/tests/unit/pods/record/show/edit/main/citation/identifier/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | record/show/edit/main/citation/identifier', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | let route = this.owner.lookup('route:record/show/edit/main/citation/identifier');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/tests/unit/pods/record/show/edit/metadata/alternate/index/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | record/show/edit/metadata/alternate/index', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | let route = this.owner.lookup('route:record/show/edit/metadata/alternate/index');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/tests/unit/pods/record/show/edit/spatial/raster/attribute/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | record/show/edit/spatial/raster/attribute', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | let route = this.owner.lookup('route:record/show/edit/spatial/raster/attribute');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/tests/unit/pods/record/show/edit/taxonomy/collection/index/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | record/show/edit/taxonomy/collection/index', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | let route = this.owner.lookup('route:record/show/edit/taxonomy/collection/index');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/tests/unit/pods/record/show/edit/taxonomy/collection/itis/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | record/show/edit/taxonomy/collection/itis', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | let route = this.owner.lookup('route:record/show/edit/taxonomy/collection/itis');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/app/pods/components/object/md-schema/form/component.js:
--------------------------------------------------------------------------------
1 | import Component from '@ember/component';
2 |
3 | const typeOptions = [{
4 | name: 'Metadata',
5 | value: 'record',
6 | //tip: 'tooltip'
7 | }, {
8 | name: 'Contact',
9 | value: 'contact',
10 | //tip: 'tooltip'
11 | }, {
12 | name: 'Dictionary',
13 | value: 'dictionary',
14 | //tip: 'tooltip'
15 | }];
16 |
17 | export default Component.extend({
18 | typeOptions: typeOptions
19 | });
20 |
--------------------------------------------------------------------------------
/app/pods/dictionary/show/edit/citation/index/route.js:
--------------------------------------------------------------------------------
1 | import Route from '@ember/routing/route';
2 | import ScrollTo from 'mdeditor/mixins/scroll-to';
3 |
4 | export default Route.extend(ScrollTo, {
5 | actions: {
6 | editIdentifier(index) {
7 | this.transitionTo('dictionary.show.edit.citation.identifier', index)
8 | .then(function () {
9 | this.setScrollTo('identifier');
10 | }.bind(this));
11 | }
12 | }
13 | });
14 |
--------------------------------------------------------------------------------
/tests/unit/mixins/cancel-test.js:
--------------------------------------------------------------------------------
1 | import EmberObject from '@ember/object';
2 | import CancelMixin from 'mdeditor/mixins/cancel';
3 | import { module, test } from 'qunit';
4 |
5 | module('Unit | Mixin | cancel', function() {
6 | // Replace this with your real tests.
7 | test('it works', function (assert) {
8 | let CancelObject = EmberObject.extend(CancelMixin);
9 | let subject = CancelObject.create();
10 | assert.ok(subject);
11 | });
12 | });
13 |
--------------------------------------------------------------------------------
/tests/unit/pods/record/show/edit/lineage/lineageobject/step/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | record/show/edit/lineage/lineageobject/step', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | let route = this.owner.lookup('route:record/show/edit/lineage/lineageobject/step');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/tests/unit/pods/record/show/edit/metadata/parent/identifier/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | record/show/edit/metadata/parent/identifier', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | let route = this.owner.lookup('route:record/show/edit/metadata/parent/identifier');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/tests/unit/pods/record/show/edit/taxonomy/collection/system/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | record/show/edit/taxonomy/collection/system', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | let route = this.owner.lookup('route:record/show/edit/taxonomy/collection/system');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/tests/unit/pods/settings/validation/controller-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Controller | settings/validation', function(hooks) {
5 | setupTest(hooks);
6 |
7 | // Replace this with your real tests.
8 | test('it exists', function(assert) {
9 | let controller = this.owner.lookup('controller:settings/validation');
10 | assert.ok(controller);
11 | });
12 | });
13 |
--------------------------------------------------------------------------------
/app/helpers/uc-words.js:
--------------------------------------------------------------------------------
1 | import { helper as buildHelper } from '@ember/component/helper';
2 |
3 | export function ucWords(params, hash) {
4 | var string = String(params[0]),
5 | force = (hash.force === true) ? true : false;
6 | if(force) {
7 | string = string.toLowerCase();
8 | }
9 | return string.replace(/(^|\s)[a-z\u00E0-\u00FC]/g, function($1) {
10 | return $1.toUpperCase();
11 | });
12 | }
13 |
14 | export default buildHelper(ucWords);
15 |
--------------------------------------------------------------------------------
/app/pods/components/object/md-dataquality/preview/template.hbs:
--------------------------------------------------------------------------------
1 |
2 |
3 | Data Quality #{{index}}
4 |
5 |
6 | {{control/md-definition
7 | title='Scope Code'
8 | text=(word-limit item.scope.scopeCode wordLength=20)
9 | }}
10 |
11 |
12 |
13 | {{control/md-definition title='Title' text=item.systemIdentifier.label}}
14 |
--------------------------------------------------------------------------------
/app/pods/components/object/md-profile/template.hbs:
--------------------------------------------------------------------------------
1 | {{!-- {{#layout/md-card
2 | collapsible=false
3 | collapsed=false
4 | shadow=true
5 | block=false
6 | }}
7 | {{yield}} --}}
8 | {{#if (v-get record "config" "isInvalid")}}
9 | {{fa-icon "exclamation"}}
10 | {{v-get record "config" "message"}}
11 |
12 | {{/if}}
13 |
14 | {{object/md-profile/form record=record}}
15 | {{!-- {{/layout/md-card}} --}}
16 |
--------------------------------------------------------------------------------
/app/pods/record/show/edit/keywords/route.js:
--------------------------------------------------------------------------------
1 | import Route from '@ember/routing/route';
2 |
3 | export default Route.extend({
4 | actions: {
5 | addKeyword(model, obj) {
6 | let k = obj ? obj : {};
7 |
8 | model.pushObject(k);
9 | },
10 | deleteKeyword(model, obj) {
11 | if(typeof obj === 'number') {
12 | model.removeAt(obj);
13 | } else {
14 | model.removeObject(obj);
15 | }
16 | },
17 | }
18 | });
19 |
--------------------------------------------------------------------------------
/tests/unit/pods/record/show/edit/lineage/lineageobject/index/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | record/show/edit/lineage/lineageobject/index', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | let route = this.owner.lookup('route:record/show/edit/lineage/lineageobject/index');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/tests/unit/pods/record/show/edit/lineage/lineageobject/source/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | record/show/edit/lineage/lineageobject/source', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | let route = this.owner.lookup('route:record/show/edit/lineage/lineageobject/source');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/tests/unit/pods/settings/profile/index/controller-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Controller | settings/profile/index', function(hooks) {
5 | setupTest(hooks);
6 |
7 | // Replace this with your real tests.
8 | test('it exists', function(assert) {
9 | let controller = this.owner.lookup('controller:settings/profile/index');
10 | assert.ok(controller);
11 | });
12 | });
13 |
--------------------------------------------------------------------------------
/tests/unit/models/setting-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | import { run } from '@ember/runloop';
5 |
6 | module('Unit | Model | setting', function(hooks) {
7 | setupTest(hooks);
8 |
9 | test('it exists', function(assert) {
10 | let model = run(() => this.owner.lookup('service:store').createRecord('setting'));
11 | // let store = this.store();
12 | assert.ok(!!model);
13 | });
14 | });
15 |
--------------------------------------------------------------------------------
/tests/unit/pods/dictionary/show/edit/domain/edit/citation/index/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | dictionary/show/edit/domain/edit/citation/index', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | let route = this.owner.lookup('route:dictionary/show/edit/domain/edit/citation/index');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/tests/unit/pods/dictionary/show/edit/entity/edit/citation/index/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | dictionary/show/edit/entity/edit/citation/index', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | let route = this.owner.lookup('route:dictionary/show/edit/entity/edit/citation/index');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/tests/unit/pods/record/show/edit/distribution/distributor/index/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | record/show/edit/distribution/distributor/index', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | let route = this.owner.lookup('route:record/show/edit/distribution/distributor/index');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/tests/unit/pods/record/show/edit/lineage/lineageobject/citation/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | record/show/edit/lineage/lineageobject/citation', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | let route = this.owner.lookup('route:record/show/edit/lineage/lineageobject/citation');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/tests/unit/pods/record/show/edit/metadata/alternate/identifier/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | record/show/edit/metadata/alternate/identifier', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | let route = this.owner.lookup('route:record/show/edit/metadata/alternate/identifier');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/tests/unit/pods/settings/profile/manage/controller-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Controller | settings/profile/manage', function(hooks) {
5 | setupTest(hooks);
6 |
7 | // Replace this with your real tests.
8 | test('it exists', function(assert) {
9 | let controller = this.owner.lookup('controller:settings/profile/manage');
10 | assert.ok(controller);
11 | });
12 | });
13 |
--------------------------------------------------------------------------------
/lib/ember-leaflet-table/addon/templates/components/leaflet-table-row-actions.hbs:
--------------------------------------------------------------------------------
1 | {{fa-icon "search"}}
2 | {{fa-icon "pencil"}}
3 | {{fa-icon "times"}}
4 |
--------------------------------------------------------------------------------
/lib/ember-leaflet-table/app/templates/components/leaflet-table/actions.hbs:
--------------------------------------------------------------------------------
1 | {{fa-icon "search"}}
2 | {{fa-icon "pencil"}}
3 | {{fa-icon "times"}}
4 |
--------------------------------------------------------------------------------
/lib/mdeditor-sciencebase/addon/utils/config.js:
--------------------------------------------------------------------------------
1 | export default {
2 | name: 'ScienceBase',
3 | route: 'sciencebase',
4 | description:
5 | 'ScienceBase is a collaborative scientific data and information management platform',
6 | icon: 'globe',
7 | // rootURI: "https://api.sciencebase.gov/sbmd-service/",
8 | rootItemURL: 'https://www.sciencebase.gov/catalog/item/',
9 | defaultParent: '59ef8a34e4b0220bbd98d449',
10 | settingsComponent: 'sb-settings',
11 | };
12 |
--------------------------------------------------------------------------------
/tests/unit/helpers/get-dash-test.js:
--------------------------------------------------------------------------------
1 |
2 | import { getDash } from 'mdeditor/helpers/get-dash';
3 | import { module, test } from 'qunit';
4 |
5 | module('Unit | Helper | get dash', function() {
6 | test('it works', function(assert) {
7 | let obj={foo:'bar'};
8 | let result = getDash([obj, 'foo']);
9 |
10 | assert.equal(result, 'bar', 'value');
11 |
12 | result = getDash([obj, 'biz']);
13 |
14 | assert.equal(result, '--', 'dash');
15 | });
16 | });
17 |
--------------------------------------------------------------------------------
/tests/unit/pods/dictionary/show/edit/entity/edit/attribute/index/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | dictionary/show/edit/entity/edit/attribute/index', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | let route = this.owner.lookup('route:dictionary/show/edit/entity/edit/attribute/index');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/app/pods/components/control/md-pouch-record-table/pouch-buttons/delete/component.js:
--------------------------------------------------------------------------------
1 | import Component from '@glimmer/component';
2 | import { inject as service } from '@ember/service';
3 | import { action } from '@ember/object';
4 |
5 | export default class MdPouchRecordPouchDeleteButtonComponent extends Component {
6 | @service pouch;
7 |
8 | @action
9 | async delete() {
10 | const { record } = this.args;
11 | await this.pouch.deletePouchRecord(record)
12 | }
13 | }
--------------------------------------------------------------------------------
/tests/unit/mixins/hash-poll-test.js:
--------------------------------------------------------------------------------
1 | import EmberObject from '@ember/object';
2 | import HashPollMixin from 'mdeditor/mixins/hash-poll';
3 | import { module, test } from 'qunit';
4 |
5 | module('Unit | Mixin | hash poll', function() {
6 | // Replace this with your real tests.
7 | test('it works', function(assert) {
8 | let HashPollObject = EmberObject.extend(HashPollMixin);
9 | let subject = HashPollObject.create();
10 | assert.ok(subject);
11 | });
12 | });
13 |
--------------------------------------------------------------------------------
/tests/unit/mixins/scroll-to-test.js:
--------------------------------------------------------------------------------
1 | import EmberObject from '@ember/object';
2 | import ScrollToMixin from 'mdeditor/mixins/scroll-to';
3 | import { module, test } from 'qunit';
4 |
5 | module('Unit | Mixin | scroll to', function() {
6 | // Replace this with your real tests.
7 | test('it works', function(assert) {
8 | let ScrollToObject = EmberObject.extend(ScrollToMixin);
9 | let subject = ScrollToObject.create();
10 | assert.ok(subject);
11 | });
12 | });
13 |
--------------------------------------------------------------------------------
/tests/unit/models/base-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | import { run } from '@ember/runloop';
5 |
6 | module('Unit | Model | base', function(hooks) {
7 | setupTest(hooks);
8 |
9 | test('it exists', function(assert) {
10 | let model = run(() => this.owner.lookup('service:store').modelFor('base'));
11 | // let store = this.store();
12 | assert.equal(model.modelName, 'base');
13 | });
14 | });
15 |
--------------------------------------------------------------------------------
/tests/unit/pods/record/show/edit/distribution/distributor/transfer/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | record/show/edit/distribution/distributor/transfer', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | let route = this.owner.lookup('route:record/show/edit/distribution/distributor/transfer');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/tests/unit/pods/record/show/edit/lineage/lineageobject/step/index/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | record/show/edit/lineage/lineageobject/step/index', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | let route = this.owner.lookup('route:record/show/edit/lineage/lineageobject/step/index');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/tests/unit/pods/record/show/edit/taxonomy/collection/system/index/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | record/show/edit/taxonomy/collection/system/index', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | let route = this.owner.lookup('route:record/show/edit/taxonomy/collection/system/index');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/app/pods/components/layout/nav/dictionary/nav-main/template.hbs:
--------------------------------------------------------------------------------
1 | {{!-- TODO --}}
2 | {{!--
3 | {{#link-to "dictionary.show.translate" model}}
4 |
5 | Translate
6 | {{ember-tooltip text="Translate" side="bottom" tooltipClass="ember-tooltip md-nav-tip"}}
7 | {{/link-to}}
8 | --}}
9 |
10 |
11 |
12 | {{from-elsewhere name="dictionary-nav"}}
13 |
14 |
--------------------------------------------------------------------------------
/app/pods/components/object/md-quality-report/coverage-result/template.hbs:
--------------------------------------------------------------------------------
1 | {{input/md-input
2 | value=model.dateTime
3 | label="Date Time"
4 | placeholder="Enter date time"
5 | }}
6 |
7 | {{input/md-input
8 | value=model.spatialRepresentationType
9 | label="Spatial Representation Type"
10 | placeholder="Enter spatial representation type"
11 | }}
12 |
13 | {{input/md-input
14 | value=model.resultFile
15 | label="Result File"
16 | placeholder="Enter result file"
17 | }}
--------------------------------------------------------------------------------
/app/pods/record/show/edit/metadata/alternate/index/route.js:
--------------------------------------------------------------------------------
1 | import Route from '@ember/routing/route';
2 | import ScrollTo from 'mdeditor/mixins/scroll-to';
3 |
4 | export default Route.extend(ScrollTo, {
5 | actions: {
6 | editIdentifier(index) {
7 | this.transitionTo('record.show.edit.metadata.alternate.identifier',
8 | index)
9 | .then(function () {
10 | this.setScrollTo('identifier');
11 | }.bind(this));
12 | }
13 | }
14 | });
15 |
--------------------------------------------------------------------------------
/tests/unit/pods/dictionary/show/edit/domain/edit/citation/identifier/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | dictionary/show/edit/domain/edit/citation/identifier', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | let route = this.owner.lookup('route:dictionary/show/edit/domain/edit/citation/identifier');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/tests/unit/pods/dictionary/show/edit/entity/edit/citation/identifier/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | dictionary/show/edit/entity/edit/citation/identifier', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | let route = this.owner.lookup('route:dictionary/show/edit/entity/edit/citation/identifier');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/tests/unit/pods/record/show/edit/lineage/lineageobject/source/index/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | record/show/edit/lineage/lineageobject/source/index', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | let route = this.owner.lookup('route:record/show/edit/lineage/lineageobject/source/index');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/tests/unit/pods/record/show/edit/lineage/lineageobject/step/citation/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | record/show/edit/lineage/lineageobject/step/citation', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | let route = this.owner.lookup('route:record/show/edit/lineage/lineageobject/step/citation');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/tests/unit/pods/record/show/edit/lineage/lineageobject/citation/index/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | record/show/edit/lineage/lineageobject/citation/index', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | let route = this.owner.lookup('route:record/show/edit/lineage/lineageobject/citation/index');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/.prettierignore:
--------------------------------------------------------------------------------
1 | # unconventional js
2 | /blueprints/*/files/
3 | /vendor/
4 |
5 | # compiled output
6 | /dist/
7 | /tmp/
8 |
9 | # dependencies
10 | /bower_components/
11 | /node_modules/
12 |
13 | # misc
14 | /coverage/
15 | !.*
16 | .eslintcache
17 | .lint-todo/
18 |
19 | # ember-try
20 | /.node_modules.ember-try/
21 | /bower.json.ember-try
22 | /npm-shrinkwrap.json.ember-try
23 | /package.json.ember-try
24 | /package-lock.json.ember-try
25 | /yarn.lock.ember-try
26 |
27 |
28 | .yarn/*
29 |
--------------------------------------------------------------------------------
/app/pods/components/object/md-attribute/preview/component.js:
--------------------------------------------------------------------------------
1 | import Component from '@ember/component';
2 | import { alias } from '@ember/object/computed';
3 | import {
4 | Validations
5 | } from '../component';
6 |
7 | export default Component.extend(Validations, {
8 | tagName: '',
9 | model: alias('item'),
10 | codeName: alias('model.codeName'),
11 | dataType: alias('model.dataType'),
12 | definition: alias('model.definition'),
13 | allowNull: alias('model.allowNull')
14 | });
15 |
--------------------------------------------------------------------------------
/app/pods/components/object/md-transfer/preview/template.hbs:
--------------------------------------------------------------------------------
1 | {{#with item as |t|}}
2 | {{#if isTable}}
3 | {{t.transferSize}}
4 | {{if t.onlineOption.length (concat "yes(" t.onlineOption.length ")") "no"}}
5 | {{if t.offlineOption.length (concat "yes(" t.offlineOption.length ")") "no"}}
6 | {{if t.distributionFormat.length (concat "yes(" t.distributionFormat.length ")") "no"}}
7 | {{else}}
8 | {{yield t}}
9 | {{/if}}
10 | {{/with}}
11 |
--------------------------------------------------------------------------------
/app/pods/record/show/index/route.js:
--------------------------------------------------------------------------------
1 | import Route from '@ember/routing/route';
2 | import ScrollTo from 'mdeditor/mixins/scroll-to';
3 |
4 | /* global L */
5 |
6 | export default Route.extend(ScrollTo, {
7 | actions: {
8 | linkTo(route){
9 | this.transitionTo(route);
10 | },
11 | setupMap(features, m) {
12 | let map = m.target;
13 | let bounds = L.geoJson(features)
14 | .getBounds();
15 |
16 | map.fitBounds(bounds);
17 | }
18 | }
19 | });
20 |
--------------------------------------------------------------------------------
/lib/mdeditor-sciencebase/index.js:
--------------------------------------------------------------------------------
1 | /* eslint-env node */
2 | 'use strict';
3 |
4 | module.exports = {
5 | name: 'mdeditor-sciencebase',
6 |
7 | isDevelopingAddon() {
8 | return true;
9 | },
10 |
11 | included(app, parentAddon) {
12 | let target = (parentAddon || app);
13 | target.options = target.options || {};
14 | target.options.babel = target.options.babel || { includePolyfill: true };
15 | return this._super.included.apply(this, arguments);
16 | }
17 | };
18 |
--------------------------------------------------------------------------------
/tests/unit/helpers/bbox-to-poly-test.js:
--------------------------------------------------------------------------------
1 | import { bboxToPoly } from 'mdeditor/helpers/bbox-to-poly';
2 | import { module, test } from 'qunit';
3 |
4 | module('Unit | Helper | bbox to poly', function() {
5 | test('it works', function(assert) {
6 | let result = bboxToPoly([{
7 | southLatitude: 1,
8 | northLatitude: 2,
9 | westLongitude: 3,
10 | eastLongitude: 4
11 | }]);
12 | assert.equal("[[1,3],[2,3],[2,4],[1,4]]", JSON.stringify(result));
13 | });
14 | });
15 |
--------------------------------------------------------------------------------
/app/pods/components/control/subbar-spatial/component.js:
--------------------------------------------------------------------------------
1 | import Component from '@ember/component';
2 |
3 | export default Component.extend({
4 | actions: {
5 | zoomAll() {
6 | this.zoomAll();
7 | },
8 | deleteAllFeatures() {
9 | this.deleteAllFeatures();
10 | },
11 | exportGeoJSON() {
12 | this.exportGeoJSON();
13 | },
14 | uploadData() {
15 | this.uploadData();
16 | },
17 | toList() {
18 | this.toList();
19 | },
20 | }
21 | });
22 |
--------------------------------------------------------------------------------
/app/pods/components/object/md-date-array/template.hbs:
--------------------------------------------------------------------------------
1 | {{#object/md-array-table
2 | columns="Precision,Date,Date Type,Description"
3 | required=required
4 | title="Date"
5 | value=value
6 | plain=plain
7 | validation=validation
8 | profilePath=profilePath
9 | data-spy=data-spy
10 | templateClass=templateClass
11 | as |date|
12 | }}
13 | {{object/md-date
14 | model=date.item
15 | profilePath=(concat profilePath ".dateItem")
16 | }}
17 | {{yield}}
18 | {{/object/md-array-table}}
--------------------------------------------------------------------------------
/tests/unit/pods/record/show/edit/lineage/lineageobject/citation/identifier/route-test.js:
--------------------------------------------------------------------------------
1 | import { module, test } from 'qunit';
2 | import { setupTest } from 'ember-qunit';
3 |
4 | module('Unit | Route | record/show/edit/lineage/lineageobject/citation/identifier', function(hooks) {
5 | setupTest(hooks);
6 |
7 | test('it exists', function(assert) {
8 | let route = this.owner.lookup('route:record/show/edit/lineage/lineageobject/citation/identifier');
9 | assert.ok(route);
10 | });
11 | });
12 |
--------------------------------------------------------------------------------
/app/pods/components/control/md-indicator/template.hbs:
--------------------------------------------------------------------------------
1 | {{fa-icon icon fixedWidth=true}}
2 |
3 | {{#ember-popover
4 | popoverHideDelay=popoverHideDelay
5 | popperContainer=popperContainer
6 | tooltipClass=(concat "md-tooltip " type)
7 | event=event
8 | }}
9 | {{#if title}}
10 |
11 | {{#if icon}}
12 | {{fa-icon icon}}
13 | {{/if}}
14 | {{title}}
15 |
16 | {{/if}}
17 | {{interpolated}}
18 | {{yield}}
19 | {{/ember-popover}}
20 |
--------------------------------------------------------------------------------
/app/pods/components/control/md-spinner/component.js:
--------------------------------------------------------------------------------
1 | import Component from '@ember/component';
2 |
3 | export default Component.extend({
4 | classNames:['text-center', 'md-spinner']
5 |
6 | /**
7 | * The size of the FontAwesome icon.
8 | *
9 | * @property size
10 | * @type {String}
11 | * @default "false"
12 | * @optional
13 | */
14 |
15 | /**
16 | * The the text to show below the spinner.
17 | *
18 | * @property text
19 | * @type {String}
20 | * @optional
21 | */
22 | });
23 |
--------------------------------------------------------------------------------
/app/styles/_spinner.scss:
--------------------------------------------------------------------------------
1 | .md-spinner {
2 | animation: fadeIn 1s ease;
3 | color: $brand-info;
4 |
5 | .md-spinner-text {
6 | color: $gray;
7 | font-size: 1em;
8 | font-variant: small-caps;
9 | font-weight: 900;
10 |
11 | &.size-5 {
12 | font-size: 1.8em;
13 | }
14 |
15 | &.size-4 {
16 | font-size: 1.6em;
17 | }
18 |
19 | &.size-3 {
20 | font-size: 1.4em;
21 | }
22 |
23 | &.size-2 {
24 | font-size: 1.2em;
25 | }
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/app/instance-initializers/route-publish.js:
--------------------------------------------------------------------------------
1 | import Router from "@ember/routing/router";
2 | export function initialize(appInstance) {
3 | let catalogs = appInstance.lookup('service:publish').get('catalogs');
4 |
5 | // appInstance.inject('route', 'foo', 'service:foo');
6 | Router.map(function() {
7 | this.route('publish', function() {
8 | catalogs.forEach((itm) => {
9 | this.route(itm.route);
10 | });
11 | });
12 | });
13 | }
14 |
15 | export default {
16 | initialize
17 | };
18 |
--------------------------------------------------------------------------------
/app/pods/record/show/edit/taxonomy/collection/itis/template.hbs:
--------------------------------------------------------------------------------
1 |
5 |
6 | {{control/md-itis taxonomy=model}}
7 |
8 | {{to-elsewhere
9 | named="md-subbar-extra"
10 | send=(component "control/md-button"
11 | text="Back to Collection"
12 | icon="arrow-left"
13 | class="btn-primary btn-lg"
14 | click=(route-action "toCollection")
15 | )
16 | }}
17 |
--------------------------------------------------------------------------------
/app/styles/_simple-mde.scss:
--------------------------------------------------------------------------------
1 | $simple-mde-z: 10001;
2 |
3 | // .CodeMirror,
4 | .CodeMirror-scroll {
5 | height: auto;
6 | max-height: 300px;
7 | min-height: 80px;
8 | }
9 |
10 | .editor-toolbar {
11 | &.fullscreen {
12 | z-index: $simple-mde-z !important;
13 | }
14 | }
15 |
16 | .CodeMirror-fullscreen,
17 | .editor-preview-side {
18 | z-index: $simple-mde-z;
19 | }
20 |
21 | // .CodeMirror-fullscreen.CodeMirror,
22 | .CodeMirror-fullscreen .CodeMirror-scroll {
23 | max-height: none;
24 | }
25 |
--------------------------------------------------------------------------------
/lib/mdeditor-sciencebase/addon/templates/publish/sciencebase.hbs:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 | Publishing to ScienceBase requires a token. To obtain a token, go to the
7 |
ScienceBase Manager
8 | , copy your API token, and paste it below.
9 |
10 |
11 | {{sb-publisher}}
12 |
--------------------------------------------------------------------------------
/tests/unit/mixins/object-template-test.js:
--------------------------------------------------------------------------------
1 | import EmberObject from '@ember/object';
2 | import ObjectTemplateMixin from 'mdeditor/mixins/object-template';
3 | import { module, test } from 'qunit';
4 |
5 | module('Unit | Mixin | object template', function() {
6 | // Replace this with your real tests.
7 | test('it works', function(assert) {
8 | let ObjectTemplateObject = EmberObject.extend(ObjectTemplateMixin);
9 | let subject = ObjectTemplateObject.create();
10 | assert.ok(subject);
11 | });
12 | });
13 |
--------------------------------------------------------------------------------
/app/pods/components/object/md-standalone-quality-report/component.js:
--------------------------------------------------------------------------------
1 | import Component from '@ember/component';
2 | import { set } from '@ember/object';
3 |
4 | export default Component.extend({
5 | actions: {
6 | deleteStandaloneQualityReport() {
7 | this.deleteStandaloneQualityReport();
8 | },
9 | addReportReference() {
10 | set(this.model, 'reportReference', {});
11 | },
12 | deleteReportReference() {
13 | set(this.model, 'reportReference', undefined);
14 | }
15 | }
16 | });
17 |
--------------------------------------------------------------------------------
/app/styles/_breadcrumb.scss:
--------------------------------------------------------------------------------
1 | .breadcrumb {
2 | background-color: lighten($brand-primary, 55);
3 | border-radius: 0;
4 | color: $breadcrumb-color;
5 | font-size: 12px;
6 | margin-bottom: 0;
7 |
8 | a {
9 | opacity: .8;
10 | text-decoration: none;
11 |
12 | &:hover {
13 | opacity: 1;
14 | }
15 | }
16 |
17 | li {
18 | @include text-overflow();
19 | font-weight: 600;
20 | max-width: 175px;
21 |
22 | + li::before {
23 | color: $gray-light;
24 | }
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/app/pods/components/control/md-button-modal/template.hbs:
--------------------------------------------------------------------------------
1 | {{yield}}
2 | {{#control/md-modal
3 | isShowing = isShowingModal
4 | closeModal=(action "cancel")
5 | target=target
6 | renderInPlace=renderInPlace
7 | }}
8 | {{html-safe message}}
9 |
10 | Confirm
11 | Cancel
12 |
13 | {{/control/md-modal}}
14 |
--------------------------------------------------------------------------------
/app/pods/components/layout/md-nav-main/component.js:
--------------------------------------------------------------------------------
1 | import $ from 'jquery';
2 | import Component from '@ember/component';
3 |
4 | export default Component.extend({
5 | /*didInsertElement: function () {
6 | this.$('[data-toggle="tooltip"]')
7 | .tooltip();
8 | },*/
9 | actions: {
10 | toggleSidebar() {
11 | $('#md-wrapper')
12 | .toggleClass('toggled');
13 | //hack to force reflow
14 | $('#md-navbar-main-collapse ul')
15 | .hide()
16 | .show(0);
17 | }
18 | }
19 | });
20 |
--------------------------------------------------------------------------------
/app/pods/components/object/md-taxonomy/classification/template.hbs:
--------------------------------------------------------------------------------
1 | {{#each (sort-by "order" model) as |class index|}}
2 | {{object/md-taxonomy/classification/taxon
3 | model=class
4 | parentItem=parentItem
5 | top=(unless parentItem model)
6 | index=index
7 | dragging=dragging
8 | preview=preview
9 | profilePath=(concat profilePath ".taxon")
10 | }}
11 | {{else}}
12 |
13 |
No Classification found.
14 |
15 | {{/each}}
16 |
--------------------------------------------------------------------------------
/app/utils/md-interpolate.js:
--------------------------------------------------------------------------------
1 | let interpolate = function (str, obj) {
2 | let parts = str.split(/\$\{(?!\d)[^0-9][a-zA-Z0-9.]+\}/);
3 | let args = parseArgs(str);
4 | let parameters = args.map(argument => obj[argument] || (obj[argument] ===
5 | undefined ? "" : obj[argument]));
6 |
7 | return String.raw({ raw: parts }, ...parameters);
8 | };
9 |
10 | let parseArgs = function (str) {
11 | let args = str.match(/[^{}]+(?=})/g) || [];
12 | return args;
13 | };
14 |
15 | export { interpolate, parseArgs };
16 |
--------------------------------------------------------------------------------
/app/pods/components/object/md-documentation/template.hbs:
--------------------------------------------------------------------------------
1 |
2 | {{object/md-resource-type-array
3 | plain=false
4 | value=model.resourceType
5 | required=true
6 | data-spy="Resource Types"
7 | profilePath=(concat profilePath ".resourceType")
8 | }}
9 |
10 | {{#with model.citation.firstObject as |citation|}}
11 | {{object/md-citation
12 | model=citation
13 | profilePath=(concat profilePath ".citation")
14 | simpleIdentifier=true
15 | }}
16 | {{/with}}
17 | {{yield}}
18 |
--------------------------------------------------------------------------------
/app/pods/record/show/translate/route.js:
--------------------------------------------------------------------------------
1 | import Route from '@ember/routing/route';
2 |
3 | export default Route.extend({
4 | setupController(controller, model) {
5 | this._super(controller, model);
6 |
7 | controller.setProperties({
8 | writer: controller.writer || null,
9 | forceValid: controller.forceValid || false,
10 | showAllTags: controller.showAllTags || false,
11 | });
12 | },
13 |
14 | actions: {
15 | goToSettings() {
16 | this.transitionTo('settings.main');
17 | },
18 | },
19 | });
20 |
--------------------------------------------------------------------------------
/app/adapters/application.js:
--------------------------------------------------------------------------------
1 | import Adapter from 'ember-local-storage/adapters/adapter';
2 | import { v4 } from 'uuid';
3 |
4 | export default Adapter.extend({
5 | generateIdForRecord(store, type, inputProperties) {
6 | if (inputProperties.id) {
7 | return inputProperties.id;
8 | }
9 | if (!inputProperties.uuid) {
10 | let uuid = v4();
11 | let shortId = uuid.split('-')[0];
12 | inputProperties.uuid = uuid;
13 | return shortId;
14 | }
15 | return inputProperties.uuid.split('-')[0];
16 | },
17 | });
18 |
--------------------------------------------------------------------------------
/app/pods/components/layout/md-wrap/component.js:
--------------------------------------------------------------------------------
1 | import Component from '@ember/component';
2 |
3 | export default Component.extend({
4 | /**
5 | * Component used as a wrapper, data-spy enabled.
6 | *
7 | * ```handlebars
8 | * \{{#layout/md-wrap
9 | * data-spy="Wrap"
10 | * shadow=true
11 | * }}
12 | * Content
13 | * {{/layout/md-wrap}}
14 | * ```
15 | * @module mdeditor
16 | * @submodule components-layout
17 | * @class md-wrap
18 | * @constructor
19 | */
20 | attributeBindings: ['data-spy']
21 | });
22 |
--------------------------------------------------------------------------------
/app/pods/record/show/edit/constraint/index/template.hbs:
--------------------------------------------------------------------------------
1 |
5 | {{#object/md-object-table
6 | items=model.json.metadata.resourceInfo.constraint
7 | collasped=false
8 | header="Constraints"
9 | buttonText="Add Constraint"
10 | previewTemplate=previewTemplate
11 | addSubbar="md-subbar-extra"
12 | attributes="type" as |editing|
13 | }}
14 | {{object/md-constraint model=editing profilePath="record.constraints"}}
15 | {{/object/md-object-table}}
16 |
--------------------------------------------------------------------------------
/app/pods/record/show/edit/extent/index/route.js:
--------------------------------------------------------------------------------
1 | import Route from '@ember/routing/route';
2 | import ScrollTo from 'mdeditor/mixins/scroll-to';
3 | import { defineProperty } from '@ember/object';
4 | import { alias } from '@ember/object/computed';
5 |
6 | export default Route.extend(ScrollTo, {
7 | setupController(controller, model) {
8 | this._super(controller, model);
9 |
10 | defineProperty(
11 | this.controller,
12 | 'refreshSpy',
13 | alias('model.json.metadata.resourceInfo.extent.length')
14 | );
15 | },
16 | });
17 |
--------------------------------------------------------------------------------
/config/ember-cli-update.json:
--------------------------------------------------------------------------------
1 | {
2 | "schemaVersion": "1.0.0",
3 | "packages": [
4 | {
5 | "name": "ember-cli",
6 | "version": "3.15.0",
7 | "blueprints": [
8 | {
9 | "name": "app",
10 | "outputRepo": "https://github.com/ember-cli/ember-new-output",
11 | "codemodsSource": "ember-app-codemods-manifest@1",
12 | "isBaseBlueprint": true,
13 | "options": [
14 | "--yarn",
15 | "--no-welcome"
16 | ]
17 | }
18 | ]
19 | }
20 | ]
21 | }
22 |
--------------------------------------------------------------------------------
/config/targets.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | const browsers = [
4 | 'last 1 Chrome versions',
5 | 'last 1 Firefox versions',
6 | 'last 1 Safari versions'
7 | ];
8 |
9 | const isCI = !!process.env.CI;
10 | const isProduction = process.env.EMBER_ENV === 'production';
11 |
12 | if (isCI || isProduction) {
13 | browsers.push('ie 11');
14 | }
15 |
16 | module.exports = {
17 | browsers: [
18 | //'ie 9',
19 | 'last 1 edge versions',
20 | 'last 1 Chrome versions',
21 | 'last 1 Firefox versions',
22 | 'last 1 Safari versions'
23 | ]
24 | };
25 |
--------------------------------------------------------------------------------
/tests/unit/utils/sb-tree-node-test.js:
--------------------------------------------------------------------------------
1 | import sbTreeNode from 'mdeditor/utils/sb-tree-node';
2 | import { module, test } from 'qunit';
3 |
4 | module('Unit | Utility | sb tree node', function() {
5 | test('it works', function(assert) {
6 | assert.expect(2);
7 |
8 | let result = sbTreeNode.create({
9 | _record: {
10 | recordId: 'theid'
11 | },
12 | //config: this.get('config')
13 | });
14 |
15 | assert.equal(result.uuid, 'theid');
16 | assert.equal(result.uuid, result.identifier, 'set ids');
17 | });
18 | });
19 |
--------------------------------------------------------------------------------
/app/pods/components/object/md-online-resource-array/template.hbs:
--------------------------------------------------------------------------------
1 | {{#object/md-object-table
2 | items=model
3 | header=label
4 | shadow=shadow
5 | buttonText="Add Resource"
6 | ellipsis=ellipsis
7 | previewTemplate=previewTemplate
8 | profilePath=profilePath
9 | templateClass=templateClass
10 | attributes=attributes as |editing|
11 | }}
12 | {{!-- Editing: {{editing.name}} --}}
13 |
14 | {{object/md-online-resource imagePicker=imagePicker model=editing
15 | profilePath=profilePath
16 | }}
17 |
18 | {{/object/md-object-table}}
19 | {{yield}}
20 |
--------------------------------------------------------------------------------
/app/pods/components/object/md-quality-report/coverage-result/component.js:
--------------------------------------------------------------------------------
1 | import Component from '@ember/component';
2 | import { once } from '@ember/runloop';
3 | import { alias } from '@ember/object/computed';
4 | import { set, getWithDefault } from '@ember/object';
5 |
6 | export default Component.extend({
7 | didReceiveAttrs() {
8 | this._super(...arguments);
9 |
10 | let model = this.model;
11 |
12 | if (model) {
13 | once(this, function () {
14 | set(model, 'scope', getWithDefault(model, 'scope', {}));
15 | });
16 | }
17 | },
18 | });
19 |
--------------------------------------------------------------------------------
/app/pods/components/control/md-json-button/template.hbs:
--------------------------------------------------------------------------------
1 | {{#if hasBlock}}
2 | {{yield}}
3 | {{else}}
4 | {{text}}
5 | {{/if}}
6 |
7 | {{#if preview}}
8 | {{control/md-json-viewer json=json modal=true close=(action "close")}}
9 | {{/if}}
10 |
11 | {{#unless hideSlider}}
12 | {{to-elsewhere
13 | named="md-slider-json"
14 | send=(hash
15 | title=(concat "Viewing JSON for: " title)
16 | body=(component "control/md-json-viewer"
17 | modal=false
18 | json=json
19 | )
20 | )
21 | }}
22 | {{/unless}}
23 |
--------------------------------------------------------------------------------
/app/pods/record/show/edit/lineage/index/template.hbs:
--------------------------------------------------------------------------------
1 |
5 |
6 | {{object/md-objectroute-table
7 | items=model.json.metadata.resourceLineage
8 | header="Lineage"
9 | shadow=true
10 | buttonText="Add Lineage Object"
11 | ellipsis=false
12 | previewTemplate="object/md-lineage/preview"
13 | profilePath="record.lineage"
14 | editItem=(route-action "editLineage")
15 | hideIndex=true
16 | condensed=true
17 | verticalButtons=true
18 | addSubbar="md-subbar-extra"
19 | }}
20 |
--------------------------------------------------------------------------------
/app/pods/components/control/md-pouch-record-table/buttons/import/component.js:
--------------------------------------------------------------------------------
1 | import Component from '@glimmer/component';
2 | import { inject as service } from '@ember/service';
3 | import { action } from '@ember/object';
4 | import { tracked } from '@glimmer/tracking';
5 |
6 | export default class MdPouchRecordImportButtonComponent extends Component {
7 | @service pouch;
8 |
9 | @tracked imported = false;
10 |
11 | @action
12 | async import() {
13 | const { record } = this.args;
14 | await this.pouch.createRelatedRecord(record);
15 | this.imported = true;
16 | }
17 | }
--------------------------------------------------------------------------------
/app/pods/record/nav/template.hbs:
--------------------------------------------------------------------------------
1 |
2 | {{#link-to "record.show.translate"}}
3 |
4 | Translate
5 | {{ember-tooltip text="Translate" side="bottom" tooltipClass="ember-tooltip md-nav-tip"}}
6 | {{/link-to}}
7 |
8 | {{!--
9 | {{#link-to "publish"}}
10 |
11 | Publish
12 | {{ember-tooltip text="Publish" side="bottom" tooltipClass="ember-tooltip md-nav-tip"}}
13 | {{/link-to}}
14 | --}}
15 | {{outlet}}
16 |
--------------------------------------------------------------------------------
/app/pods/record/show/edit/documents/index/template.hbs:
--------------------------------------------------------------------------------
1 |
5 |
6 | {{object/md-objectroute-table
7 | items=model.json.metadata.additionalDocumentation
8 | header="Additional Documents"
9 | shadow=true
10 | verticalButtons=true
11 | buttonText="Add Document"
12 | ellipsis=true
13 | previewTemplate="object/md-documentation/preview"
14 | editItem=(route-action "editDocument")
15 | hideIndex=true
16 | condensed=true
17 | addSubbar="md-subbar-extra"
18 | }}
19 |
--------------------------------------------------------------------------------
/app/pods/components/control/subbar-link/template.hbs:
--------------------------------------------------------------------------------
1 |
2 | {{#if click}}
3 | {{fa-icon clickButtonIcon}} {{clickTxt}}
4 | {{/if}}
5 |
6 | {{#if route}}
7 | {{#link-to route class=(concat "btn btn-lg btn-" btnType " btn-block md-btn-responsive") }} {{fa-icon icon}} {{text}}{{/link-to}}
8 | {{/if}}
9 |
10 | {{yield}}
11 |
12 |
--------------------------------------------------------------------------------
/app/pods/components/layout/md-footer/template.hbs:
--------------------------------------------------------------------------------
1 |
14 |
--------------------------------------------------------------------------------
/app/pods/components/control/md-pouch-record-table/buttons/component.js:
--------------------------------------------------------------------------------
1 | import Component from '@glimmer/component';
2 | import { inject as service } from '@ember/service';
3 | import { tracked } from '@glimmer/tracking';
4 |
5 | export default class MdPouchRecordTableButtonsComponent extends Component {
6 | @service pouch;
7 |
8 | @tracked relatedRecord = null;
9 |
10 | constructor() {
11 | super(...arguments);
12 | const { record } = this.args;
13 | this.pouch.queryRelatedRecord(record).then((relatedRecord) => {
14 | this.relatedRecord = relatedRecord;
15 | });
16 | }
17 | }
--------------------------------------------------------------------------------
/app/pods/dictionary/show/edit/domain/index/template.hbs:
--------------------------------------------------------------------------------
1 |
6 |
7 | {{object/md-objectroute-table
8 | items=model.json.dataDictionary.domain
9 | header="Domain"
10 | shadow=true
11 | buttonText="Add Domain"
12 | ellipsis=true
13 | attributes="domainId,codeName,description"
14 | editItem=(route-action "editDomain")
15 | verticalButtons=true
16 | profilePath="dictionary.domain"
17 | hideIndex=false
18 | condensed=false
19 | }}
20 |
--------------------------------------------------------------------------------
/app/pods/dictionary/show/index/route.js:
--------------------------------------------------------------------------------
1 | import Route from '@ember/routing/route';
2 | import ScrollTo from 'mdeditor/mixins/scroll-to';
3 |
4 | export default Route.extend(ScrollTo, {
5 | actions: {
6 | linkTo(){
7 | this.transitionTo(...arguments);
8 | },
9 | editDomain(id) {
10 | this.transitionTo('dictionary.show.edit.domain.edit', id);
11 | },
12 | editCitation(scrollTo) {
13 | this.transitionTo('dictionary.show.edit.citation')
14 | .then(function () {
15 | this.setScrollTo(scrollTo);
16 | }.bind(this));
17 | }
18 | }
19 | });
20 |
--------------------------------------------------------------------------------
/app/pods/record/show/edit/documents/citation/index/route.js:
--------------------------------------------------------------------------------
1 | import Route from '@ember/routing/route';
2 | import { get } from '@ember/object';
3 | import ScrollTo from 'mdeditor/mixins/scroll-to';
4 |
5 | export default Route.extend(ScrollTo, {
6 | setupController: function() {
7 | // Call _super for default behavior
8 | this._super(...arguments);
9 |
10 | this.controller.set('parentModel', this.modelFor(
11 | 'record.show.edit'));
12 | this.controller.set('citationId', get(this.controllerFor(
13 | 'record.show.edit.documents.citation'), 'citationId'));
14 | }
15 | });
16 |
--------------------------------------------------------------------------------
/app/pods/components/object/md-profile/preview/template.hbs:
--------------------------------------------------------------------------------
1 |
5 |
9 |
13 |
17 | {{yield}}
18 |
--------------------------------------------------------------------------------
/app/pods/record/show/edit/dataquality/index/template.hbs:
--------------------------------------------------------------------------------
1 |
5 |
6 | {{object/md-objectroute-table
7 | items=model.json.metadata.dataQuality
8 | header="Data Quality"
9 | shadow=true
10 | buttonText="Add Quality Object"
11 | ellipsis=false
12 | previewTemplate="object/md-dataquality/preview"
13 | profilePath="record.dataQuality"
14 | editItem=(route-action "editDataQuality")
15 | hideIndex=true
16 | condensed=true
17 | verticalButtons=true
18 | addSubbar="md-subbar-extra"
19 | }}
--------------------------------------------------------------------------------
/tests/helpers/create-identifier.js:
--------------------------------------------------------------------------------
1 | import EmberObject from '@ember/object';
2 |
3 | export default function createIdentifier(total) {
4 |
5 | const identifiers = [];
6 |
7 | for(let i = 0; i < total; i++) {
8 |
9 | const identifier = EmberObject.create({
10 | "identifier": "identifier" + i,
11 | "namespace": "namespace" + i,
12 | "version": "version" + i,
13 | "description": "description" + i,
14 | "authority": {
15 | "title": "title" + i
16 | }
17 | });
18 |
19 | identifiers.push(identifier);
20 | }
21 |
22 | return identifiers;
23 | }
24 |
--------------------------------------------------------------------------------
/app/helpers/bbox-to-poly.js:
--------------------------------------------------------------------------------
1 | import { helper as buildHelper } from '@ember/component/helper';
2 |
3 | export function bboxToPoly(params/*, hash*/) {
4 | let bbox = params[0];
5 |
6 | if(!(bbox.southLatitude && bbox.westLongitude &&
7 | bbox.northLatitude && bbox.eastLongitude)) {
8 | return null;
9 | }
10 |
11 | return [
12 | [bbox.southLatitude, bbox.westLongitude],
13 | [bbox.northLatitude, bbox.westLongitude],
14 | [bbox.northLatitude, bbox.eastLongitude],
15 | [bbox.southLatitude, bbox.eastLongitude]
16 | ];
17 | }
18 |
19 | export default buildHelper(bboxToPoly);
20 |
--------------------------------------------------------------------------------