Source code for lcviz.plugins.flux_column.flux_column

from traitlets import observe

from jdaviz.core.registries import tray_registry
from jdaviz.core.template_mixin import (PluginTemplateMixin,
                                        DatasetSelectMixin)
from jdaviz.core.user_api import PluginUserApi

from lcviz.components import FluxColumnSelectMixin
from lcviz.utils import is_lc

__all__ = ['FluxColumn']


[docs] @tray_registry('flux-column', label="Flux Column", category='app:options') class FluxColumn(PluginTemplateMixin, FluxColumnSelectMixin, DatasetSelectMixin): """ See the :ref:`Flux Column Plugin Documentation <flux-column>` for more details. Only the following attributes and methods are available through the :ref:`public plugin API <plugin-apis>`: * :meth:`~jdaviz.core.template_mixin.PluginTemplateMixin.show` * :meth:`~jdaviz.core.template_mixin.PluginTemplateMixin.open_in_tray` * :meth:`~jdaviz.core.template_mixin.PluginTemplateMixin.close_in_tray` * ``dataset`` (:class:`~jdaviz.core.template_mixin.DatasetSelect`): Dataset to bin. * ``flux_column`` (:class:`~lcviz.components.FluxColumnSelect`) """ template_file = __file__, "flux_column.vue" def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) # description displayed under plugin title in tray self._plugin_description = 'Choose flux column.' # NOTE: may eventually want to add support for choosing the column for TPFs self.dataset.add_filter(is_lc) self._set_relevant() @observe('dataset_items') def _set_relevant(self, *args): if not len(self.dataset_items): self.irrelevant_msg = 'No valid datasets loaded' else: self.irrelevant_msg = '' @property def user_api(self): expose = ['dataset', 'flux_column'] return PluginUserApi(self, expose=expose)