mitjajez/SONCE

View on GitHub
imports/ui/components/flex-tabs/netlist.js

Summary

Maintainability
A
2 hrs
Test Coverage
import { Template } from 'meteor/peerlibrary:blaze-components';

import { Circuits } from '../../../api/circuits/circuits.js';
import { Elements } from '../../../api/elements/elements.js';
import { Wires } from '../../../api/wires/wires.js';

import './netlist.html';

Template.Netlist.onCreated(function circuitsInfoOnCreated() {
  this.getCircuitId = () => FlowRouter.getParam('_id');

  this.autorun(() => {
    this.subscribe('elements.inCircuit', this.getCircuitId());
    this.subscribe('wires.inCircuit', this.getCircuitId());

    const cid = this.getCircuitId();
    const q = Wires
      .find(
        { 'cid': cid },
        { fields: {'name': 1} }
      )
      .map((w) => {
        return w.name;
      });
      const nets = _.uniq(q)
  });

});

Template.Netlist.onRendered(function circuitsInfoOnRendered() {
});

Template.Netlist.helpers({
  elements() {
    const cid = Template.instance().getCircuitId();
    return Elements.find({ 'cid': cid });
  },
  nets() {
    const cid = Template.instance().getCircuitId();
    const q = Wires
      .find(
        { 'cid': cid },
        { fields: {'name': 1} }
      )
      .map((w) => {
        return w.name;
      });
    return _.uniq(q)
  },
  wires(net) {
    const cid = Template.instance().getCircuitId();
    return Wires.find({ 'cid': cid, 'name': net });
  }
});

Template.Netlist.events({
});