+++ /dev/null
-/**
- * Entity Selector Popup
- * @extends {Component}
- */
-class EntitySelectorPopup {
-
- setup() {
- this.elem = this.$el;
- this.selectButton = this.$refs.select;
- window.EntitySelectorPopup = this;
-
- this.callback = null;
- this.selection = null;
-
- this.selectButton.addEventListener('click', this.onSelectButtonClick.bind(this));
- window.$events.listen('entity-select-change', this.onSelectionChange.bind(this));
- window.$events.listen('entity-select-confirm', this.onSelectionConfirm.bind(this));
- }
-
- show(callback) {
- this.callback = callback;
- this.elem.components.popup.show();
- }
-
- hide() {
- this.elem.components.popup.hide();
- }
-
- onSelectButtonClick() {
- this.hide();
- if (this.selection !== null && this.callback) this.callback(this.selection);
- }
-
- onSelectionConfirm(entity) {
- this.hide();
- if (this.callback && entity) this.callback(entity);
- }
-
- onSelectionChange(entity) {
- this.selection = entity;
- if (entity === null) {
- this.selectButton.setAttribute('disabled', 'true');
- } else {
- this.selectButton.removeAttribute('disabled');
- }
- }
-}
-
-export default EntitySelectorPopup;
\ No newline at end of file