awv3
Version:
⚡ AWV3 embedded CAD
30 lines (26 loc) • 1.11 kB
JavaScript
import Plugin from '../../session/plugin'
import { Spacer, Group, Button, Input, Label, Selection, Checkbox, Dropdown, Console } from '../../session/elements'
import { actions } from '../../session/store/connections'
const resources = ['isometric'].reduce(
(prev, item) => ({ ...prev, [item]: require('!!url-loader!awv3-icons/32x32/' + item + '.png') }),
{},
)
export default class Import extends Plugin {
constructor(session, args) {
super(session, { type: 'Import', icon: 'isometric', resources, ...args })
let input = new Button(this, { name: 'Import', format: Button.Format.Upload })
input.observe(
state => state.lastEvent,
({ result, filename }) => {
this.store.dispatch(actions.readStream(this.connection.id, this.feature, result))
this.store.dispatch(actions.setName(this.connection.id, this.feature, filename))
},
)
this.addElement(
new Group(this, {
format: Group.Format.Table,
children: [input],
}),
)
}
}